This is an automated email from the ASF dual-hosted git repository.
jokser pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new b04b14b IGNITE-10771 Print troubleshooting hint when exchange latch
is stuck. - Fixes #6968.
b04b14b is described below
commit b04b14bbe6bb173391507eaed2de28997b180485
Author: Pavel Kovalenko <[email protected]>
AuthorDate: Tue Oct 15 18:01:54 2019 +0300
IGNITE-10771 Print troubleshooting hint when exchange latch is stuck. -
Fixes #6968.
Signed-off-by: Pavel Kovalenko <[email protected]>
---
.../dht/preloader/GridDhtPartitionsExchangeFuture.java | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index 88399e7..297c408 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -1789,6 +1789,16 @@ public class GridDhtPartitionsExchangeFuture extends
GridDhtTopologyFutureAdapte
return;
try {
+ String troubleshootingHint;
+
+ if (crd.isLocal())
+ troubleshootingHint = "Some nodes have not sent
acknowledgement for latch completion. "
+ + "It's possible due to unfinishined atomic updates,
transactions "
+ + "or not released explicit locks on that nodes. "
+ + "Please check logs for errors on nodes with ids reported
in latch `pendingAcks` collection";
+ else
+ troubleshootingHint = "For more details please check
coordinator node logs [crdNode=" + crd.toString() + "]";
+
while (true) {
try {
cctx.exchange().exchangerBlockingSectionBegin();
@@ -1806,7 +1816,8 @@ public class GridDhtPartitionsExchangeFuture extends
GridDhtTopologyFutureAdapte
break;
}
catch (IgniteFutureTimeoutCheckedException ignored) {
- U.warn(log, "Unable to await partitions release latch
within timeout: " + releaseLatch);
+ U.warn(log, "Unable to await partitions release latch
within timeout. "
+ + troubleshootingHint + " [latch=" + releaseLatch +
"]");
// Try to resend ack.
releaseLatch.countDown();