[jira] [Commented] (HBASE-10810) LoadTestTool should share the connection and connection pool

2014-06-28 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10810?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14046749#comment-14046749
 ] 

Hudson commented on HBASE-10810:


FAILURE: Integrated in HBase-TRUNK #5245 (See 
[https://builds.apache.org/job/HBase-TRUNK/5245/])
HBASE-10810 LoadTestTool should share the connection and connection pool (enis: 
rev 25baace0dec1fc4f3b5fb51292c8ec8a6da85ba0)
* 
hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestTimeBoundedRequestsWithRegionReplicas.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedReaderWithACL.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedWriterWithACL.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedWriter.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedWriterBase.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedReader.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedAction.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedUpdaterWithACL.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedUpdater.java


 LoadTestTool should share the connection and connection pool
 

 Key: HBASE-10810
 URL: https://issues.apache.org/jira/browse/HBASE-10810
 Project: HBase
  Issue Type: Sub-task
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 0.99.0, hbase-10070

 Attachments: 
 0038-HBASE-10810-LoadTestTool-should-share-the-connection.patch, 
 hbase-10810_v1.patch


 While running the IT test from HBASE-10572, we've noticed that the number of 
 threads jumps to 4K's when CM actions are going on. 
 Our [~ndimiduk] summarizes the problem quite good: 
 MultiThreadedReader creates this pool for each HTable:
 {code}
 ThreadPoolExecutor pool = new ThreadPoolExecutor(1, maxThreads, 
 keepAliveTime, TimeUnit.SECONDS,
 new SynchronousQueueRunnable(), 
 Threads.newDaemonThreadFactory(htable));
 {code}
 This comes from the HTable creation
 {code}  
 public HTable(Configuration conf, final TableName tableName)
 {code}
 As well the javadoc says Recommended.
 This is wrong.
 In this issue we can change the LTT sub classes to use the shared connection 
 object and initialize their tables using HConnection.getTable() rather than 
 new HTable(). 
 This is relevant to trunk as well, but there since there is only one 
 outstanding RPC per thread, it is not such a big problem. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10810) LoadTestTool should share the connection and connection pool

2014-06-27 Thread Enis Soztutar (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10810?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14046638#comment-14046638
 ] 

Enis Soztutar commented on HBASE-10810:
---

Attaching rebased patch for master that is committed

 LoadTestTool should share the connection and connection pool
 

 Key: HBASE-10810
 URL: https://issues.apache.org/jira/browse/HBASE-10810
 Project: HBase
  Issue Type: Sub-task
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: hbase-10070

 Attachments: 
 0038-HBASE-10810-LoadTestTool-should-share-the-connection.patch, 
 hbase-10810_v1.patch


 While running the IT test from HBASE-10572, we've noticed that the number of 
 threads jumps to 4K's when CM actions are going on. 
 Our [~ndimiduk] summarizes the problem quite good: 
 MultiThreadedReader creates this pool for each HTable:
 {code}
 ThreadPoolExecutor pool = new ThreadPoolExecutor(1, maxThreads, 
 keepAliveTime, TimeUnit.SECONDS,
 new SynchronousQueueRunnable(), 
 Threads.newDaemonThreadFactory(htable));
 {code}
 This comes from the HTable creation
 {code}  
 public HTable(Configuration conf, final TableName tableName)
 {code}
 As well the javadoc says Recommended.
 This is wrong.
 In this issue we can change the LTT sub classes to use the shared connection 
 object and initialize their tables using HConnection.getTable() rather than 
 new HTable(). 
 This is relevant to trunk as well, but there since there is only one 
 outstanding RPC per thread, it is not such a big problem. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10810) LoadTestTool should share the connection and connection pool

2014-06-27 Thread Enis Soztutar (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10810?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14046686#comment-14046686
 ] 

Enis Soztutar commented on HBASE-10810:
---

