You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@omid.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/08/18 01:05:20 UTC

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

    [ https://issues.apache.org/jira/browse/OMID-54?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15425697#comment-15425697 ] 

ASF GitHub Bot commented on OMID-54:
------------------------------------

GitHub user francisco-perez-sorrosal opened a pull request:

    https://github.com/apache/incubator-omid/pull/8

    [OMID-54] Fix leak of CommitTable.Client objects in Compactor Coproce…

    …ssor
    
    Now, each time preCompact() is called, a new CommitTable.Client object is created.
    A factory for CommitTable clients has been created in order to allow to inject mocked
    instances in Coprocessor tests.
    
    Change-Id: If32f3b09b68c61f4f6d573feeb89080b04f1bfe4

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/francisco-perez-sorrosal/incubator-omid omid-54

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-omid/pull/8.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #8
    
----
commit b1749caf0b25aa92c781af255c9df67176b31e9d
Author: Francisco Perez-Sorrosal <fp...@yahoo-inc.com>
Date:   2016-08-18T01:00:44Z

    [OMID-54] Fix leak of CommitTable.Client objects in Compactor Coprocessor
    
    Now, each time preCompact() is called, a new CommitTable.Client object is created.
    A factory for CommitTable clients has been created in order to allow to inject mocked
    instances in Coprocessor tests.
    
    Change-Id: If32f3b09b68c61f4f6d573feeb89080b04f1bfe4

----


> 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)