Konstantin Shvachko Thanks for your comments.
1. Actually context is not a parameter of the private method processReport, see the code as below:
invalidatedBlocks = processReport(storageInfo, newReport,
context != null ? context.isSorted() : false, strBlockReportId);
context is used in ternary expression, so I keep this change in my patch.
Also did you miss "Processing first storage report ..."?
It's printed by process log, not block blog. But it's good to print block id here.
I uploaded v3 patch to address your comments, hope to get your thoughts. Thanks again for your time.