in ratis-logservice/src/main/java/org/apache/ratis/logservice/tool/VerificationTool.java [391:418]
public void run() {
try {
LogStream logStream = getClient().getLog(getLogName());
LogReader reader = logStream.createReader();
long size = logStream.getLength();
if(size != getNumRecords()) {
LOG.error("There is mismatch is number of records. Expected Records: "+
getNumRecords() +", Actual Records: " + size);
System.exit(-1);
}
for (int i = 0; i < size; i++) {
ByteBuffer buffer = reader.readNext();
String message = parseValue(buffer);
if (i % getLogFreq() == 0) {
LOG.info(getLogName() + " Read " + message);
}
if(!message.equals(MESSAGE_PREFIX + i)) {
LOG.error("Message is not correct. Expected: "+(MESSAGE_PREFIX + i)
+". Actual:" +message);
System.exit(-1);
}
}
LOG.info("{} log entries read from log {} successfully.", getNumRecords(), getLogName());
reader.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}