jstack, затем я увидел следующую информацию и, похоже, некоторые проблемы из log4j.
Первый стек, который вы увидите, пул потоков-5- thread-152 ждал 0x00007f33727ec000:
"pool-5-thread-152" #5674 prio=5 os_prio=0 tid=0x0000000008278800 nid=0x12eef waiting for monitor entry [0x00007f33727ec000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.apache.log4j.Category.callAppenders(Category.java:204)
- waiting to lock <0x00000000f8065578> (a org.apache.log4j.spi.RootLogger)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.log(Category.java:856)
at org.apache.commons.logging.impl.Log4JLogger.error(Log4JLogger.java:229)
at org.apache.hadoop.hbase.client.transactional.TransactionalScanner.next(TransactionalScanner.java:306)
at org.apache.hadoop.hbase.client.AbstractClientScanner.next(AbstractClientScanner.java:70)
at org.trafodion.sql.HTableClient$ScanHelper.call(HTableClient.java:306)
at org.trafodion.sql.HTableClient$ScanHelper.call(HTableClient.java:304)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Затем я нашел 2-й стек, как вы видите, он находится в состоянии RUNNING. Даже после длительного выполнения jstack у вас будет такая же трассировка стека. Кажется, это что-то вроде docker проблемы с консолью или проблемы с log4j. Я не знаю. Но я посмотрел в Google, большая часть ответа - обновить docker до 18.03, моя версия - 19.03.6. Были парни, которые говорили что-то, освобождая log4j мертвый замок.
"Thread-13" #91 prio=5 os_prio=0 tid=0x0000000006aec800 nid=0xecb4 runnable [0x00007f336e2a7000]
java.lang.Thread.State: RUNNABLE
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:326)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
- locked <0x00000000f8075898> (a java.io.BufferedOutputStream)
at java.io.PrintStream.write(PrintStream.java:482)
- locked <0x00000000f8075878> (a java.io.PrintStream)
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
- locked <0x00000000f8075860> (a java.io.OutputStreamWriter)
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
at org.apache.log4j.helpers.QuietWriter.flush(QuietWriter.java:59)
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:324)
at org.apache.log4j.WriterAppender.append(WriterAppender.java:162)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
- locked <0x00000000f8074e58> (a org.apache.log4j.ConsoleAppender)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
at org.apache.log4j.Category.callAppenders(Category.java:206)
- locked <0x00000000f8065578> (a org.apache.log4j.spi.RootLogger)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.info(Category.java:666)
at org.trafodion.sql.HBaseClient.reconnect(HBaseClient.java:301)