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