kadirozde commented on a change in pull request #891:
URL: https://github.com/apache/phoenix/pull/891#discussion_r493785508



##########
File path: 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/IndexRebuildRegionScanner.java
##########
@@ -768,7 +768,8 @@ public boolean verifySingleIndexRow(Result indexRow, 
IndexToolVerificationResult
                 }
             } else {
                 byte[] dataKey = indexMaintainer.buildDataRowKey(new 
ImmutableBytesWritable(indexRow.getRow()), viewConstants);
-                String errorMsg = "Not matching index row";
+                String errorMsg = String.format("Not matching index row. 
matchingCount=0. expectedIndex=%d. expectedMutationSize=%d. actualIndex=%d. 
actualMutationSize=%d. expectedTs=%d. actualTs=%d",

Review comment:
       @gokceni, this fix is not correct and will not be very useful for 
troubleshooting. First, the check actual == null is not meaningful here. You 
need to check if actualIndex < actualSIze then actual is useful and we should 
report the type of actual (put or delete) and the timestamp of the actual.  I 
still think we absolutely should not include the timestamps in the error 
message as we have separate columns for them. In the following line 
expectedMutationList.get(0)) should be replaced by getTimestamp(expected)). 
expected cannot be null here. If actualIndex < actualSIze then 
getTimestamp(actual)) should be reported instead of 0L.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to