@Ram , Yes this is the same issue.. I got the reason.
The scenario is like this as in our test.
There is one table and there was a case of one region of that table was not assigned with any of the RS. HBCK tool fixing this issue. After that HBCK will run again.
At this time getHTableDescriptors () is not finding any table in the cluster and return null and so reportTablesInFlux() -> errors.print("Number of Tables: " + allTables.length); gives a NPE
Why at this time no tables getting out of getHTableDescriptors () [Even though one table is there in the cluster is] this table is modified recently. HBCK just changed the HRegionInfo of the region of the table by assigning it to one of the RS.
1. We need null check in reportTablesInFlux() I think
2. When HBCK rerun after the fix we can set timelag =0?