Val, it seems you spotted and issue. Please file a ticket - I would suggest
to remove the exceptions entirely as in my understanding timeout logic for
atomic operation will bring additional overhead, but most of the time
atomic operations are instant. From timeout perspective, what differs
atomic operation from a transaction is that you cannot predict when user
releases lock he acquired inside a transaction, but atomic operation should
have predictable timeout.

As far as your example. Currently, this will lead to java-level deadlock on
synchronized sections for the cache entries (but when we move to pure
thread-per-partition for atomic caches this will not be an issue any more
https://issues.apache.org/jira/browse/IGNITE-4506). I would suggest we file
a ticket to implement detection of java-level deadlock and allow user to
configure policy to take appropriate action on deadlock wherever it happens
- https://issues.apache.org/jira/browse/IGNITE-5811

Any other hang of the atomic operation seem to be caused by issues in
Ignite's internal machinery - either hanged exchange or problems in message
processing on some node (e.g. all threads are busy and/or in deadlock)
which again should result in notifying user and stopping node (by default).

--Yakov

Reply via email to