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();

Reply via email to