You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@omid.apache.org by "Francisco Perez-Sorrosal (JIRA)" <ji...@apache.org> on 2016/08/18 00:42:20 UTC

[jira] [Created] (OMID-54) Leak in Compactor Coprocessor that creates an increasing number of idle threads

Francisco Perez-Sorrosal created OMID-54:
--------------------------------------------

             Summary: Leak in Compactor Coprocessor that creates an increasing number of idle threads  
                 Key: OMID-54
                 URL: https://issues.apache.org/jira/browse/OMID-54
             Project: Apache Omid
          Issue Type: Bug
    Affects Versions: 0.8.2.0
            Reporter: Francisco Perez-Sorrosal
            Assignee: Francisco Perez-Sorrosal
             Fix For: 0.8.3.0


The use of an structure to reuse CommitTable.Client objects has introduced a side effect that creates an increasing number of those objects, which in turn contain idle threads that are connected to HBase.

This is what is observed with jstack:

Thread 3047696 (omid-completor-0):
  State: WAITING
  Blocked count: 0
  Waited count: 1
  Waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76e5b0a
  Stack:
    sun.misc.Unsafe.park(Native Method)
    java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:403)
    com.yahoo.omid.committable.hbase.HBaseCommitTable$HBaseClient.run(HBaseCommitTable.java:221)
    java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    java.util.concurrent.FutureTask.run(FutureTask.java:266)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    java.lang.Thread.run(Thread.java:745)
Thread 3047652 (omid-completor-0):
  State: WAITING
  Blocked count: 0
  Waited count: 1
  Waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@6e27d8fb
  Stack:
    sun.misc.Unsafe.park(Native Method)
    java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:403)
    com.yahoo.omid.committable.hbase.HBaseCommitTable$HBaseClient.run(HBaseCommitTable.java:221)
    java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    java.util.concurrent.FutureTask.run(FutureTask.java:266)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    java.lang.Thread.run(Thread.java:745)
Thread 3041861 (omid-completor-0):
  State: WAITING
  Blocked count: 0
  Waited count: 1
  Waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@5a279424
  Stack:
    sun.misc.Unsafe.park(Native Method)
    java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:403)
    com.yahoo.omid.committable.hbase.HBaseCommitTable$HBaseClient.run(HBaseCommitTable.java:221)
    java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    java.util.concurrent.FutureTask.run(FutureTask.java:266)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    java.lang.Thread.run(Thread.java:745)
Thread 3041286 (omid-completor-0):
  State: WAITING
  Blocked count: 0
  Waited count: 2
  Waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@536fd78
  Stack:
    sun.misc.Unsafe.park(Native Method)
    java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:403)
    com.yahoo.omid.committable.hbase.HBaseCommitTable$HBaseClient.run(HBaseCommitTable.java:221)
    java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    java.util.concurrent.FutureTask.run(FutureTask.java:266)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    java.lang.Thread.run(Thread.java:745)

...



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)