ID | IEP-70 |
Author | |
Sponsor | |
Created |
|
Status | DRAFT |
Cache and Compute async operations invoke the future listeners on Ignite thread pools, such as Public pool and Striped pool:
IgniteFuture fut = cache.putAsync(1, 1); fut.listen(f -> { // Executes on Striped pool and causes a deadlock cache.replace(1, 2); });
Users are supposed to be aware of this and handle it manually, however:
The problem is more pronounced in Ignite.NET:
// Provide the design of the solution.
// Describe project risks, such as API or binary compatibility issues, major protocol changes, etc.
// Links to discussions on the devlist, if applicable.
// Links to various reference documents, if applicable.