Committed to master as part of hbase-10070 branch merge

 LoadTestTool should share the connection and connection pool
 

 Key: HBASE-10810
 URL: https://issues.apache.org/jira/browse/HBASE-10810
 Project: HBase
  Issue Type: Sub-task
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 0.99.0, hbase-10070

 Attachments: 
 0038-HBASE-10810-LoadTestTool-should-share-the-connection.patch, 
 hbase-10810_v1.patch


 While running the IT test from HBASE-10572, we've noticed that the number of 
 threads jumps to 4K's when CM actions are going on. 
 Our [~ndimiduk] summarizes the problem quite good: 
 MultiThreadedReader creates this pool for each HTable:
 {code}
 ThreadPoolExecutor pool = new ThreadPoolExecutor(1, maxThreads, 
 keepAliveTime, TimeUnit.SECONDS,
 new SynchronousQueueRunnable(), 
 Threads.newDaemonThreadFactory(htable));
 {code}
 This comes from the HTable creation
 {code}  
 public HTable(Configuration conf, final TableName tableName)
 {code}
 As well the javadoc says Recommended.
 This is wrong.
 In this issue we can change the LTT sub classes to use the shared connection 
 object and initialize their tables using HConnection.getTable() rather than 
 new HTable(). 
 This is relevant to trunk as well, but there since there is only one 
 outstanding RPC per thread, it is not such a big problem. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10810) LoadTestTool should share the connection and connection pool

2014-05-16 Thread Devaraj Das (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10810?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13998271#comment-13998271
 ] 

Devaraj Das commented on HBASE-10810:
-

+1

 LoadTestTool should share the connection and connection pool
 

 Key: HBASE-10810
 URL: https://issues.apache.org/jira/browse/HBASE-10810
 Project: HBase
  Issue Type: Sub-task
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: hbase-10070

 Attachments: hbase-10810_v1.patch


 While running the IT test from HBASE-10572, we've noticed that the number of 
 threads jumps to 4K's when CM actions are going on. 
 Our [~ndimiduk] summarizes the problem quite good: 
 MultiThreadedReader creates this pool for each HTable:
 {code}
 ThreadPoolExecutor pool = new ThreadPoolExecutor(1, maxThreads, 
 keepAliveTime, TimeUnit.SECONDS,
 new SynchronousQueueRunnable(), 
 Threads.newDaemonThreadFactory(htable));
 {code}
 This comes from the HTable creation
 {code}  
 public HTable(Configuration conf, final TableName tableName)
 {code}
 As well the javadoc says Recommended.
 This is wrong.
 In this issue we can change the LTT sub classes to use the shared connection 
 object and initialize their tables using HConnection.getTable() rather than 
 new HTable(). 
 This is relevant to trunk as well, but there since there is only one 
 outstanding RPC per thread, it is not such a big problem. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10810) LoadTestTool should share the connection and connection pool

2014-04-30 Thread Enis Soztutar (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10810?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13986255#comment-13986255
 ] 

Enis Soztutar commented on HBASE-10810:
---

Thanks Nick for the review. 
bq. What's unclear to me is how the 100 reader threads will contend for the (up 
to) 256 threads in the shared pool used by all HTables for the connection
In case this becomes a problem, we can increase the default pool side that the 
LTT connection is using.

 LoadTestTool should share the connection and connection pool
 

 Key: HBASE-10810
 URL: https://issues.apache.org/jira/browse/HBASE-10810
 Project: HBase
  Issue Type: Sub-task
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: hbase-10070

 Attachments: hbase-10810_v1.patch


 While running the IT test from HBASE-10572, we've noticed that the number of 
 threads jumps to 4K's when CM actions are going on. 
 Our [~ndimiduk] summarizes the problem quite good: 
 MultiThreadedReader creates this pool for each HTable:
 {code}
 ThreadPoolExecutor pool = new ThreadPoolExecutor(1, maxThreads, 
 keepAliveTime, TimeUnit.SECONDS,
 new SynchronousQueueRunnable(), 
 Threads.newDaemonThreadFactory(htable));
 {code}
 This comes from the HTable creation
 {code}  
 public HTable(Configuration conf, final TableName tableName)
 {code}
 As well the javadoc says Recommended.
 This is wrong.
 In this issue we can change the LTT sub classes to use the shared connection 
 object and initialize their tables using HConnection.getTable() rather than 
 new HTable(). 
 This is relevant to trunk as well, but there since there is only one 
 outstanding RPC per thread, it is not such a big problem. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10810) LoadTestTool should share the connection and connection pool

