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]