Details
Description
Ignite newcomers tend to stumble on deadlocks simply because the keys are passed in an unordered HashMap. Propose to do the following:
- update bulk operations Java docs.
- print out a warning if not SortedMap (e.g. HashMap, Weak/Identity/Concurrent/Linked HashMap etc) is passed into
a bulk method (instead of SortedMap) and contains more than 1 element. However, we should make sure that we only print that warning once and not every time the API is called. - do not produce warning for explicit optimistic transactions
More details are here:
http://apache-ignite-developers.2346864.n4.nabble.com/Re-Ignite-2-0-0-GridUnsafe-unmonitor-td23706.html
Attachments
Issue Links
- blocks
-
IGNITE-12365 Concurrent removeAll() on the same cache leads to deadlock
- Resolved
- is blocked by
-
IGNITE-12451 Introduce deadlock detection for cache entry reentrant locks
- Resolved
- is duplicated by
-
IGNITE-11558 Developer warning when HashMap is passed to putAll()
- Resolved
- is related to
-
IGNITE-13653 Don't print warning if unordered map used for bulk update operation on atomic cache
- Resolved
- relates to
-
IGNITE-13706 Thin Client Put_All uses LinkedHashMap, causes warning and may deadlock
- Open
-
IGNITE-12296 .NET: Implement Log Throttle and print warning for unsafe PutAll ops
- Open
-
IGNITE-7608 Sort keys in putAll/removeAll methods
- Resolved
- links to