Please apply this patch: https://issues.apache.org/jira/browse/HBASE-24099,
if you couldn't do any version upgrade

After that, you can tune *hbase.regionserver.executor.closeregion.threads*
and *hbase.regionserver.executor.openregion.threads* to speed up close/open
regions.

---

Best Regards,
R.C


On Sun, Aug 6, 2023 at 12:11 PM Manimekalai Kunjithapatham <
k.manimeka...@gmail.com> wrote:

> Dear Team,
>
> In one of the Hbase Cluster, occasionally the some of the region has been
> stuck in PENDING_CLOSE state for long time. After that I need to restart
> particular region server holding region and the only it resolves.
>
> The cluster has write loaded as this cluster which receives replication
> from another cluster.
>
> The HBase version is 1.2.6.
>
> Please help to solve this issue
>
> Below is the thread dump
>
> regionserver//10.x.x.x:16020-shortCompactions-1691219096144" daemon prio=10
> tid=0x00007f07b06a8000 nid=0x38ff9 runnable [0x00007f0741f21000]
>
>    java.lang.Thread.State: RUNNABLE
>
>         at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
>
>         at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
>
>         at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79)
>
>         at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
>
>         - locked <0x00000005418009f8> (a sun.nio.ch.Util$2)
>
>         - locked <0x0000000541800a08> (a
> java.util.Collections$UnmodifiableSet)
>
>         - locked <0x00000005418009b0> (a sun.nio.ch.EPollSelectorImpl)
>
>         at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
>
>         at
> org.apache.hadoop.net
> .SocketIOWithTimeout$SelectorPool.select(SocketIOWithTimeout.java:335)
>
>         at
> org.apache.hadoop.net
> .SocketIOWithTimeout.doIO(SocketIOWithTimeout.java:157)
>
>         at
> org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:161)
>
>         at
>
> org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.readChannelFully(PacketReceiver.java:258)
>
>         at
>
> org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.doReadFully(PacketReceiver.java:209)
>
>         at
>
> org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.doRead(PacketReceiver.java:171)
>
>         at
>
> org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.receiveNextPacket(PacketReceiver.java:102)
>
>         at
>
> org.apache.hadoop.hdfs.RemoteBlockReader2.readNextPacket(RemoteBlockReader2.java:186)
>
>         at
> org.apache.hadoop.hdfs.RemoteBlockReader2.read(RemoteBlockReader2.java:146)
>
>         - locked <0x00000004c986b3c0> (a
> org.apache.hadoop.hdfs.RemoteBlockReader2)
>
>         at
>
> org.apache.hadoop.hdfs.DFSInputStream$ByteArrayStrategy.doRead(DFSInputStream.java:686)
>
>         at
> org.apache.hadoop.hdfs.DFSInputStream.readBuffer(DFSInputStream.java:742)
>
>         - eliminated <0x00000004c986b358> (a
> org.apache.hadoop.hdfs.DFSInputStream)
>
>         at
>
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:799)
>
>         at
> org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:840)
>
>         - locked <0x00000004c986b358> (a
> org.apache.hadoop.hdfs.DFSInputStream)
>
>         at java.io.DataInputStream.read(DataInputStream.java:149)
>
>         at
> org.apache.hadoop.hbase.io
> .hfile.HFileBlock.readWithExtra(HFileBlock.java:709)
>
>         at
> org.apache.hadoop.hbase.io
> .hfile.HFileBlock$AbstractFSReader.readAtOffset(HFileBlock.java:1440)
>
>         at
> org.apache.hadoop.hbase.io
> .hfile.HFileBlock$FSReaderImpl.readBlockDataInternal(HFileBlock.java:1648)
>
>         at
> org.apache.hadoop.hbase.io
> .hfile.HFileBlock$FSReaderImpl.readBlockData(HFileBlock.java:1532)
>
>         at
> org.apache.hadoop.hbase.io
> .hfile.HFileReaderV2.readBlock(HFileReaderV2.java:452)
>
>         at
> org.apache.hadoop.hbase.io
> .hfile.HFileReaderV2$AbstractScannerV2.readNextDataBlock(HFileReaderV2.java:729)
>
>         at
> org.apache.hadoop.hbase.io
> .hfile.HFileReaderV2$ScannerV2.isNextBlock(HFileReaderV2.java:854)
>
>         at
> org.apache.hadoop.hbase.io
> .hfile.HFileReaderV2$ScannerV2.positionForNextBlock(HFileReaderV2.java:849)
>
>         at
> org.apache.hadoop.hbase.io
> .hfile.HFileReaderV2$ScannerV2._next(HFileReaderV2.java:866)
>
>         at
> org.apache.hadoop.hbase.io
> .hfile.HFileReaderV2$ScannerV2.next(HFileReaderV2.java:886)
>
>         at
>
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.next(StoreFileScanner.java:154)
>
>         at
>
> org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:111)
>
>         at
>
> org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:588)
>
>         at
>
> org.apache.hadoop.hbase.regionserver.compactions.Compactor.performCompaction(Compactor.java:318)
>
>         at
>
> org.apache.hadoop.hbase.regionserver.compactions.DefaultCompactor.compact(DefaultCompactor.java:111)
>
>         at
>
> org.apache.hadoop.hbase.regionserver.DefaultStoreEngine$DefaultCompactionContext.compact(DefaultStoreEngine.java:119)
>
>         at
> org.apache.hadoop.hbase.regionserver.HStore.compact(HStore.java:1223)
>
>         at
> org.apache.hadoop.hbase.regionserver.HRegion.compact(HRegion.java:1856)
>
>         at
>
> org.apache.hadoop.hbase.regionserver.CompactSplitThread$CompactionRunner.doCompaction(CompactSplitThread.java:525)
>
>         at
>
> org.apache.hadoop.hbase.regionserver.CompactSplitThread$CompactionRunner.run(CompactSplitThread.java:562)
>
>         at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>
>         at java.lang.Thread.run(Thread.java:745)
>
>
> "RS_OPEN_REGION-10.x.x.x:16020-1" prio=10 tid=0x00007f07bb222800
> nid=0x38fd8 waiting on condition [0x00007f074181b000]
>
>    java.lang.Thread.State: WAITING (parking)
>
>         at sun.misc.Unsafe.park(Native Method)
>
>         - parking to wait for  <0x000000018501e9d0> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>
>         at
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
>
>         at
>
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
>
>         at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
>
>         at
>
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
>
>         at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
>
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>
>         at java.lang.Thread.run(Thread.java:745)
>
>
> Regards,
> Manimekalai K
>

Reply via email to