Silent false positive, and enhance real error message 09/1409/1
authorGiovanni Meo <gmeo@cisco.com>
Wed, 25 Sep 2013 08:35:03 +0000 (10:35 +0200)
committerGiovanni Meo <gmeo@cisco.com>
Wed, 25 Sep 2013 09:21:24 +0000 (11:21 +0200)
- With gerrit https://git.opendaylight.org/gerrit/#/c/1366/ i have
introduced a log error, to spot inconsistent hashcode but indeed it
turn out is getting exercised also during a normal code path,
basically when:
 <command orginator> --> <key owner> --> <all the other members>

all the other members when getting the replication from the non-key
owner will end up in this case. So that cannot be actually considered
an error.

Change-Id: Id38b45066164cb4998fdcdbb356bdf7af720b8c5
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
opendaylight/clustering/services_implementation/src/main/java/org/infinispan/interceptors/distribution/BaseDistributionInterceptor.java
opendaylight/forwardingrulesmanager/implementation/src/main/java/org/opendaylight/controller/forwardingrulesmanager/internal/FlowEntryDistributionOrderFutureTask.java

index e105637..6c6715d 100644 (file)
@@ -134,9 +134,9 @@ public abstract class BaseDistributionInterceptor extends ClusteringInterceptor
                 rpcManager.invokeRemotely(recipientGenerator.generateRecipients(), command,
                         rpcManager.getDefaultRpcOptions(isSync));
             } else {
-                log.errorf("Didn't invoke RPC because primaryOwner (%s) didn't match this node (%s)", primaryOwner,
+                log.tracef("Didn't invoke RPC because primaryOwner (%s) didn't match this node (%s)", primaryOwner,
                            rpcManager.getAddress());
-                log.errorf("Hashcode is (%s) for Key (%s) .. it could be inconsistent in the cluster!",
+                log.tracef("Hashcode is (%s) for Key (%s)",
                            command.getKey().hashCode(), command.getKey());
             }
          return returnValue;
index a51409f..0c105ba 100644 (file)
@@ -87,7 +87,8 @@ final class FlowEntryDistributionOrderFutureTask implements Future<Status> {
             // Return the known status
             return retStatus;
         } else {
-            logger.error("Timing out, the workStatus for order {} has not come back in time!", this.order);
+            logger.error("Timing out, the workStatus for order {} has not come back in time!, it's hashcode is {}",
+                    this.order, this.order.hashCode());
             return new Status(StatusCode.TIMEOUT);
         }
     }