2014-03-21 Thread Nick Dimiduk (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10810?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13943764#comment-13943764
 ] 

Nick Dimiduk commented on HBASE-10810:
--

[~nkeywal] and I came to the same conclusion simultaneously. I think the test 
should be using a single pool for all tables it creates, instead of using this 
HTable constructor with it's managed pool. In general, I think the HTable 
constructor is dangerous for anything but a one-off and should be removed (see 
HBASE-9117).

 LoadTestTool should share the connection and connection pool
 

 Key: HBASE-10810
 URL: https://issues.apache.org/jira/browse/HBASE-10810
 Project: HBase
  Issue Type: Sub-task
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: hbase-10070


 While running the IT test from HBASE-10572, we've noticed that the number of 
 threads jumps to 4K's when CM actions are going on. 
 Our [~ndimiduk] summarizes the problem quite good: 
 MultiThreadedReader creates this pool for each HTable:
 {code}
 ThreadPoolExecutor pool = new ThreadPoolExecutor(1, maxThreads, 
 keepAliveTime, TimeUnit.SECONDS,
 new SynchronousQueueRunnable(), 
 Threads.newDaemonThreadFactory(htable));
 {code}
 This comes from the HTable creation
 {code}  
 public HTable(Configuration conf, final TableName tableName)
 {code}
 As well the javadoc says Recommended.
 This is wrong.
 In this issue we can change the LTT sub classes to use the shared connection 
 object and initialize their tables using HConnection.getTable() rather than 
 new HTable(). 
 This is relevant to trunk as well, but there since there is only one 
 outstanding RPC per thread, it is not such a big problem. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10810) LoadTestTool should share the connection and connection pool

2014-03-21 Thread Nick Dimiduk (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10810?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13943810#comment-13943810
 ] 

Nick Dimiduk commented on HBASE-10810:
--

+1 this should resolve the problem of creating so many pools with so many 
threads in total.

What's unclear to me is how the 100 reader threads will contend for the (up to) 
256 threads in the shared pool used by all HTables for the connection. I need a 
more thorough understanding of AsyncProcess...

 LoadTestTool should share the connection and connection pool
 

 Key: HBASE-10810
 URL: https://issues.apache.org/jira/browse/HBASE-10810
 Project: HBase
  Issue Type: Sub-task
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: hbase-10070

 Attachments: hbase-10810_v1.patch


 While running the IT test from HBASE-10572, we've noticed that the number of 
 threads jumps to 4K's when CM actions are going on. 
 Our [~ndimiduk] summarizes the problem quite good: 
 MultiThreadedReader creates this pool for each HTable:
 {code}
 ThreadPoolExecutor pool = new ThreadPoolExecutor(1, maxThreads, 
 keepAliveTime, TimeUnit.SECONDS,
 new SynchronousQueueRunnable(), 
 Threads.newDaemonThreadFactory(htable));
 {code}
 This comes from the HTable creation
 {code}  
 public HTable(Configuration conf, final TableName tableName)
 {code}
 As well the javadoc says Recommended.
 This is wrong.
 In this issue we can change the LTT sub classes to use the shared connection 
 object and initialize their tables using HConnection.getTable() rather than 
 new HTable(). 
 This is relevant to trunk as well, but there since there is only one 
 outstanding RPC per thread, it is not such a big problem. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)