hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chang Chen <baibaic...@gmail.com>
Subject About HBASE-12949 - Scanner can be stuck in infinite loop if the HFile is corrupted
Date Mon, 28 Nov 2016 09:37:21 GMT
Hi jerry

we met the similar issue with  HBASE-12949, I guess compaction thread is in
the endless loop, because the CPU load is quite higher than usual.

However, I can not understand why KeyValueHeap.generalizedSeek() has a
endless loop,  from the codes:

      boolean seekResult;
      if (isLazy && heap.size() > 0) {
        // If there is only one scanner left, we don't do lazy seek.
        seekResult = scanner.requestSeek(seekKey, forward, useBloom);
      } else {
        seekResult = NonLazyKeyValueScanner.doRealSeek(
            scanner, seekKey, forward);
      }

      if (!seekResult) {
        scanner.close();
      } else {
        heap.add(scanner);
      }

If there is an infinite loop, that means seekResult will always return
true, why is it possible?  what happen if the seek reaches end?

Tnanks
Chang

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message