[
https://issues.apache.org/jira/browse/IGNITE-21644?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Belyak resolved IGNITE-21644.
---------------------------------------
Resolution: Fixed
The problem was that I've use the same Map in two putAllAsync calls. At the
time they actually read the map it contains the same keys - the last batch.
That’s why we have a deadlock.
I’ll close this issue as invalid. Thanks for you time.
> Deadlock prevention makes Java Async APIs (KV/RV) hard to use
> -------------------------------------------------------------
>
> Key: IGNITE-21644
> URL: https://issues.apache.org/jira/browse/IGNITE-21644
> Project: Ignite
> Issue Type: Bug
> Components: persistence
> Affects Versions: 3.0
> Reporter: Alexander Belyak
> Priority: Major
> Labels: ignite-3
>
> # Create table T1
> # Get KeyValue view or Record View
> # Make a batch of 100 rows and call CompletableFuture f =
> view.putAllAsync(null , batch) or view.
> upsertAllAsync(null, batch)
> # Make another batch and compose it with the first CompletableFuture with:
> f.thenCompose(r -> view.putAllAsync(null, newBatch));
> Expected behavior: batch completed sucessfully.
> Actual behavior: Failed to acquire a lock due to a possible deadlock
--
This message was sent by Atlassian Jira
(v8.20.10#820010)