Description
See stacktrace below, runtime ClusterTopologyException has not been catched and causes transaction hanging.
Seems, we should throws some meaningful checked exception and thow it onto primary node.
Reproducer is IgniteCacheIncrementTxTest running in Mvcc mode.
[2018-11-14 22:26:37,099][ERROR][sys-stripe-3-#10280%cache.IgniteCacheIncrementTxTest7%][GridCacheIoManager] Failed to process message [senderId=3774798b-3cbc-4ae1-95d1-745dd3700001, messageType=class o.a.i.i.processors.cache.distributed.dht.GridDhtTxQueryFirstEnlistRequest] class org.apache.ignite.cluster.ClusterTopologyException: Can not reserve partition. Please retry on stable topology. at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.mvccEnlistBatch(IgniteTxHandler.java:1865) at org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.processDhtTxQueryEnlistRequest(GridDhtTransactionalCacheAdapter.java:2301) at org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.access$1100(GridDhtTransactionalCacheAdapter.java:112) at org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$17.apply(GridDhtTransactionalCacheAdapter.java:250) at org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$17.apply(GridDhtTransactionalCacheAdapter.java:248) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1054) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:579) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:100) at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1$2$1.run(GridCacheIoManager.java:274) at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:505) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) at java.lang.Thread.run(Thread.java:748)
Attachments
Issue Links
- Is contained by
-
IGNITE-10468 MVCC TX: Failover
- Resolved
- is related to
-
IGNITE-10254 MVCC: invokeAll may hangs on unstable topology.
- Closed
- relates to
-
IGNITE-9928 MVCC TX: Late affinity assignment support.
- Resolved
- links to