[jira] [Reopened] (HBASE-12762) Region with no hfiles will have the highest locality cost in LocalityCostFunction

2014-12-30 Thread Andrew Purtell (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12762?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell reopened HBASE-12762:


No fix version for 0.98 was set on this issue but it was committed there. 

TestShell is failing on 0.98 since this change, please see 
https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/728 and 
https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/729 

 Region with no hfiles will have the highest locality cost in 
 LocalityCostFunction
 -

 Key: HBASE-12762
 URL: https://issues.apache.org/jira/browse/HBASE-12762
 Project: HBase
  Issue Type: Improvement
  Components: Balancer
Affects Versions: 0.99.2
Reporter: cuijianwei
Assignee: cuijianwei
Priority: Minor
 Fix For: 1.0.0, 2.0.0, 0.98.10, 1.1.0

 Attachments: HBASE-12762-trunk.patch


 The locality cost of region will be computed in LocalityCostFunction.cost as:
 {code}
 double cost() {
 ...
 int index = -1;
 for (int j = 0; j  regionLocations.length; j++) {
   if (regionLocations[j] = 0  regionLocations[j] == serverIndex) {
 index = j;
 break;
   }
 }
 if (index  0) {
   cost += 1;  // == region with no hfiles will have the highest cost
 } else {
   cost += (double) index / (double) regionLocations.length;
 }
 ...
 }
 {code}
 The region with no hfiles(such as empty region) will have the highest cost 
 which represents the worst case that region located in the server with no 
 locality for hfiles. However, this might be the best case because there are 
 no hlogs for the region. Although the absolute cost value won't affect the 
 balance process, will it be more reasonable to have zero cost for such 
 regions? such as:
 {code}
...
 if (index  0) {
   if (regionLocation.length  0) { //  == only consider regions with 
 hfiles
   cost += 1;
   }
 } else {
   cost += (double) index / (double) regionLocations.length;
 }
...
 {code} 



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


[jira] [Commented] (HBASE-12762) Region with no hfiles will have the highest locality cost in LocalityCostFunction

2014-12-30 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12762:


My mistake, please pardon, fix version is fine, it's (phone) operator error on 
my part. Test issue is real though. :-)

 Region with no hfiles will have the highest locality cost in 
 LocalityCostFunction
 -

 Key: HBASE-12762
 URL: https://issues.apache.org/jira/browse/HBASE-12762
 Project: HBase
  Issue Type: Improvement
  Components: Balancer
Affects Versions: 0.99.2
Reporter: cuijianwei
Assignee: cuijianwei
Priority: Minor
 Fix For: 1.0.0, 2.0.0, 0.98.10, 1.1.0

 Attachments: HBASE-12762-trunk.patch


 The locality cost of region will be computed in LocalityCostFunction.cost as:
 {code}
 double cost() {
 ...
 int index = -1;
 for (int j = 0; j  regionLocations.length; j++) {
   if (regionLocations[j] = 0  regionLocations[j] == serverIndex) {
 index = j;
 break;
   }
 }
 if (index  0) {
   cost += 1;  // == region with no hfiles will have the highest cost
 } else {
   cost += (double) index / (double) regionLocations.length;
 }
 ...
 }
 {code}
 The region with no hfiles(such as empty region) will have the highest cost 
 which represents the worst case that region located in the server with no 
 locality for hfiles. However, this might be the best case because there are 
 no hlogs for the region. Although the absolute cost value won't affect the 
 balance process, will it be more reasonable to have zero cost for such 
 regions? such as:
 {code}
...
 if (index  0) {
   if (regionLocation.length  0) { //  == only consider regions with 
 hfiles
   cost += 1;
   }
 } else {
   cost += (double) index / (double) regionLocations.length;
 }
...
 {code} 



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


[jira] [Updated] (HBASE-12772) TestPerColumnFamilyFlush failing

2014-12-30 Thread stack (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12772?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-12772:
--
Attachment: 12772.addendum.txt

Flush the namespace table before we start adding edits so its hanging edit 
won't get in way of test.

Rather than wait 4 seconds, wait on the WAL log count to change (should change 
after successful flush).

Add timeouts on all tests.

Unable to test locally. Trying against hadoopqa.

 TestPerColumnFamilyFlush failing
 

 Key: HBASE-12772
 URL: https://issues.apache.org/jira/browse/HBASE-12772
 Project: HBase
  Issue Type: Bug
  Components: test
Affects Versions: 1.0.0
Reporter: stack
 Attachments: 0001-HBASE-12772-TestPerColumnFamilyFlush-failing.patch, 
 12772.addendum.txt


 On internal rig see this failing in two places:
 {code}
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testFlushingWhenLogRolling
 Failing for the past 1 build (Since Failed#653 )
 Took 9 sec.
 Error Message
 expected:424 but was:205744
 Stacktrace
 java.lang.AssertionError: expected:424 but was:205744
   at org.junit.Assert.fail(Assert.java:88)
   at org.junit.Assert.failNotEquals(Assert.java:743)
   at org.junit.Assert.assertEquals(Assert.java:118)
   at org.junit.Assert.assertEquals(Assert.java:555)
   at org.junit.Assert.assertEquals(Assert.java:542)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testFlushingWhenLogRolling(TestPerColumnFamilyFlush.java:483)
 {code}
 and 
 {code}
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplayWithDistributedReplay
 Failing for the past 1 build (Since Failed#653 )
 Took 25 ms.
 Error Message
 A mini-cluster is already running
 Stacktrace
 java.lang.IllegalStateException: A mini-cluster is already running
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:921)
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:812)
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:794)
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:781)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplay(TestPerColumnFamilyFlush.java:337)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplayWithDistributedReplay(TestPerColumnFamilyFlush.java:418)
 {code}
 Opening issue to keep an eye on these tests.



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


[jira] [Updated] (HBASE-12772) TestPerColumnFamilyFlush failing

2014-12-30 Thread stack (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12772?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-12772:
--
Assignee: stack
  Status: Patch Available  (was: Open)

 TestPerColumnFamilyFlush failing
 

 Key: HBASE-12772
 URL: https://issues.apache.org/jira/browse/HBASE-12772
 Project: HBase
  Issue Type: Bug
  Components: test
Affects Versions: 1.0.0
Reporter: stack
Assignee: stack
 Attachments: 0001-HBASE-12772-TestPerColumnFamilyFlush-failing.patch, 
 12772.addendum.txt


 On internal rig see this failing in two places:
 {code}
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testFlushingWhenLogRolling
 Failing for the past 1 build (Since Failed#653 )
 Took 9 sec.
 Error Message
 expected:424 but was:205744
 Stacktrace
 java.lang.AssertionError: expected:424 but was:205744
   at org.junit.Assert.fail(Assert.java:88)
   at org.junit.Assert.failNotEquals(Assert.java:743)
   at org.junit.Assert.assertEquals(Assert.java:118)
   at org.junit.Assert.assertEquals(Assert.java:555)
   at org.junit.Assert.assertEquals(Assert.java:542)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testFlushingWhenLogRolling(TestPerColumnFamilyFlush.java:483)
 {code}
 and 
 {code}
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplayWithDistributedReplay
 Failing for the past 1 build (Since Failed#653 )
 Took 25 ms.
 Error Message
 A mini-cluster is already running
 Stacktrace
 java.lang.IllegalStateException: A mini-cluster is already running
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:921)
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:812)
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:794)
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:781)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplay(TestPerColumnFamilyFlush.java:337)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplayWithDistributedReplay(TestPerColumnFamilyFlush.java:418)
 {code}
 Opening issue to keep an eye on these tests.



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


[jira] [Commented] (HBASE-12728) buffered writes substantially less useful after removal of HTablePool

2014-12-30 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12728:


My 0.02, it shouldn't be too late for 1.0. Table is a fundamental API and we 
should get it right for a 1.0 release. Let things slip if need be IMHO

 buffered writes substantially less useful after removal of HTablePool
 -

 Key: HBASE-12728
 URL: https://issues.apache.org/jira/browse/HBASE-12728
 Project: HBase
  Issue Type: Bug
  Components: hbase
Affects Versions: 0.98.0
Reporter: Aaron Beppu

 In previous versions of HBase, when use of HTablePool was encouraged, HTable 
 instances were long-lived in that pool, and for that reason, if autoFlush was 
 set to false, the table instance could accumulate a full buffer of writes 
 before a flush was triggered. Writes from the client to the cluster could 
 then be substantially larger and less frequent than without buffering.
 However, when HTablePool was deprecated, the primary justification seems to 
 have been that creating HTable instances is cheap, so long as the connection 
 and executor service being passed to it are pre-provided. A use pattern was 
 encouraged where users should create a new HTable instance for every 
 operation, using an existing connection and executor service, and then close 
 the table. In this pattern, buffered writes are substantially less useful; 
 writes are as small and as frequent as they would have been with 
 autoflush=true, except the synchronous write is moved from the operation 
 itself to the table close call which immediately follows.
 More concretely :
 ```
 // Given these two helpers ...
 private HTableInterface getAutoFlushTable(String tableName) throws 
 IOException {
   // (autoflush is true by default)
   return storedConnection.getTable(tableName, executorService);
 }
 private HTableInterface getBufferedTable(String tableName) throws IOException 
 {
   HTableInterface table = getAutoFlushTable(tableName);
   table.setAutoFlush(false);
   return table;
 }
 // it's my contention that these two methods would behave almost identically,
 // except the first will hit a synchronous flush during the put call,
 and the second will
 // flush during the (hidden) close call on table.
 private void writeAutoFlushed(Put somePut) throws IOException {
   try (HTableInterface table = getAutoFlushTable(tableName)) {
 table.put(somePut); // will do synchronous flush
   }
 }
 private void writeBuffered(Put somePut) throws IOException {
   try (HTableInterface table = getBufferedTable(tableName)) {
 table.put(somePut);
   } // auto-close will trigger synchronous flush
 }
 ```
 For buffered writes to actually provide a performance benefit to users, one 
 of two things must happen:
 - The writeBuffer itself shouldn't live, flush and die with the lifecycle of 
 it's HTableInstance. If the writeBuffer were managed elsewhere and had a long 
 lifespan, this could cease to be an issue. However, if the same writeBuffer 
 is appended to by multiple tables, then some additional concurrency control 
 will be needed around it.
 - Alternatively, there should be some pattern for having long-lived HTable 
 instances. However, since HTable is not thread-safe, we'd need multiple 
 instances, and a mechanism for leasing them out safely -- which sure sounds a 
 lot like the old HTablePool to me.
 See discussion on mailing list here : 
 http://mail-archives.apache.org/mod_mbox/hbase-user/201412.mbox/%3CCAPdJLkEzmUQZ_kvD%3D8mrxi4V%3DhCmUp3g9MUZsddD%2Bmon%2BAvNtg%40mail.gmail.com%3E



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


[jira] [Commented] (HBASE-12728) buffered writes substantially less useful after removal of HTablePool

2014-12-30 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12728:


FWIW, I recently rewrote the YCSB client for HBase because it was setting auto 
flush to off and using large write buffers to collect puts. Unfortunately 
although producing 'excellent' write latency measurements this lead to multiple 
threads flushing deep buffers more or less at the same time, resulting in long 
periods of write unavailability. I'm sure that was an unintended consequence. I 
believe that YCSB client code was written by HBase devs. An earlier era in any 
case, but my point is devs very familiar with the API can get into trouble 
never mind newcomers. Removing buffering from Table and moving it into 
BufferedTable with suitable advice in javadoc there sounds like a good idea to 
me. 

 buffered writes substantially less useful after removal of HTablePool
 -

 Key: HBASE-12728
 URL: https://issues.apache.org/jira/browse/HBASE-12728
 Project: HBase
  Issue Type: Bug
  Components: hbase
Affects Versions: 0.98.0
Reporter: Aaron Beppu

 In previous versions of HBase, when use of HTablePool was encouraged, HTable 
 instances were long-lived in that pool, and for that reason, if autoFlush was 
 set to false, the table instance could accumulate a full buffer of writes 
 before a flush was triggered. Writes from the client to the cluster could 
 then be substantially larger and less frequent than without buffering.
 However, when HTablePool was deprecated, the primary justification seems to 
 have been that creating HTable instances is cheap, so long as the connection 
 and executor service being passed to it are pre-provided. A use pattern was 
 encouraged where users should create a new HTable instance for every 
 operation, using an existing connection and executor service, and then close 
 the table. In this pattern, buffered writes are substantially less useful; 
 writes are as small and as frequent as they would have been with 
 autoflush=true, except the synchronous write is moved from the operation 
 itself to the table close call which immediately follows.
 More concretely :
 ```
 // Given these two helpers ...
 private HTableInterface getAutoFlushTable(String tableName) throws 
 IOException {
   // (autoflush is true by default)
   return storedConnection.getTable(tableName, executorService);
 }
 private HTableInterface getBufferedTable(String tableName) throws IOException 
 {
   HTableInterface table = getAutoFlushTable(tableName);
   table.setAutoFlush(false);
   return table;
 }
 // it's my contention that these two methods would behave almost identically,
 // except the first will hit a synchronous flush during the put call,
 and the second will
 // flush during the (hidden) close call on table.
 private void writeAutoFlushed(Put somePut) throws IOException {
   try (HTableInterface table = getAutoFlushTable(tableName)) {
 table.put(somePut); // will do synchronous flush
   }
 }
 private void writeBuffered(Put somePut) throws IOException {
   try (HTableInterface table = getBufferedTable(tableName)) {
 table.put(somePut);
   } // auto-close will trigger synchronous flush
 }
 ```
 For buffered writes to actually provide a performance benefit to users, one 
 of two things must happen:
 - The writeBuffer itself shouldn't live, flush and die with the lifecycle of 
 it's HTableInstance. If the writeBuffer were managed elsewhere and had a long 
 lifespan, this could cease to be an issue. However, if the same writeBuffer 
 is appended to by multiple tables, then some additional concurrency control 
 will be needed around it.
 - Alternatively, there should be some pattern for having long-lived HTable 
 instances. However, since HTable is not thread-safe, we'd need multiple 
 instances, and a mechanism for leasing them out safely -- which sure sounds a 
 lot like the old HTablePool to me.
 See discussion on mailing list here : 
 http://mail-archives.apache.org/mod_mbox/hbase-user/201412.mbox/%3CCAPdJLkEzmUQZ_kvD%3D8mrxi4V%3DhCmUp3g9MUZsddD%2Bmon%2BAvNtg%40mail.gmail.com%3E



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


[jira] [Commented] (HBASE-12768) Support enable cache_data_on_write in Shell while creating table

2014-12-30 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12768:


+1 for 0.98

 Support enable cache_data_on_write in Shell while creating table
 

 Key: HBASE-12768
 URL: https://issues.apache.org/jira/browse/HBASE-12768
 Project: HBase
  Issue Type: Improvement
  Components: shell
Affects Versions: 1.0.0, 2.0.0, 0.94.27
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
 Fix For: 1.0.0, 2.0.0, 0.98.10

 Attachments: HBASE-12768.patch


 A simple approach to support cache_data_on_write while creating table in 
 shell.



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


[jira] [Commented] (HBASE-12768) Support enable cache_data_on_write in Shell while creating table

2014-12-30 Thread ramkrishna.s.vasudevan (JIRA)

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

ramkrishna.s.vasudevan commented on HBASE-12768:


Pushed to 0.98. Thanks @apurtell.

 Support enable cache_data_on_write in Shell while creating table
 

 Key: HBASE-12768
 URL: https://issues.apache.org/jira/browse/HBASE-12768
 Project: HBase
  Issue Type: Improvement
  Components: shell
Affects Versions: 1.0.0, 2.0.0, 0.94.27
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
 Fix For: 1.0.0, 2.0.0, 0.98.10

 Attachments: HBASE-12768.patch


 A simple approach to support cache_data_on_write while creating table in 
 shell.



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


[jira] [Commented] (HBASE-12772) TestPerColumnFamilyFlush failing

2014-12-30 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-12772:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12689451/12772.addendum.txt
  against master branch at commit 0513a21dc8b86f57b5a6c1b742904821632f77f7.
  ATTACHMENT ID: 12689451

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 3 new 
or modified tests.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 checkstyle{color}.  The applied patch does not increase the 
total number of checkstyle errors

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

 {color:red}-1 core tests{color}.  The patch failed these unit tests:
   
org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12254//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12254//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12254//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12254//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12254//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12254//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12254//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12254//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12254//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12254//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12254//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12254//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12254//artifact/patchprocess/checkstyle-aggregate.html

  Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12254//console

This message is automatically generated.

 TestPerColumnFamilyFlush failing
 

 Key: HBASE-12772
 URL: https://issues.apache.org/jira/browse/HBASE-12772
 Project: HBase
  Issue Type: Bug
  Components: test
Affects Versions: 1.0.0
Reporter: stack
Assignee: stack
 Attachments: 0001-HBASE-12772-TestPerColumnFamilyFlush-failing.patch, 
 12772.addendum.txt


 On internal rig see this failing in two places:
 {code}
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testFlushingWhenLogRolling
 Failing for the past 1 build (Since Failed#653 )
 Took 9 sec.
 Error Message
 expected:424 but was:205744
 Stacktrace
 java.lang.AssertionError: expected:424 but was:205744
   at org.junit.Assert.fail(Assert.java:88)
   at org.junit.Assert.failNotEquals(Assert.java:743)
   at org.junit.Assert.assertEquals(Assert.java:118)
   at org.junit.Assert.assertEquals(Assert.java:555)
   at org.junit.Assert.assertEquals(Assert.java:542)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testFlushingWhenLogRolling(TestPerColumnFamilyFlush.java:483)
 {code}
 and 
 {code}
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplayWithDistributedReplay
 Failing for the past 1 build (Since 

[jira] [Commented] (HBASE-12775) CompressionTest ate my HFile (sigh!)

2014-12-30 Thread Aditya Kishore (JIRA)

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

Aditya Kishore commented on HBASE-12775:


I agree but was trying to be consistent with what is already there. The program 
exits with a SUCCESS on System.out if successful (though it does LOG in other 
places).

May be replace all sysout and syserr with LOG.error() and LOG.info()?

 CompressionTest ate my HFile (sigh!)
 

 Key: HBASE-12775
 URL: https://issues.apache.org/jira/browse/HBASE-12775
 Project: HBase
  Issue Type: Bug
  Components: test
Affects Versions: 0.98.9, 0.99.2
Reporter: Aditya Kishore
Assignee: Aditya Kishore
 Fix For: 2.0.0

 Attachments: HBASE-12775-CompressionTest-ate-my-HFile.patch


 {{org.apache.hadoop.hbase.util.CompressionTest}} should abort execution if 
 the file specified on the command line exists. This will help careless (me) 
 or unsuspecting user to not loose data.



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


[jira] [Updated] (HBASE-12684) Add new AsyncRpcClient

2014-12-30 Thread Jurriaan Mous (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jurriaan Mous updated HBASE-12684:
--
Attachment: HBASE-12684-DEBUG1.patch

[~stack] Thanks! That file was exactly what I needed. :) Didn't know about that 
page with the build artifacts. 

It seems the fail is caused is a NullPointer in an area I thought could never 
be null. Created a new debug patch which probably fixes it and added a Netty 
ResourceLeakDetector since the log was complaining of ByteBuf leaks which I 
didn't have locally. 

 Add new AsyncRpcClient
 --

 Key: HBASE-12684
 URL: https://issues.apache.org/jira/browse/HBASE-12684
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12684-DEBUG1.patch, HBASE-12684-v1.patch, 
 HBASE-12684-v10.patch, HBASE-12684-v11.patch, HBASE-12684-v12.patch, 
 HBASE-12684-v13.patch, HBASE-12684-v14.patch, HBASE-12684-v15.patch, 
 HBASE-12684-v16.patch, HBASE-12684-v17.patch, HBASE-12684-v2.patch, 
 HBASE-12684-v3.patch, HBASE-12684-v4.patch, HBASE-12684-v5.patch, 
 HBASE-12684-v6.patch, HBASE-12684-v7.patch, HBASE-12684-v8.patch, 
 HBASE-12684-v9.patch, HBASE-12684.patch


 With the changes in HBASE-12597 it is possible to add new RpcClients. This 
 issue is about adding a new Async RpcClient which would enable HBase to do 
 non blocking protobuf service communication.
 Besides delivering a new AsyncRpcClient I would also like to ask the question 
 what it would take to replace the current RpcClient? This would enable to 
 simplify async code in some next issues.



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


[jira] [Commented] (HBASE-12684) Add new AsyncRpcClient

2014-12-30 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-12684:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  
http://issues.apache.org/jira/secure/attachment/12689481/HBASE-12684-DEBUG1.patch
  against master branch at commit 0513a21dc8b86f57b5a6c1b742904821632f77f7.
  ATTACHMENT ID: 12689481

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 8 new 
or modified tests.

{color:red}-1 javac{color}.  The patch appears to cause mvn compile goal to 
fail.

Compilation errors resume:
[ERROR] COMPILATION ERROR : 
[ERROR] 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java:[403,35]
 cannot find symbol
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.2:testCompile 
(default-testCompile) on project hbase-server: Compilation failure
[ERROR] 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java:[403,35]
 cannot find symbol
[ERROR] symbol:   variable done
[ERROR] location: class org.apache.hadoop.hbase.client.TestHCM
[ERROR] - [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please 
read the following articles:
[ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn goals -rf :hbase-server


Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12255//console

This message is automatically generated.

 Add new AsyncRpcClient
 --

 Key: HBASE-12684
 URL: https://issues.apache.org/jira/browse/HBASE-12684
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12684-DEBUG1.patch, HBASE-12684-v1.patch, 
 HBASE-12684-v10.patch, HBASE-12684-v11.patch, HBASE-12684-v12.patch, 
 HBASE-12684-v13.patch, HBASE-12684-v14.patch, HBASE-12684-v15.patch, 
 HBASE-12684-v16.patch, HBASE-12684-v17.patch, HBASE-12684-v2.patch, 
 HBASE-12684-v3.patch, HBASE-12684-v4.patch, HBASE-12684-v5.patch, 
 HBASE-12684-v6.patch, HBASE-12684-v7.patch, HBASE-12684-v8.patch, 
 HBASE-12684-v9.patch, HBASE-12684.patch


 With the changes in HBASE-12597 it is possible to add new RpcClients. This 
 issue is about adding a new Async RpcClient which would enable HBase to do 
 non blocking protobuf service communication.
 Besides delivering a new AsyncRpcClient I would also like to ask the question 
 what it would take to replace the current RpcClient? This would enable to 
 simplify async code in some next issues.



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


[jira] [Updated] (HBASE-12684) Add new AsyncRpcClient

2014-12-30 Thread Jurriaan Mous (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jurriaan Mous updated HBASE-12684:
--
Attachment: (was: HBASE-12684-DEBUG1.patch)

 Add new AsyncRpcClient
 --

 Key: HBASE-12684
 URL: https://issues.apache.org/jira/browse/HBASE-12684
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12684-v1.patch, HBASE-12684-v10.patch, 
 HBASE-12684-v11.patch, HBASE-12684-v12.patch, HBASE-12684-v13.patch, 
 HBASE-12684-v14.patch, HBASE-12684-v15.patch, HBASE-12684-v16.patch, 
 HBASE-12684-v17.patch, HBASE-12684-v2.patch, HBASE-12684-v3.patch, 
 HBASE-12684-v4.patch, HBASE-12684-v5.patch, HBASE-12684-v6.patch, 
 HBASE-12684-v7.patch, HBASE-12684-v8.patch, HBASE-12684-v9.patch, 
 HBASE-12684.patch


 With the changes in HBASE-12597 it is possible to add new RpcClients. This 
 issue is about adding a new Async RpcClient which would enable HBase to do 
 non blocking protobuf service communication.
 Besides delivering a new AsyncRpcClient I would also like to ask the question 
 what it would take to replace the current RpcClient? This would enable to 
 simplify async code in some next issues.



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


[jira] [Updated] (HBASE-12684) Add new AsyncRpcClient

2014-12-30 Thread Jurriaan Mous (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jurriaan Mous updated HBASE-12684:
--
Attachment: HBASE-12684-DEBUG2.patch

 Add new AsyncRpcClient
 --

 Key: HBASE-12684
 URL: https://issues.apache.org/jira/browse/HBASE-12684
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12684-DEBUG2.patch, HBASE-12684-v1.patch, 
 HBASE-12684-v10.patch, HBASE-12684-v11.patch, HBASE-12684-v12.patch, 
 HBASE-12684-v13.patch, HBASE-12684-v14.patch, HBASE-12684-v15.patch, 
 HBASE-12684-v16.patch, HBASE-12684-v17.patch, HBASE-12684-v2.patch, 
 HBASE-12684-v3.patch, HBASE-12684-v4.patch, HBASE-12684-v5.patch, 
 HBASE-12684-v6.patch, HBASE-12684-v7.patch, HBASE-12684-v8.patch, 
 HBASE-12684-v9.patch, HBASE-12684.patch


 With the changes in HBASE-12597 it is possible to add new RpcClients. This 
 issue is about adding a new Async RpcClient which would enable HBase to do 
 non blocking protobuf service communication.
 Besides delivering a new AsyncRpcClient I would also like to ask the question 
 what it would take to replace the current RpcClient? This would enable to 
 simplify async code in some next issues.



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


[jira] [Commented] (HBASE-12768) Support enable cache_data_on_write in Shell while creating table

2014-12-30 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12768:


SUCCESS: Integrated in HBase-0.98 #764 (See 
[https://builds.apache.org/job/HBase-0.98/764/])
HBASE-12768 - Support enable cache_data_on_write in Shell while creating 
(ramkrishna: rev 54b6830fb4f9c33f3cd35694598694ffcd39ade4)
* hbase-shell/src/main/ruby/hbase/admin.rb


 Support enable cache_data_on_write in Shell while creating table
 

 Key: HBASE-12768
 URL: https://issues.apache.org/jira/browse/HBASE-12768
 Project: HBase
  Issue Type: Improvement
  Components: shell
Affects Versions: 1.0.0, 2.0.0, 0.94.27
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
 Fix For: 1.0.0, 2.0.0, 0.98.10

 Attachments: HBASE-12768.patch


 A simple approach to support cache_data_on_write while creating table in 
 shell.



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


[jira] [Updated] (HBASE-12761) On region jump ClientScanners should get next row start key instead of a skip.

2014-12-30 Thread Jurriaan Mous (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jurriaan Mous updated HBASE-12761:
--
Attachment: (was: HBASE-12761-v2.patch)

 On region jump ClientScanners should get next row start key instead of a skip.
 --

 Key: HBASE-12761
 URL: https://issues.apache.org/jira/browse/HBASE-12761
 Project: HBase
  Issue Type: Improvement
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12761-v1.patch, HBASE-12761-v2.patch, 
 HBASE-12761.patch


 While working on async scanner I had some trouble with the extra RPC calls 
 that happen to let the Scanner advance 1 row so it skips the last already 
 known row. 
 This RPC call can be avoided by letting the start key be the last row with an 
 appended 0. This saves quite some logic from the scanners and improves 
 performance by saving extra RPC calls.



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


[jira] [Updated] (HBASE-12740) Improve performance of TestHBaseFsck

2014-12-30 Thread Jurriaan Mous (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jurriaan Mous updated HBASE-12740:
--
Attachment: PROFILE_before_patch_test_fails.png
PROFILE_after_patch.png

[~dimaspivak]

The main reason why I opened this issue was that this test crashes for me 
because it reaches my machines Java default max thread count of 2000. (I tried 
various stack overflow suggested options to raise it with no success)

It caused many of these exceptions:
java.lang.OutOfMemoryError: unable to create new native thread

So I tried to lower this thread count to make it runnable so I could fix issues 
with the async client that this test was somehow pointing out.

I see my very long runs were those which would succeed in the tests because 
HBase recovered of the exceptions by retrying and gave the server some time to 
timeout some connections. Those runs took minutes longer and when I fixed what 
causes it the test would run in around the same numbers you post.

I think that the few milliseconds regression in your comparison is because the 
test now properly closes connections and regions and that takes up a bit more 
time.

I have included 2 screenshots of profiling of the failing run with too much 
thread creation and the succeeding run with much less thread creation.

Is it ok to still commit this patch so the test is runnable for those with 
lower thread limits?

 Improve performance of TestHBaseFsck
 

 Key: HBASE-12740
 URL: https://issues.apache.org/jira/browse/HBASE-12740
 Project: HBase
  Issue Type: Bug
  Components: util
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12740-v1.patch, HBASE-12740-v2.patch, 
 HBASE-12740-v3.patch, HBASE-12740.patch, PROFILE_after_patch.png, 
 PROFILE_before_patch_test_fails.png


 TestHBaseFsck performs poor on my machine. It crashes because the threads 
 reach the 2000 thread limit on my machine. Looking at the code a lot of 
 optimization is possible and some API calls are used wrong. A lot of Admin 
 instances are created and never closed, lots of Tables are not closed, 
 ThreadPoolExecutors are not shut down and an unlimited thread pool which does 
 not recycle threads.



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


[jira] [Commented] (HBASE-12768) Support enable cache_data_on_write in Shell while creating table

2014-12-30 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12768:


SUCCESS: Integrated in HBase-0.98-on-Hadoop-1.1 #730 (See 
[https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/730/])
HBASE-12768 - Support enable cache_data_on_write in Shell while creating 
(ramkrishna: rev 54b6830fb4f9c33f3cd35694598694ffcd39ade4)
* hbase-shell/src/main/ruby/hbase/admin.rb


 Support enable cache_data_on_write in Shell while creating table
 

 Key: HBASE-12768
 URL: https://issues.apache.org/jira/browse/HBASE-12768
 Project: HBase
  Issue Type: Improvement
  Components: shell
Affects Versions: 1.0.0, 2.0.0, 0.94.27
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
 Fix For: 1.0.0, 2.0.0, 0.98.10

 Attachments: HBASE-12768.patch


 A simple approach to support cache_data_on_write while creating table in 
 shell.



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


[jira] [Commented] (HBASE-12684) Add new AsyncRpcClient

2014-12-30 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-12684:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  
http://issues.apache.org/jira/secure/attachment/12689483/HBASE-12684-DEBUG2.patch
  against master branch at commit 0513a21dc8b86f57b5a6c1b742904821632f77f7.
  ATTACHMENT ID: 12689483

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 8 new 
or modified tests.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 checkstyle{color}.  The applied patch does not increase the 
total number of checkstyle errors

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

 {color:red}-1 core tests{color}.  The patch failed these unit tests:
 

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12256//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12256//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12256//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12256//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12256//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12256//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12256//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12256//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12256//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12256//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12256//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12256//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12256//artifact/patchprocess/checkstyle-aggregate.html

  Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12256//console

This message is automatically generated.

 Add new AsyncRpcClient
 --

 Key: HBASE-12684
 URL: https://issues.apache.org/jira/browse/HBASE-12684
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12684-DEBUG2.patch, HBASE-12684-v1.patch, 
 HBASE-12684-v10.patch, HBASE-12684-v11.patch, HBASE-12684-v12.patch, 
 HBASE-12684-v13.patch, HBASE-12684-v14.patch, HBASE-12684-v15.patch, 
 HBASE-12684-v16.patch, HBASE-12684-v17.patch, HBASE-12684-v2.patch, 
 HBASE-12684-v3.patch, HBASE-12684-v4.patch, HBASE-12684-v5.patch, 
 HBASE-12684-v6.patch, HBASE-12684-v7.patch, HBASE-12684-v8.patch, 
 HBASE-12684-v9.patch, HBASE-12684.patch


 With the changes in HBASE-12597 it is possible to add new RpcClients. This 
 issue is about adding a new Async RpcClient which would enable HBase to do 
 non blocking protobuf service communication.
 Besides delivering a new AsyncRpcClient I would also like to ask the question 
 what it would take to replace the current RpcClient? This would enable to 
 simplify async code in some next issues.



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


[jira] [Updated] (HBASE-12781) Listen port will bind always to the passed command line address

2014-12-30 Thread Pankaj Kumar (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12781?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pankaj Kumar updated HBASE-12781:
-
Attachment: 12781-V1.patch

Patch for review.

 Listen port will bind always to the passed command line address
 ---

 Key: HBASE-12781
 URL: https://issues.apache.org/jira/browse/HBASE-12781
 Project: HBase
  Issue Type: Bug
  Components: Thrift
Affects Versions: 0.98.3
Reporter: Pankaj Kumar
Assignee: Pankaj Kumar
 Attachments: 12781-V1.patch


 In Thrift server,  listen port will bind always to the address which  is 
 passed through command line argument. 
 --
 InetSocketAddress inetSocketAddress = bindToPort(cmd.getOptionValue(bind), 
 listenPort);
 -
 private static InetSocketAddress bindToPort(String bindValue, int listenPort)
   throws UnknownHostException {
 try {
   if (bindValue == null) {
 return new InetSocketAddress(listenPort);
   } else {
 return new InetSocketAddress(InetAddress.getByName(bindValue), 
 listenPort);
   }
 } catch (UnknownHostException e) {
   throw new RuntimeException(Could not bind to provided ip address, e);
 }
   }
 In case when bind address is not passed through argument then it is binding 
 with any local  address. It should read hbase.thrift.info.bindAddress  value 
 from configuration first.



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


[jira] [Updated] (HBASE-12781) Listen port will bind always to the passed command line address

2014-12-30 Thread Pankaj Kumar (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12781?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pankaj Kumar updated HBASE-12781:
-
Status: Patch Available  (was: Open)

 Listen port will bind always to the passed command line address
 ---

 Key: HBASE-12781
 URL: https://issues.apache.org/jira/browse/HBASE-12781
 Project: HBase
  Issue Type: Bug
  Components: Thrift
Affects Versions: 0.98.3
Reporter: Pankaj Kumar
Assignee: Pankaj Kumar
 Attachments: 12781-V1.patch


 In Thrift server,  listen port will bind always to the address which  is 
 passed through command line argument. 
 --
 InetSocketAddress inetSocketAddress = bindToPort(cmd.getOptionValue(bind), 
 listenPort);
 -
 private static InetSocketAddress bindToPort(String bindValue, int listenPort)
   throws UnknownHostException {
 try {
   if (bindValue == null) {
 return new InetSocketAddress(listenPort);
   } else {
 return new InetSocketAddress(InetAddress.getByName(bindValue), 
 listenPort);
   }
 } catch (UnknownHostException e) {
   throw new RuntimeException(Could not bind to provided ip address, e);
 }
   }
 In case when bind address is not passed through argument then it is binding 
 with any local  address. It should read hbase.thrift.info.bindAddress  value 
 from configuration first.



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


[jira] [Updated] (HBASE-12684) Add new AsyncRpcClient

2014-12-30 Thread Jurriaan Mous (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jurriaan Mous updated HBASE-12684:
--
Attachment: HBASE-12684-DEBUG3.patch

Debug patch 3 
-Some logs for debugging (Although no test fails are reported it seems to have 
failed in the logs)
-Probable fix for the ByteBuf leak. Maybe this was the cause?

 Add new AsyncRpcClient
 --

 Key: HBASE-12684
 URL: https://issues.apache.org/jira/browse/HBASE-12684
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12684-DEBUG2.patch, HBASE-12684-DEBUG3.patch, 
 HBASE-12684-v1.patch, HBASE-12684-v10.patch, HBASE-12684-v11.patch, 
 HBASE-12684-v12.patch, HBASE-12684-v13.patch, HBASE-12684-v14.patch, 
 HBASE-12684-v15.patch, HBASE-12684-v16.patch, HBASE-12684-v17.patch, 
 HBASE-12684-v2.patch, HBASE-12684-v3.patch, HBASE-12684-v4.patch, 
 HBASE-12684-v5.patch, HBASE-12684-v6.patch, HBASE-12684-v7.patch, 
 HBASE-12684-v8.patch, HBASE-12684-v9.patch, HBASE-12684.patch


 With the changes in HBASE-12597 it is possible to add new RpcClients. This 
 issue is about adding a new Async RpcClient which would enable HBase to do 
 non blocking protobuf service communication.
 Besides delivering a new AsyncRpcClient I would also like to ask the question 
 what it would take to replace the current RpcClient? This would enable to 
 simplify async code in some next issues.



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


[jira] [Updated] (HBASE-12270) A bug in the bucket cache, with cache blocks on write enabled

2014-12-30 Thread Liu Shaohui (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Liu Shaohui updated HBASE-12270:

Attachment: HBASE-12270-v2.diff

Add tests for caching block on write with different block caches.

[~stack]
Add more tests if you wish. Thanks

 A bug in the bucket cache, with cache blocks on write enabled
 -

 Key: HBASE-12270
 URL: https://issues.apache.org/jira/browse/HBASE-12270
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.94.11, 0.98.6.1
 Environment: I can reproduce it on a simple 2 node cluster, one 
 running the master and another running a RS. I was testing on ec2.
 I used the following configurations for the cluster. 
 hbase-env:HBASE_REGIONSERVER_OPTS=-Xmx2G -XX:MaxDirectMemorySize=5G 
 -XX:CMSInitiatingOccupancyFraction=88 -XX:+AggressiveOpts -verbose:gc 
 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xlog 
 gc:/tmp/hbase-regionserver-gc.log
 hbase-site:
 hbase.bucketcache.ioengine=offheap
 hbase.bucketcache.size=4196
 hbase.rs.cacheblocksonwrite=true
 hfile.block.index.cacheonwrite=true
 hfile.block.bloom.cacheonwrite=true
Reporter: Khaled Elmeleegy
Assignee: Liu Shaohui
Priority: Critical
 Fix For: 2.0.0, 0.98.10, 1.1.0

 Attachments: HBASE-12270-v1.diff, HBASE-12270-v2.diff, 
 TestHBase.java, TestKey.java


 In my experiments, I have writers streaming their output to HBase. The reader 
 powers a web page and does this scatter/gather, where it reads 1000 keys 
 written last and passes them the the front end. With this workload, I get the 
 exception below at the region server. Again, I am using HBAse (0.98.6.1). Any 
 help is appreciated.
 2014-10-10 15:06:44,173 ERROR 
 [B.DefaultRpcServer.handler=62,queue=2,port=60020] ipc.RpcServer: Unexpected 
 throwable object 
 java.lang.IllegalArgumentException
   at java.nio.Buffer.position(Buffer.java:236)
  at 
 org.apache.hadoop.hbase.util.ByteBufferUtils.skip(ByteBufferUtils.java:434)
   at 
 org.apache.hadoop.hbase.io.hfile.HFileReaderV2$ScannerV2.readKeyValueLen(HFileReaderV2.java:849)
   at 
 org.apache.hadoop.hbase.io.hfile.HFileReaderV2$ScannerV2.next(HFileReaderV2.java:760)
  at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekAtOrAfter(StoreFileScanner.java:248)
at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek(StoreFileScanner.java:152)
   at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.seekScanners(StoreScanner.java:317)
  at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:176)
   at org.apache.hadoop.hbase.regionserver.HStore.getScanner(HStore.java:1780)
   at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3758)
   at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1950)
   at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1936)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1913)
   at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3157)
   at 
 org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29587)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2027)
 at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108)
  at 
 org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114)
at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:94)
  at java.lang.Thread.run(Thread.java:744)



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


[jira] [Created] (HBASE-12783) Create efficient RegionLocator implementation

2014-12-30 Thread Solomon Duskis (JIRA)
Solomon Duskis created HBASE-12783:
--

 Summary: Create efficient RegionLocator implementation
 Key: HBASE-12783
 URL: https://issues.apache.org/jira/browse/HBASE-12783
 Project: HBase
  Issue Type: Bug
Affects Versions: 1.0.0, 2.0.0
Reporter: Solomon Duskis
Assignee: Solomon Duskis


A new HRegionLocator that only implements RegionLocator functionality will be 
more efficient to instantiate than a full HTable. 



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


[jira] [Commented] (HBASE-12783) Create efficient RegionLocator implementation

2014-12-30 Thread Solomon Duskis (JIRA)

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

Solomon Duskis commented on HBASE-12783:


For now, I'm simply creating a new implementation of RegionLocator.  We can 
slowly remove the implementation from HTable.

 Create efficient RegionLocator implementation
 -

 Key: HBASE-12783
 URL: https://issues.apache.org/jira/browse/HBASE-12783
 Project: HBase
  Issue Type: Bug
Affects Versions: 1.0.0, 2.0.0
Reporter: Solomon Duskis
Assignee: Solomon Duskis
 Attachments: HBASE-12783.patch


 A new HRegionLocator that only implements RegionLocator functionality will be 
 more efficient to instantiate than a full HTable. 



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


[jira] [Updated] (HBASE-12783) Create efficient RegionLocator implementation

2014-12-30 Thread Solomon Duskis (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Solomon Duskis updated HBASE-12783:
---
Attachment: HBASE-12783.patch

 Create efficient RegionLocator implementation
 -

 Key: HBASE-12783
 URL: https://issues.apache.org/jira/browse/HBASE-12783
 Project: HBase
  Issue Type: Bug
Affects Versions: 1.0.0, 2.0.0
Reporter: Solomon Duskis
Assignee: Solomon Duskis
 Attachments: HBASE-12783.patch


 A new HRegionLocator that only implements RegionLocator functionality will be 
 more efficient to instantiate than a full HTable. 



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


[jira] [Commented] (HBASE-12783) Create efficient RegionLocator implementation

2014-12-30 Thread Solomon Duskis (JIRA)

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

Solomon Duskis commented on HBASE-12783:


Hm... I guess I forgot tests.  I'll work on that.

 Create efficient RegionLocator implementation
 -

 Key: HBASE-12783
 URL: https://issues.apache.org/jira/browse/HBASE-12783
 Project: HBase
  Issue Type: Bug
Affects Versions: 1.0.0, 2.0.0
Reporter: Solomon Duskis
Assignee: Solomon Duskis
 Attachments: HBASE-12783.patch


 A new HRegionLocator that only implements RegionLocator functionality will be 
 more efficient to instantiate than a full HTable. 



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


[jira] [Commented] (HBASE-12728) buffered writes substantially less useful after removal of HTablePool

2014-12-30 Thread Solomon Duskis (JIRA)

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

Solomon Duskis commented on HBASE-12728:


Is HTableMultiplexer a good existing solution to replace the functionality of 
HTable without autoflush?

 buffered writes substantially less useful after removal of HTablePool
 -

 Key: HBASE-12728
 URL: https://issues.apache.org/jira/browse/HBASE-12728
 Project: HBase
  Issue Type: Bug
  Components: hbase
Affects Versions: 0.98.0
Reporter: Aaron Beppu

 In previous versions of HBase, when use of HTablePool was encouraged, HTable 
 instances were long-lived in that pool, and for that reason, if autoFlush was 
 set to false, the table instance could accumulate a full buffer of writes 
 before a flush was triggered. Writes from the client to the cluster could 
 then be substantially larger and less frequent than without buffering.
 However, when HTablePool was deprecated, the primary justification seems to 
 have been that creating HTable instances is cheap, so long as the connection 
 and executor service being passed to it are pre-provided. A use pattern was 
 encouraged where users should create a new HTable instance for every 
 operation, using an existing connection and executor service, and then close 
 the table. In this pattern, buffered writes are substantially less useful; 
 writes are as small and as frequent as they would have been with 
 autoflush=true, except the synchronous write is moved from the operation 
 itself to the table close call which immediately follows.
 More concretely :
 ```
 // Given these two helpers ...
 private HTableInterface getAutoFlushTable(String tableName) throws 
 IOException {
   // (autoflush is true by default)
   return storedConnection.getTable(tableName, executorService);
 }
 private HTableInterface getBufferedTable(String tableName) throws IOException 
 {
   HTableInterface table = getAutoFlushTable(tableName);
   table.setAutoFlush(false);
   return table;
 }
 // it's my contention that these two methods would behave almost identically,
 // except the first will hit a synchronous flush during the put call,
 and the second will
 // flush during the (hidden) close call on table.
 private void writeAutoFlushed(Put somePut) throws IOException {
   try (HTableInterface table = getAutoFlushTable(tableName)) {
 table.put(somePut); // will do synchronous flush
   }
 }
 private void writeBuffered(Put somePut) throws IOException {
   try (HTableInterface table = getBufferedTable(tableName)) {
 table.put(somePut);
   } // auto-close will trigger synchronous flush
 }
 ```
 For buffered writes to actually provide a performance benefit to users, one 
 of two things must happen:
 - The writeBuffer itself shouldn't live, flush and die with the lifecycle of 
 it's HTableInstance. If the writeBuffer were managed elsewhere and had a long 
 lifespan, this could cease to be an issue. However, if the same writeBuffer 
 is appended to by multiple tables, then some additional concurrency control 
 will be needed around it.
 - Alternatively, there should be some pattern for having long-lived HTable 
 instances. However, since HTable is not thread-safe, we'd need multiple 
 instances, and a mechanism for leasing them out safely -- which sure sounds a 
 lot like the old HTablePool to me.
 See discussion on mailing list here : 
 http://mail-archives.apache.org/mod_mbox/hbase-user/201412.mbox/%3CCAPdJLkEzmUQZ_kvD%3D8mrxi4V%3DhCmUp3g9MUZsddD%2Bmon%2BAvNtg%40mail.gmail.com%3E



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


[jira] [Commented] (HBASE-12781) Listen port will bind always to the passed command line address

2014-12-30 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-12781:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12689499/12781-V1.patch
  against master branch at commit 0513a21dc8b86f57b5a6c1b742904821632f77f7.
  ATTACHMENT ID: 12689499

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:red}-1 tests included{color}.  The patch doesn't appear to include 
any new or modified tests.
Please justify why no new tests are needed for this 
patch.
Also please list what manual steps were performed to 
verify this patch.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 checkstyle{color}.  The applied patch does not increase the 
total number of checkstyle errors

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

{color:green}+1 core tests{color}.  The patch passed unit tests in .

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12258//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12258//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12258//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12258//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12258//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12258//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12258//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12258//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12258//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12258//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12258//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12258//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12258//artifact/patchprocess/checkstyle-aggregate.html

  Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12258//console

This message is automatically generated.

 Listen port will bind always to the passed command line address
 ---

 Key: HBASE-12781
 URL: https://issues.apache.org/jira/browse/HBASE-12781
 Project: HBase
  Issue Type: Bug
  Components: Thrift
Affects Versions: 0.98.3
Reporter: Pankaj Kumar
Assignee: Pankaj Kumar
 Attachments: 12781-V1.patch


 In Thrift server,  listen port will bind always to the address which  is 
 passed through command line argument. 
 --
 InetSocketAddress inetSocketAddress = bindToPort(cmd.getOptionValue(bind), 
 listenPort);
 -
 private static InetSocketAddress bindToPort(String bindValue, int listenPort)
   throws UnknownHostException {
 try {
   if (bindValue == null) {
 return new InetSocketAddress(listenPort);
   } else {
 return new InetSocketAddress(InetAddress.getByName(bindValue), 
 listenPort);
   }
 } catch (UnknownHostException e) {
   throw new RuntimeException(Could not bind to provided ip address, e);
 }
   }
 In case when bind address is not passed through argument then it is binding 
 with any local  address. It 

[jira] [Commented] (HBASE-12684) Add new AsyncRpcClient

2014-12-30 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-12684:
---

{color:green}+1 overall{color}.  Here are the results of testing the latest 
attachment 
  
http://issues.apache.org/jira/secure/attachment/12689500/HBASE-12684-DEBUG3.patch
  against master branch at commit 0513a21dc8b86f57b5a6c1b742904821632f77f7.
  ATTACHMENT ID: 12689500

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 8 new 
or modified tests.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 checkstyle{color}.  The applied patch does not increase the 
total number of checkstyle errors

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

{color:green}+1 core tests{color}.  The patch passed unit tests in .

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12259//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12259//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12259//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12259//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12259//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12259//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12259//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12259//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12259//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12259//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12259//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12259//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12259//artifact/patchprocess/checkstyle-aggregate.html

  Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12259//console

This message is automatically generated.

 Add new AsyncRpcClient
 --

 Key: HBASE-12684
 URL: https://issues.apache.org/jira/browse/HBASE-12684
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12684-DEBUG2.patch, HBASE-12684-DEBUG3.patch, 
 HBASE-12684-v1.patch, HBASE-12684-v10.patch, HBASE-12684-v11.patch, 
 HBASE-12684-v12.patch, HBASE-12684-v13.patch, HBASE-12684-v14.patch, 
 HBASE-12684-v15.patch, HBASE-12684-v16.patch, HBASE-12684-v17.patch, 
 HBASE-12684-v2.patch, HBASE-12684-v3.patch, HBASE-12684-v4.patch, 
 HBASE-12684-v5.patch, HBASE-12684-v6.patch, HBASE-12684-v7.patch, 
 HBASE-12684-v8.patch, HBASE-12684-v9.patch, HBASE-12684.patch


 With the changes in HBASE-12597 it is possible to add new RpcClients. This 
 issue is about adding a new Async RpcClient which would enable HBase to do 
 non blocking protobuf service communication.
 Besides delivering a new AsyncRpcClient I would also like to ask the question 
 what it would take to replace the current RpcClient? This would enable to 
 simplify async code in some next issues.



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


[jira] [Commented] (HBASE-12781) Listen port will bind always to the passed command line address

2014-12-30 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-12781:


+1

 Listen port will bind always to the passed command line address
 ---

 Key: HBASE-12781
 URL: https://issues.apache.org/jira/browse/HBASE-12781
 Project: HBase
  Issue Type: Bug
  Components: Thrift
Affects Versions: 0.98.3
Reporter: Pankaj Kumar
Assignee: Pankaj Kumar
 Attachments: 12781-V1.patch


 In Thrift server,  listen port will bind always to the address which  is 
 passed through command line argument. 
 --
 InetSocketAddress inetSocketAddress = bindToPort(cmd.getOptionValue(bind), 
 listenPort);
 -
 private static InetSocketAddress bindToPort(String bindValue, int listenPort)
   throws UnknownHostException {
 try {
   if (bindValue == null) {
 return new InetSocketAddress(listenPort);
   } else {
 return new InetSocketAddress(InetAddress.getByName(bindValue), 
 listenPort);
   }
 } catch (UnknownHostException e) {
   throw new RuntimeException(Could not bind to provided ip address, e);
 }
   }
 In case when bind address is not passed through argument then it is binding 
 with any local  address. It should read hbase.thrift.info.bindAddress  value 
 from configuration first.



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


[jira] [Updated] (HBASE-12684) Add new AsyncRpcClient

2014-12-30 Thread stack (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-12684:
--
Attachment: HBASE-12684-v17.patch

Wahoo!

Retry

 Add new AsyncRpcClient
 --

 Key: HBASE-12684
 URL: https://issues.apache.org/jira/browse/HBASE-12684
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12684-DEBUG2.patch, HBASE-12684-DEBUG3.patch, 
 HBASE-12684-v1.patch, HBASE-12684-v10.patch, HBASE-12684-v11.patch, 
 HBASE-12684-v12.patch, HBASE-12684-v13.patch, HBASE-12684-v14.patch, 
 HBASE-12684-v15.patch, HBASE-12684-v16.patch, HBASE-12684-v17.patch, 
 HBASE-12684-v17.patch, HBASE-12684-v18.patch, HBASE-12684-v2.patch, 
 HBASE-12684-v3.patch, HBASE-12684-v4.patch, HBASE-12684-v5.patch, 
 HBASE-12684-v6.patch, HBASE-12684-v7.patch, HBASE-12684-v8.patch, 
 HBASE-12684-v9.patch, HBASE-12684.patch


 With the changes in HBASE-12597 it is possible to add new RpcClients. This 
 issue is about adding a new Async RpcClient which would enable HBase to do 
 non blocking protobuf service communication.
 Besides delivering a new AsyncRpcClient I would also like to ask the question 
 what it would take to replace the current RpcClient? This would enable to 
 simplify async code in some next issues.



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


[jira] [Updated] (HBASE-12684) Add new AsyncRpcClient

2014-12-30 Thread Jurriaan Mous (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jurriaan Mous updated HBASE-12684:
--
Attachment: HBASE-12684-v18.patch

Undid all the TestHCM and debug changes from the debug patch since it seems the 
root cause of all troubles is found. Lets see if it passes with the original 
timing.

 Add new AsyncRpcClient
 --

 Key: HBASE-12684
 URL: https://issues.apache.org/jira/browse/HBASE-12684
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12684-DEBUG2.patch, HBASE-12684-DEBUG3.patch, 
 HBASE-12684-v1.patch, HBASE-12684-v10.patch, HBASE-12684-v11.patch, 
 HBASE-12684-v12.patch, HBASE-12684-v13.patch, HBASE-12684-v14.patch, 
 HBASE-12684-v15.patch, HBASE-12684-v16.patch, HBASE-12684-v17.patch, 
 HBASE-12684-v17.patch, HBASE-12684-v18.patch, HBASE-12684-v2.patch, 
 HBASE-12684-v3.patch, HBASE-12684-v4.patch, HBASE-12684-v5.patch, 
 HBASE-12684-v6.patch, HBASE-12684-v7.patch, HBASE-12684-v8.patch, 
 HBASE-12684-v9.patch, HBASE-12684.patch


 With the changes in HBASE-12597 it is possible to add new RpcClients. This 
 issue is about adding a new Async RpcClient which would enable HBase to do 
 non blocking protobuf service communication.
 Besides delivering a new AsyncRpcClient I would also like to ask the question 
 what it would take to replace the current RpcClient? This would enable to 
 simplify async code in some next issues.



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


[jira] [Commented] (HBASE-12684) Add new AsyncRpcClient

2014-12-30 Thread Jurriaan Mous (JIRA)

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

Jurriaan Mous commented on HBASE-12684:
---

I submitted patch v18 with the fix :) Patch v17 will fail. It was DEBUG3 which 
was succeeding :)

 Add new AsyncRpcClient
 --

 Key: HBASE-12684
 URL: https://issues.apache.org/jira/browse/HBASE-12684
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12684-DEBUG2.patch, HBASE-12684-DEBUG3.patch, 
 HBASE-12684-v1.patch, HBASE-12684-v10.patch, HBASE-12684-v11.patch, 
 HBASE-12684-v12.patch, HBASE-12684-v13.patch, HBASE-12684-v14.patch, 
 HBASE-12684-v15.patch, HBASE-12684-v16.patch, HBASE-12684-v17.patch, 
 HBASE-12684-v17.patch, HBASE-12684-v18.patch, HBASE-12684-v2.patch, 
 HBASE-12684-v3.patch, HBASE-12684-v4.patch, HBASE-12684-v5.patch, 
 HBASE-12684-v6.patch, HBASE-12684-v7.patch, HBASE-12684-v8.patch, 
 HBASE-12684-v9.patch, HBASE-12684.patch


 With the changes in HBASE-12597 it is possible to add new RpcClients. This 
 issue is about adding a new Async RpcClient which would enable HBase to do 
 non blocking protobuf service communication.
 Besides delivering a new AsyncRpcClient I would also like to ask the question 
 what it would take to replace the current RpcClient? This would enable to 
 simplify async code in some next issues.



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


[jira] [Commented] (HBASE-12270) A bug in the bucket cache, with cache blocks on write enabled

2014-12-30 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-12270:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12689504/HBASE-12270-v2.diff
  against master branch at commit 0513a21dc8b86f57b5a6c1b742904821632f77f7.
  ATTACHMENT ID: 12689504

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 3 new 
or modified tests.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 checkstyle{color}.  The applied patch does not increase the 
total number of checkstyle errors

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

{color:green}+1 core tests{color}.  The patch passed unit tests in .

 {color:red}-1 core zombie tests{color}.  There are 1 zombie test(s):   
at 
org.apache.sling.commons.testing.integration.SlingIntegrationTestClient.createNode(SlingIntegrationTestClient.java:186)
at 
org.apache.sling.commons.testing.integration.SlingIntegrationTestClient.createNode(SlingIntegrationTestClient.java:119)
at 
org.apache.sling.commons.testing.integration.SlingIntegrationTestClient.createNode(SlingIntegrationTestClient.java:109)
at 
org.apache.sling.commons.testing.integration.HttpTestBase.slingServerReady(HttpTestBase.java:274)
at 
org.apache.sling.commons.testing.integration.HttpTestBase.waitForSlingStartup(HttpTestBase.java:226)
at 
org.apache.sling.commons.testing.integration.HttpTestBase.setUp(HttpTestBase.java:163)
at 
org.apache.sling.launchpad.webapp.integrationtest.indexing.FullTextIndexingTest.setUp(FullTextIndexingTest.java:87)

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12260//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12260//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12260//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12260//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12260//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12260//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12260//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12260//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12260//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12260//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12260//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12260//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12260//artifact/patchprocess/checkstyle-aggregate.html

  Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12260//console

This message is automatically generated.

 A bug in the bucket cache, with cache blocks on write enabled
 -

 Key: HBASE-12270
 URL: https://issues.apache.org/jira/browse/HBASE-12270
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.94.11, 0.98.6.1
 Environment: I can reproduce it on a simple 2 node cluster, one 
 running the master and another running a RS. I was testing on ec2.
 I used the following configurations 

[jira] [Updated] (HBASE-12772) TestPerColumnFamilyFlush failing

2014-12-30 Thread stack (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12772?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-12772:
--
Attachment: 12772.addendum.v2.txt

Forgot to set new WAL upper bound globally.

 TestPerColumnFamilyFlush failing
 

 Key: HBASE-12772
 URL: https://issues.apache.org/jira/browse/HBASE-12772
 Project: HBase
  Issue Type: Bug
  Components: test
Affects Versions: 1.0.0
Reporter: stack
Assignee: stack
 Attachments: 0001-HBASE-12772-TestPerColumnFamilyFlush-failing.patch, 
 12772.addendum.txt, 12772.addendum.v2.txt


 On internal rig see this failing in two places:
 {code}
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testFlushingWhenLogRolling
 Failing for the past 1 build (Since Failed#653 )
 Took 9 sec.
 Error Message
 expected:424 but was:205744
 Stacktrace
 java.lang.AssertionError: expected:424 but was:205744
   at org.junit.Assert.fail(Assert.java:88)
   at org.junit.Assert.failNotEquals(Assert.java:743)
   at org.junit.Assert.assertEquals(Assert.java:118)
   at org.junit.Assert.assertEquals(Assert.java:555)
   at org.junit.Assert.assertEquals(Assert.java:542)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testFlushingWhenLogRolling(TestPerColumnFamilyFlush.java:483)
 {code}
 and 
 {code}
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplayWithDistributedReplay
 Failing for the past 1 build (Since Failed#653 )
 Took 25 ms.
 Error Message
 A mini-cluster is already running
 Stacktrace
 java.lang.IllegalStateException: A mini-cluster is already running
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:921)
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:812)
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:794)
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:781)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplay(TestPerColumnFamilyFlush.java:337)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplayWithDistributedReplay(TestPerColumnFamilyFlush.java:418)
 {code}
 Opening issue to keep an eye on these tests.



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


[jira] [Updated] (HBASE-12270) A bug in the bucket cache, with cache blocks on write enabled

2014-12-30 Thread stack (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-12270:
--
Attachment: HBASE-12270-v2.patch

Zombie found tests from other projects.  Retry.

 A bug in the bucket cache, with cache blocks on write enabled
 -

 Key: HBASE-12270
 URL: https://issues.apache.org/jira/browse/HBASE-12270
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.94.11, 0.98.6.1
 Environment: I can reproduce it on a simple 2 node cluster, one 
 running the master and another running a RS. I was testing on ec2.
 I used the following configurations for the cluster. 
 hbase-env:HBASE_REGIONSERVER_OPTS=-Xmx2G -XX:MaxDirectMemorySize=5G 
 -XX:CMSInitiatingOccupancyFraction=88 -XX:+AggressiveOpts -verbose:gc 
 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xlog 
 gc:/tmp/hbase-regionserver-gc.log
 hbase-site:
 hbase.bucketcache.ioengine=offheap
 hbase.bucketcache.size=4196
 hbase.rs.cacheblocksonwrite=true
 hfile.block.index.cacheonwrite=true
 hfile.block.bloom.cacheonwrite=true
Reporter: Khaled Elmeleegy
Assignee: Liu Shaohui
Priority: Critical
 Fix For: 2.0.0, 0.98.10, 1.1.0

 Attachments: HBASE-12270-v1.diff, HBASE-12270-v2.diff, 
 HBASE-12270-v2.patch, TestHBase.java, TestKey.java


 In my experiments, I have writers streaming their output to HBase. The reader 
 powers a web page and does this scatter/gather, where it reads 1000 keys 
 written last and passes them the the front end. With this workload, I get the 
 exception below at the region server. Again, I am using HBAse (0.98.6.1). Any 
 help is appreciated.
 2014-10-10 15:06:44,173 ERROR 
 [B.DefaultRpcServer.handler=62,queue=2,port=60020] ipc.RpcServer: Unexpected 
 throwable object 
 java.lang.IllegalArgumentException
   at java.nio.Buffer.position(Buffer.java:236)
  at 
 org.apache.hadoop.hbase.util.ByteBufferUtils.skip(ByteBufferUtils.java:434)
   at 
 org.apache.hadoop.hbase.io.hfile.HFileReaderV2$ScannerV2.readKeyValueLen(HFileReaderV2.java:849)
   at 
 org.apache.hadoop.hbase.io.hfile.HFileReaderV2$ScannerV2.next(HFileReaderV2.java:760)
  at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekAtOrAfter(StoreFileScanner.java:248)
at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek(StoreFileScanner.java:152)
   at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.seekScanners(StoreScanner.java:317)
  at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:176)
   at org.apache.hadoop.hbase.regionserver.HStore.getScanner(HStore.java:1780)
   at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3758)
   at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1950)
   at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1936)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1913)
   at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3157)
   at 
 org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29587)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2027)
 at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108)
  at 
 org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114)
at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:94)
  at java.lang.Thread.run(Thread.java:744)



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


[jira] [Commented] (HBASE-12684) Add new AsyncRpcClient

2014-12-30 Thread stack (JIRA)

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

stack commented on HBASE-12684:
---

[~jurmous] Let me get a few perf runs in today. There is no config to turn it 
'on' is there?

 Add new AsyncRpcClient
 --

 Key: HBASE-12684
 URL: https://issues.apache.org/jira/browse/HBASE-12684
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12684-DEBUG2.patch, HBASE-12684-DEBUG3.patch, 
 HBASE-12684-v1.patch, HBASE-12684-v10.patch, HBASE-12684-v11.patch, 
 HBASE-12684-v12.patch, HBASE-12684-v13.patch, HBASE-12684-v14.patch, 
 HBASE-12684-v15.patch, HBASE-12684-v16.patch, HBASE-12684-v17.patch, 
 HBASE-12684-v17.patch, HBASE-12684-v18.patch, HBASE-12684-v2.patch, 
 HBASE-12684-v3.patch, HBASE-12684-v4.patch, HBASE-12684-v5.patch, 
 HBASE-12684-v6.patch, HBASE-12684-v7.patch, HBASE-12684-v8.patch, 
 HBASE-12684-v9.patch, HBASE-12684.patch


 With the changes in HBASE-12597 it is possible to add new RpcClients. This 
 issue is about adding a new Async RpcClient which would enable HBase to do 
 non blocking protobuf service communication.
 Besides delivering a new AsyncRpcClient I would also like to ask the question 
 what it would take to replace the current RpcClient? This would enable to 
 simplify async code in some next issues.



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


[jira] [Updated] (HBASE-12781) thrift2 listen port will bind always to the passed command line address

2014-12-30 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12781?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-12781:
---
Summary: thrift2 listen port will bind always to the passed command line 
address  (was: Listen port will bind always to the passed command line address)

 thrift2 listen port will bind always to the passed command line address
 ---

 Key: HBASE-12781
 URL: https://issues.apache.org/jira/browse/HBASE-12781
 Project: HBase
  Issue Type: Bug
  Components: Thrift
Affects Versions: 0.98.3
Reporter: Pankaj Kumar
Assignee: Pankaj Kumar
 Attachments: 12781-V1.patch


 In Thrift server,  listen port will bind always to the address which  is 
 passed through command line argument. 
 --
 InetSocketAddress inetSocketAddress = bindToPort(cmd.getOptionValue(bind), 
 listenPort);
 -
 private static InetSocketAddress bindToPort(String bindValue, int listenPort)
   throws UnknownHostException {
 try {
   if (bindValue == null) {
 return new InetSocketAddress(listenPort);
   } else {
 return new InetSocketAddress(InetAddress.getByName(bindValue), 
 listenPort);
   }
 } catch (UnknownHostException e) {
   throw new RuntimeException(Could not bind to provided ip address, e);
 }
   }
 In case when bind address is not passed through argument then it is binding 
 with any local  address. It should read hbase.thrift.info.bindAddress  value 
 from configuration first.



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


[jira] [Updated] (HBASE-12781) thrift2 listen port will bind always to the passed command line address

2014-12-30 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12781?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-12781:
---
Fix Version/s: 1.1.0
   0.98.10
   2.0.0
 Hadoop Flags: Reviewed

 thrift2 listen port will bind always to the passed command line address
 ---

 Key: HBASE-12781
 URL: https://issues.apache.org/jira/browse/HBASE-12781
 Project: HBase
  Issue Type: Bug
  Components: Thrift
Affects Versions: 0.98.3
Reporter: Pankaj Kumar
Assignee: Pankaj Kumar
 Fix For: 2.0.0, 0.98.10, 1.1.0

 Attachments: 12781-V1.patch


 In Thrift server,  listen port will bind always to the address which  is 
 passed through command line argument. 
 --
 InetSocketAddress inetSocketAddress = bindToPort(cmd.getOptionValue(bind), 
 listenPort);
 -
 private static InetSocketAddress bindToPort(String bindValue, int listenPort)
   throws UnknownHostException {
 try {
   if (bindValue == null) {
 return new InetSocketAddress(listenPort);
   } else {
 return new InetSocketAddress(InetAddress.getByName(bindValue), 
 listenPort);
   }
 } catch (UnknownHostException e) {
   throw new RuntimeException(Could not bind to provided ip address, e);
 }
   }
 In case when bind address is not passed through argument then it is binding 
 with any local  address. It should read hbase.thrift.info.bindAddress  value 
 from configuration first.



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


[jira] [Updated] (HBASE-12781) thrift2 listen port will bind always to the passed command line address

2014-12-30 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12781?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-12781:
---
Description: 
In Thrift server,  listen port will bind always to the address which  is passed 
through command line argument. 
{code}
InetSocketAddress inetSocketAddress = bindToPort(cmd.getOptionValue(bind), 
listenPort);
{code}
{code}
private static InetSocketAddress bindToPort(String bindValue, int listenPort)
  throws UnknownHostException {
try {
  if (bindValue == null) {
return new InetSocketAddress(listenPort);
  } else {
return new InetSocketAddress(InetAddress.getByName(bindValue), 
listenPort);
  }
} catch (UnknownHostException e) {
  throw new RuntimeException(Could not bind to provided ip address, e);
}
  }
{code}
In case when bind address is not passed through argument then it is binding 
with any local  address. It should read hbase.thrift.info.bindAddress  value 
from configuration first.


  was:
In Thrift server,  listen port will bind always to the address which  is passed 
through command line argument. 
--
InetSocketAddress inetSocketAddress = bindToPort(cmd.getOptionValue(bind), 
listenPort);
-

private static InetSocketAddress bindToPort(String bindValue, int listenPort)
  throws UnknownHostException {
try {
  if (bindValue == null) {
return new InetSocketAddress(listenPort);
  } else {
return new InetSocketAddress(InetAddress.getByName(bindValue), 
listenPort);
  }
} catch (UnknownHostException e) {
  throw new RuntimeException(Could not bind to provided ip address, e);
}
  }

In case when bind address is not passed through argument then it is binding 
with any local  address. It should read hbase.thrift.info.bindAddress  value 
from configuration first.



 thrift2 listen port will bind always to the passed command line address
 ---

 Key: HBASE-12781
 URL: https://issues.apache.org/jira/browse/HBASE-12781
 Project: HBase
  Issue Type: Bug
  Components: Thrift
Affects Versions: 0.98.3
Reporter: Pankaj Kumar
Assignee: Pankaj Kumar
 Fix For: 2.0.0, 0.98.10, 1.1.0

 Attachments: 12781-V1.patch


 In Thrift server,  listen port will bind always to the address which  is 
 passed through command line argument. 
 {code}
 InetSocketAddress inetSocketAddress = bindToPort(cmd.getOptionValue(bind), 
 listenPort);
 {code}
 {code}
 private static InetSocketAddress bindToPort(String bindValue, int listenPort)
   throws UnknownHostException {
 try {
   if (bindValue == null) {
 return new InetSocketAddress(listenPort);
   } else {
 return new InetSocketAddress(InetAddress.getByName(bindValue), 
 listenPort);
   }
 } catch (UnknownHostException e) {
   throw new RuntimeException(Could not bind to provided ip address, e);
 }
   }
 {code}
 In case when bind address is not passed through argument then it is binding 
 with any local  address. It should read hbase.thrift.info.bindAddress  value 
 from configuration first.



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


[jira] [Updated] (HBASE-12781) thrift2 listen port will bind always to the passed command line address

2014-12-30 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12781?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-12781:
---
Resolution: Fixed
Status: Resolved  (was: Patch Available)

Thanks for the patch, Pankaj

 thrift2 listen port will bind always to the passed command line address
 ---

 Key: HBASE-12781
 URL: https://issues.apache.org/jira/browse/HBASE-12781
 Project: HBase
  Issue Type: Bug
  Components: Thrift
Affects Versions: 0.98.3
Reporter: Pankaj Kumar
Assignee: Pankaj Kumar
 Fix For: 2.0.0, 0.98.10, 1.1.0

 Attachments: 12781-V1.patch


 In Thrift server,  listen port will bind always to the address which  is 
 passed through command line argument. 
 {code}
 InetSocketAddress inetSocketAddress = bindToPort(cmd.getOptionValue(bind), 
 listenPort);
 {code}
 {code}
 private static InetSocketAddress bindToPort(String bindValue, int listenPort)
   throws UnknownHostException {
 try {
   if (bindValue == null) {
 return new InetSocketAddress(listenPort);
   } else {
 return new InetSocketAddress(InetAddress.getByName(bindValue), 
 listenPort);
   }
 } catch (UnknownHostException e) {
   throw new RuntimeException(Could not bind to provided ip address, e);
 }
   }
 {code}
 In case when bind address is not passed through argument then it is binding 
 with any local  address. It should read hbase.thrift.info.bindAddress  value 
 from configuration first.



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


[jira] [Commented] (HBASE-12762) Region with no hfiles will have the highest locality cost in LocalityCostFunction

2014-12-30 Thread stack (JIRA)

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

stack commented on HBASE-12762:
---

[~apurtell] I took a look and saw this:

14/12/30 07:49:47 INFO mortbay.log: Extract 
jar:file:/home/jenkins/jenkins-slave/workspace/HBase-0.98-on-Hadoop-1.1/hbase-server/target/hbase-server-0.98.10-SNAPSHOT.jar!/hbase-webapps/regionserver
 to /tmp/Jetty_0_0_0_0_38973_regionserver6v0l18/webapp
14/12/30 07:49:47 INFO mortbay.log: Started SelectChannelConnector@0.0.0.0:38973
14/12/30 07:49:47 INFO http.HttpServer: Added global filtersafety 
(class=org.apache.hadoop.http.HttpServer$QuotingInputFilter)
14/12/30 07:49:47 INFO http.HttpServer: Port returned by 
webServer.getConnectors()[0].getLocalPort() before open() is -1. Opening the 
listener on 60010
14/12/30 07:49:47 FATAL master.HMaster: Unhandled exception. Starting shutdown.
java.net.BindException: Address already in use
at sun.nio.ch.Net.bind(Native Method)
at 
sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:124)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
at 
org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
at org.apache.hadoop.http.HttpServer.start(HttpServer.java:602)
at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:666)
at java.lang.Thread.run(Thread.java:662)


And it just passed. Let me try it again to see if permanent failing going on.

 Region with no hfiles will have the highest locality cost in 
 LocalityCostFunction
 -

 Key: HBASE-12762
 URL: https://issues.apache.org/jira/browse/HBASE-12762
 Project: HBase
  Issue Type: Improvement
  Components: Balancer
Affects Versions: 0.99.2
Reporter: cuijianwei
Assignee: cuijianwei
Priority: Minor
 Fix For: 1.0.0, 2.0.0, 0.98.10, 1.1.0

 Attachments: HBASE-12762-trunk.patch


 The locality cost of region will be computed in LocalityCostFunction.cost as:
 {code}
 double cost() {
 ...
 int index = -1;
 for (int j = 0; j  regionLocations.length; j++) {
   if (regionLocations[j] = 0  regionLocations[j] == serverIndex) {
 index = j;
 break;
   }
 }
 if (index  0) {
   cost += 1;  // == region with no hfiles will have the highest cost
 } else {
   cost += (double) index / (double) regionLocations.length;
 }
 ...
 }
 {code}
 The region with no hfiles(such as empty region) will have the highest cost 
 which represents the worst case that region located in the server with no 
 locality for hfiles. However, this might be the best case because there are 
 no hlogs for the region. Although the absolute cost value won't affect the 
 balance process, will it be more reasonable to have zero cost for such 
 regions? such as:
 {code}
...
 if (index  0) {
   if (regionLocation.length  0) { //  == only consider regions with 
 hfiles
   cost += 1;
   }
 } else {
   cost += (double) index / (double) regionLocations.length;
 }
...
 {code} 



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


[jira] [Commented] (HBASE-12684) Add new AsyncRpcClient

2014-12-30 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-12684:


Great work, Jurriaan.

 Add new AsyncRpcClient
 --

 Key: HBASE-12684
 URL: https://issues.apache.org/jira/browse/HBASE-12684
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12684-DEBUG2.patch, HBASE-12684-DEBUG3.patch, 
 HBASE-12684-v1.patch, HBASE-12684-v10.patch, HBASE-12684-v11.patch, 
 HBASE-12684-v12.patch, HBASE-12684-v13.patch, HBASE-12684-v14.patch, 
 HBASE-12684-v15.patch, HBASE-12684-v16.patch, HBASE-12684-v17.patch, 
 HBASE-12684-v17.patch, HBASE-12684-v18.patch, HBASE-12684-v2.patch, 
 HBASE-12684-v3.patch, HBASE-12684-v4.patch, HBASE-12684-v5.patch, 
 HBASE-12684-v6.patch, HBASE-12684-v7.patch, HBASE-12684-v8.patch, 
 HBASE-12684-v9.patch, HBASE-12684.patch


 With the changes in HBASE-12597 it is possible to add new RpcClients. This 
 issue is about adding a new Async RpcClient which would enable HBase to do 
 non blocking protobuf service communication.
 Besides delivering a new AsyncRpcClient I would also like to ask the question 
 what it would take to replace the current RpcClient? This would enable to 
 simplify async code in some next issues.



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


[jira] [Commented] (HBASE-12270) A bug in the bucket cache, with cache blocks on write enabled

2014-12-30 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-12270:


+1

 A bug in the bucket cache, with cache blocks on write enabled
 -

 Key: HBASE-12270
 URL: https://issues.apache.org/jira/browse/HBASE-12270
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.94.11, 0.98.6.1
 Environment: I can reproduce it on a simple 2 node cluster, one 
 running the master and another running a RS. I was testing on ec2.
 I used the following configurations for the cluster. 
 hbase-env:HBASE_REGIONSERVER_OPTS=-Xmx2G -XX:MaxDirectMemorySize=5G 
 -XX:CMSInitiatingOccupancyFraction=88 -XX:+AggressiveOpts -verbose:gc 
 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xlog 
 gc:/tmp/hbase-regionserver-gc.log
 hbase-site:
 hbase.bucketcache.ioengine=offheap
 hbase.bucketcache.size=4196
 hbase.rs.cacheblocksonwrite=true
 hfile.block.index.cacheonwrite=true
 hfile.block.bloom.cacheonwrite=true
Reporter: Khaled Elmeleegy
Assignee: Liu Shaohui
Priority: Critical
 Fix For: 2.0.0, 0.98.10, 1.1.0

 Attachments: HBASE-12270-v1.diff, HBASE-12270-v2.diff, 
 HBASE-12270-v2.patch, TestHBase.java, TestKey.java


 In my experiments, I have writers streaming their output to HBase. The reader 
 powers a web page and does this scatter/gather, where it reads 1000 keys 
 written last and passes them the the front end. With this workload, I get the 
 exception below at the region server. Again, I am using HBAse (0.98.6.1). Any 
 help is appreciated.
 2014-10-10 15:06:44,173 ERROR 
 [B.DefaultRpcServer.handler=62,queue=2,port=60020] ipc.RpcServer: Unexpected 
 throwable object 
 java.lang.IllegalArgumentException
   at java.nio.Buffer.position(Buffer.java:236)
  at 
 org.apache.hadoop.hbase.util.ByteBufferUtils.skip(ByteBufferUtils.java:434)
   at 
 org.apache.hadoop.hbase.io.hfile.HFileReaderV2$ScannerV2.readKeyValueLen(HFileReaderV2.java:849)
   at 
 org.apache.hadoop.hbase.io.hfile.HFileReaderV2$ScannerV2.next(HFileReaderV2.java:760)
  at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekAtOrAfter(StoreFileScanner.java:248)
at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek(StoreFileScanner.java:152)
   at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.seekScanners(StoreScanner.java:317)
  at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:176)
   at org.apache.hadoop.hbase.regionserver.HStore.getScanner(HStore.java:1780)
   at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3758)
   at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1950)
   at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1936)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1913)
   at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3157)
   at 
 org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29587)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2027)
 at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108)
  at 
 org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114)
at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:94)
  at java.lang.Thread.run(Thread.java:744)



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


[jira] [Updated] (HBASE-11869) Support snapshot owner

2014-12-30 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-11869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-11869:
---
Resolution: Fixed
Status: Resolved  (was: Patch Available)

This was integrated 3 months ago.

 Support snapshot owner
 --

 Key: HBASE-11869
 URL: https://issues.apache.org/jira/browse/HBASE-11869
 Project: HBase
  Issue Type: Improvement
Reporter: Liu Shaohui
Assignee: Liu Shaohui
Priority: Minor
 Fix For: 2.0.0

 Attachments: HBASE-11869-trunk-v1.diff, HBASE-11869-trunk-v3.diff, 
 HBASE-11869-trunk-v4.diff


 In current codebase, the table snapshot operations only can be done by the 
 global admin , not by  the table admin.
 There is a multi-tenant hbase cluster, each table has different snapshot 
 policies, eg: do snapshot per week, or snapshot after the new data are 
 imported. 
 We want to release the snapshot permission to each table admin.
 According to [~mbertozzi]'s suggestion, we implement the snapshot owner 
 feature.
 * The user with table admin permission can create snapshot and the owner of 
 this snapshot is this user.
 * The owner of snapshot can delete and restore the snapshot.
 * Only the user with global admin permission can clone a snapshot, for this 
 operation creates a new table.
   



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


[jira] [Commented] (HBASE-12684) Add new AsyncRpcClient

2014-12-30 Thread Jurriaan Mous (JIRA)

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

Jurriaan Mous commented on HBASE-12684:
---

In the current patch it is on by default because AsyncRpcClient is the default 
in RpcClientFactory. This way all the tests that use RpcClientFactory would use 
this new client. (The ones that don't have AsyncRpcClient duplicates) What the 
future default is is to be decided. It is configurable with 
hbase.rpc.client.impl.

I am curious what the results are! 

You could possibly try out some thread pool tweaking with 
hbase.rpc.client.threads.max. It is by default 0 to let Netty decide. (Which 
is: Runtime.getRuntime().availableProcessors() * 2) Size of 1 made some tests 
fail. 
It seems in profiling that the new embedded thread pool ups the thread count a 
bit. But the total can come done in the future as the AsyncProcess could move 
to Netty channel threads. I did get some good runtime and CPU improvements on a 
few tests but I don't know what that represents in a normal cluster run.

 Add new AsyncRpcClient
 --

 Key: HBASE-12684
 URL: https://issues.apache.org/jira/browse/HBASE-12684
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12684-DEBUG2.patch, HBASE-12684-DEBUG3.patch, 
 HBASE-12684-v1.patch, HBASE-12684-v10.patch, HBASE-12684-v11.patch, 
 HBASE-12684-v12.patch, HBASE-12684-v13.patch, HBASE-12684-v14.patch, 
 HBASE-12684-v15.patch, HBASE-12684-v16.patch, HBASE-12684-v17.patch, 
 HBASE-12684-v17.patch, HBASE-12684-v18.patch, HBASE-12684-v2.patch, 
 HBASE-12684-v3.patch, HBASE-12684-v4.patch, HBASE-12684-v5.patch, 
 HBASE-12684-v6.patch, HBASE-12684-v7.patch, HBASE-12684-v8.patch, 
 HBASE-12684-v9.patch, HBASE-12684.patch


 With the changes in HBASE-12597 it is possible to add new RpcClients. This 
 issue is about adding a new Async RpcClient which would enable HBase to do 
 non blocking protobuf service communication.
 Besides delivering a new AsyncRpcClient I would also like to ask the question 
 what it would take to replace the current RpcClient? This would enable to 
 simplify async code in some next issues.



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


[jira] [Created] (HBASE-12784) TestFastFailWithoutTestUtil#testPreemptiveFastFailException50Times sometimes hangs

2014-12-30 Thread Ted Yu (JIRA)
Ted Yu created HBASE-12784:
--

 Summary: 
TestFastFailWithoutTestUtil#testPreemptiveFastFailException50Times sometimes 
hangs
 Key: HBASE-12784
 URL: https://issues.apache.org/jira/browse/HBASE-12784
 Project: HBase
  Issue Type: Test
Reporter: Ted Yu
Priority: Minor


I was running test suite against hadoop 2.7.0-SNAPSHOT and saw this:
{code}
testPreemptiveFastFailException50Times(org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil)
  Time elapsed: 120.013 sec   ERROR!
java.lang.Exception: test timed out after 12 milliseconds
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:248)
at java.util.concurrent.FutureTask.get(FutureTask.java:111)
at 
org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil.testPreemptiveFastFailException(TestFastFailWithoutTestUtil.java:450)
at 
org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil.testPreemptiveFastFailException50Times(TestFastFailWithoutTestUtil.java:338)
{code}



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


[jira] [Updated] (HBASE-12784) TestFastFailWithoutTestUtil#testPreemptiveFastFailException50Times sometimes hangs

2014-12-30 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-12784:
---
Attachment: 
org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil-output.txt

 TestFastFailWithoutTestUtil#testPreemptiveFastFailException50Times sometimes 
 hangs
 --

 Key: HBASE-12784
 URL: https://issues.apache.org/jira/browse/HBASE-12784
 Project: HBase
  Issue Type: Test
Reporter: Ted Yu
Priority: Minor
 Attachments: 
 org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil-output.txt


 I was running test suite against hadoop 2.7.0-SNAPSHOT and saw this:
 {code}
 testPreemptiveFastFailException50Times(org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil)
   Time elapsed: 120.013 sec   ERROR!
 java.lang.Exception: test timed out after 12 milliseconds
 at sun.misc.Unsafe.park(Native Method)
 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
 at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
 at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
 at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
 at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:248)
 at java.util.concurrent.FutureTask.get(FutureTask.java:111)
 at 
 org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil.testPreemptiveFastFailException(TestFastFailWithoutTestUtil.java:450)
 at 
 org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil.testPreemptiveFastFailException50Times(TestFastFailWithoutTestUtil.java:338)
 {code}



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


[jira] [Commented] (HBASE-12607) TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0

2014-12-30 Thread Sean Busbey (JIRA)

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

Sean Busbey commented on HBASE-12607:
-

+1. It would be nice if we used a 
[FutureTask|http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/FutureTask.html]
 to timeout the attempt to get the lock rather than wait the whole period and 
then fail, but I'm fine with that being a follow-on.

 TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0
 -

 Key: HBASE-12607
 URL: https://issues.apache.org/jira/browse/HBASE-12607
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
  Labels: hbck
 Attachments: 12607-v1.txt, 12607-v2.txt, 
 org.apache.hadoop.hbase.util.TestHBaseFsck-output.txt


 TestHBaseFsck#testParallelHbck consistently fails on both Linux and Mac.
 I added more logging as shown below:
 {code}
 HBaseFsck h1 = hbck1.get();
 HBaseFsck h2 = hbck2.get();
 LOG.warn(h1:  + h1);
 LOG.warn(h2:  + h2);
 {code}
 I saw the following in test output:
 {code}
 2014-12-01 14:58:44,728 WARN  [main] util.TestHBaseFsck(576): h1: 
 org.apache.hadoop.hbase.util.HBaseFsck@72aa738e
 2014-12-01 14:58:44,729 WARN  [main] util.TestHBaseFsck(577): h2: 
 org.apache.hadoop.hbase.util.HBaseFsck@186e2ce6
 {code}



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


[jira] [Updated] (HBASE-12607) TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0

2014-12-30 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12607?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-12607:
---
Fix Version/s: 1.1.0
   2.0.0
 Hadoop Flags: Reviewed

 TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0
 -

 Key: HBASE-12607
 URL: https://issues.apache.org/jira/browse/HBASE-12607
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
  Labels: hbck
 Fix For: 2.0.0, 1.1.0

 Attachments: 12607-v1.txt, 12607-v2.txt, 
 org.apache.hadoop.hbase.util.TestHBaseFsck-output.txt


 TestHBaseFsck#testParallelHbck consistently fails on both Linux and Mac.
 I added more logging as shown below:
 {code}
 HBaseFsck h1 = hbck1.get();
 HBaseFsck h2 = hbck2.get();
 LOG.warn(h1:  + h1);
 LOG.warn(h2:  + h2);
 {code}
 I saw the following in test output:
 {code}
 2014-12-01 14:58:44,728 WARN  [main] util.TestHBaseFsck(576): h1: 
 org.apache.hadoop.hbase.util.HBaseFsck@72aa738e
 2014-12-01 14:58:44,729 WARN  [main] util.TestHBaseFsck(577): h2: 
 org.apache.hadoop.hbase.util.HBaseFsck@186e2ce6
 {code}



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


[jira] [Commented] (HBASE-3719) Workload has to drain before hlog can be rolled

2014-12-30 Thread Sean Busbey (JIRA)

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

Sean Busbey commented on HBASE-3719:


client request to those regions that share the WAL that is rolling will wait, 
yes. I don't think we actually need to wait for the log close though, provided 
we had waited for a sync (that is, our persistence promise is already met at 
sync time).

One of the suggestions I've seen in connection with HBASE-10278 is to always 
use a hot spare HDFS pipeline to do the rolling. I think that's a great idea 
and we could combine it with having a worker handle the closing outside of the 
critical section. That should go a long way to minimizing how much of a time 
hit clients take at roll time.

 Workload has to drain before hlog can be rolled
 ---

 Key: HBASE-3719
 URL: https://issues.apache.org/jira/browse/HBASE-3719
 Project: HBase
  Issue Type: Improvement
  Components: regionserver, wal
Reporter: dhruba borthakur
Assignee: dhruba borthakur

 In the current implementation, the regionserver blocks new transactions from 
 occuring when the HLog is rolled. Closing the existing HLog sometimes takes 
 more than a few seconds and during this time all new puts/increments are 
 blocked. It will be nice if we can continue to write new transactions to the 
 new HLog (but maybe not commit those transactions) while the old HLog is 
 being closed.



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


[jira] [Updated] (HBASE-12607) TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0

2014-12-30 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12607?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-12607:
---
Fix Version/s: 0.98.10
   1.0.0

 TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0
 -

 Key: HBASE-12607
 URL: https://issues.apache.org/jira/browse/HBASE-12607
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
  Labels: hbck
 Fix For: 1.0.0, 2.0.0, 0.98.10, 1.1.0

 Attachments: 12607-v1.txt, 12607-v2.txt, 
 org.apache.hadoop.hbase.util.TestHBaseFsck-output.txt


 TestHBaseFsck#testParallelHbck consistently fails on both Linux and Mac.
 I added more logging as shown below:
 {code}
 HBaseFsck h1 = hbck1.get();
 HBaseFsck h2 = hbck2.get();
 LOG.warn(h1:  + h1);
 LOG.warn(h2:  + h2);
 {code}
 I saw the following in test output:
 {code}
 2014-12-01 14:58:44,728 WARN  [main] util.TestHBaseFsck(576): h1: 
 org.apache.hadoop.hbase.util.HBaseFsck@72aa738e
 2014-12-01 14:58:44,729 WARN  [main] util.TestHBaseFsck(577): h2: 
 org.apache.hadoop.hbase.util.HBaseFsck@186e2ce6
 {code}



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


[jira] [Commented] (HBASE-12607) TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0

2014-12-30 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-12607:


Thanks for the reviews, Ram and Sean.

 TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0
 -

 Key: HBASE-12607
 URL: https://issues.apache.org/jira/browse/HBASE-12607
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
  Labels: hbck
 Fix For: 1.0.0, 2.0.0, 0.98.10, 1.1.0

 Attachments: 12607-v1.txt, 12607-v2.txt, 
 org.apache.hadoop.hbase.util.TestHBaseFsck-output.txt


 TestHBaseFsck#testParallelHbck consistently fails on both Linux and Mac.
 I added more logging as shown below:
 {code}
 HBaseFsck h1 = hbck1.get();
 HBaseFsck h2 = hbck2.get();
 LOG.warn(h1:  + h1);
 LOG.warn(h2:  + h2);
 {code}
 I saw the following in test output:
 {code}
 2014-12-01 14:58:44,728 WARN  [main] util.TestHBaseFsck(576): h1: 
 org.apache.hadoop.hbase.util.HBaseFsck@72aa738e
 2014-12-01 14:58:44,729 WARN  [main] util.TestHBaseFsck(577): h2: 
 org.apache.hadoop.hbase.util.HBaseFsck@186e2ce6
 {code}



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


[jira] [Updated] (HBASE-12607) TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0

2014-12-30 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12607?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-12607:
---
Resolution: Fixed
Status: Resolved  (was: Patch Available)

 TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0
 -

 Key: HBASE-12607
 URL: https://issues.apache.org/jira/browse/HBASE-12607
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
  Labels: hbck
 Fix For: 1.0.0, 2.0.0, 0.98.10, 1.1.0

 Attachments: 12607-v1.txt, 12607-v2.txt, 
 org.apache.hadoop.hbase.util.TestHBaseFsck-output.txt


 TestHBaseFsck#testParallelHbck consistently fails on both Linux and Mac.
 I added more logging as shown below:
 {code}
 HBaseFsck h1 = hbck1.get();
 HBaseFsck h2 = hbck2.get();
 LOG.warn(h1:  + h1);
 LOG.warn(h2:  + h2);
 {code}
 I saw the following in test output:
 {code}
 2014-12-01 14:58:44,728 WARN  [main] util.TestHBaseFsck(576): h1: 
 org.apache.hadoop.hbase.util.HBaseFsck@72aa738e
 2014-12-01 14:58:44,729 WARN  [main] util.TestHBaseFsck(577): h2: 
 org.apache.hadoop.hbase.util.HBaseFsck@186e2ce6
 {code}



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


[jira] [Created] (HBASE-12785) Use FutureTask to timeout the attempt to get the lock for hbck

2014-12-30 Thread Ted Yu (JIRA)
Ted Yu created HBASE-12785:
--

 Summary: Use FutureTask to timeout the attempt to get the lock for 
hbck
 Key: HBASE-12785
 URL: https://issues.apache.org/jira/browse/HBASE-12785
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Priority: Minor


In reviewing HBASE-12607, Sean pointed out:

It would be nice if we used a 
[FutureTask|http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/FutureTask.html]
 to timeout the attempt to get the lock rather than wait the whole period and 
then fail.

This issue is to address Sean's review comment.



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


[jira] [Commented] (HBASE-12684) Add new AsyncRpcClient

2014-12-30 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-12684:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12689519/HBASE-12684-v18.patch
  against master branch at commit 0513a21dc8b86f57b5a6c1b742904821632f77f7.
  ATTACHMENT ID: 12689519

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 4 new 
or modified tests.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 checkstyle{color}.  The applied patch does not increase the 
total number of checkstyle errors

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

 {color:red}-1 core tests{color}.  The patch failed these unit tests:
   
org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFiles
  org.apache.hadoop.hbase.client.TestHCM

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12261//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12261//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12261//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12261//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12261//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12261//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12261//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12261//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12261//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12261//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12261//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12261//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12261//artifact/patchprocess/checkstyle-aggregate.html

  Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12261//console

This message is automatically generated.

 Add new AsyncRpcClient
 --

 Key: HBASE-12684
 URL: https://issues.apache.org/jira/browse/HBASE-12684
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12684-DEBUG2.patch, HBASE-12684-DEBUG3.patch, 
 HBASE-12684-v1.patch, HBASE-12684-v10.patch, HBASE-12684-v11.patch, 
 HBASE-12684-v12.patch, HBASE-12684-v13.patch, HBASE-12684-v14.patch, 
 HBASE-12684-v15.patch, HBASE-12684-v16.patch, HBASE-12684-v17.patch, 
 HBASE-12684-v17.patch, HBASE-12684-v18.patch, HBASE-12684-v2.patch, 
 HBASE-12684-v3.patch, HBASE-12684-v4.patch, HBASE-12684-v5.patch, 
 HBASE-12684-v6.patch, HBASE-12684-v7.patch, HBASE-12684-v8.patch, 
 HBASE-12684-v9.patch, HBASE-12684.patch


 With the changes in HBASE-12597 it is possible to add new RpcClients. This 
 issue is about adding a new Async RpcClient which would enable HBase to do 
 non blocking protobuf service communication.
 Besides delivering a new AsyncRpcClient I would also like to ask the question 
 what it would take to replace the current RpcClient? This would enable to 
 simplify async code in some next issues.



--
This message was sent 

[jira] [Commented] (HBASE-12762) Region with no hfiles will have the highest locality cost in LocalityCostFunction

2014-12-30 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12762:


Thanks. I see later builds passed. I'll follow up on test port randomization. 

 Region with no hfiles will have the highest locality cost in 
 LocalityCostFunction
 -

 Key: HBASE-12762
 URL: https://issues.apache.org/jira/browse/HBASE-12762
 Project: HBase
  Issue Type: Improvement
  Components: Balancer
Affects Versions: 0.99.2
Reporter: cuijianwei
Assignee: cuijianwei
Priority: Minor
 Fix For: 1.0.0, 2.0.0, 0.98.10, 1.1.0

 Attachments: HBASE-12762-trunk.patch


 The locality cost of region will be computed in LocalityCostFunction.cost as:
 {code}
 double cost() {
 ...
 int index = -1;
 for (int j = 0; j  regionLocations.length; j++) {
   if (regionLocations[j] = 0  regionLocations[j] == serverIndex) {
 index = j;
 break;
   }
 }
 if (index  0) {
   cost += 1;  // == region with no hfiles will have the highest cost
 } else {
   cost += (double) index / (double) regionLocations.length;
 }
 ...
 }
 {code}
 The region with no hfiles(such as empty region) will have the highest cost 
 which represents the worst case that region located in the server with no 
 locality for hfiles. However, this might be the best case because there are 
 no hlogs for the region. Although the absolute cost value won't affect the 
 balance process, will it be more reasonable to have zero cost for such 
 regions? such as:
 {code}
...
 if (index  0) {
   if (regionLocation.length  0) { //  == only consider regions with 
 hfiles
   cost += 1;
   }
 } else {
   cost += (double) index / (double) regionLocations.length;
 }
...
 {code} 



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


[jira] [Resolved] (HBASE-12762) Region with no hfiles will have the highest locality cost in LocalityCostFunction

2014-12-30 Thread Andrew Purtell (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12762?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell resolved HBASE-12762.

Resolution: Fixed

 Region with no hfiles will have the highest locality cost in 
 LocalityCostFunction
 -

 Key: HBASE-12762
 URL: https://issues.apache.org/jira/browse/HBASE-12762
 Project: HBase
  Issue Type: Improvement
  Components: Balancer
Affects Versions: 0.99.2
Reporter: cuijianwei
Assignee: cuijianwei
Priority: Minor
 Fix For: 1.0.0, 2.0.0, 0.98.10, 1.1.0

 Attachments: HBASE-12762-trunk.patch


 The locality cost of region will be computed in LocalityCostFunction.cost as:
 {code}
 double cost() {
 ...
 int index = -1;
 for (int j = 0; j  regionLocations.length; j++) {
   if (regionLocations[j] = 0  regionLocations[j] == serverIndex) {
 index = j;
 break;
   }
 }
 if (index  0) {
   cost += 1;  // == region with no hfiles will have the highest cost
 } else {
   cost += (double) index / (double) regionLocations.length;
 }
 ...
 }
 {code}
 The region with no hfiles(such as empty region) will have the highest cost 
 which represents the worst case that region located in the server with no 
 locality for hfiles. However, this might be the best case because there are 
 no hlogs for the region. Although the absolute cost value won't affect the 
 balance process, will it be more reasonable to have zero cost for such 
 regions? such as:
 {code}
...
 if (index  0) {
   if (regionLocation.length  0) { //  == only consider regions with 
 hfiles
   cost += 1;
   }
 } else {
   cost += (double) index / (double) regionLocations.length;
 }
...
 {code} 



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


[jira] [Commented] (HBASE-12728) buffered writes substantially less useful after removal of HTablePool

2014-12-30 Thread Carter (JIRA)

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

Carter commented on HBASE-12728:


[~sduskis] and I have been discussing this offline for a couple of days and 
have come up with the following proposal.  It will require a few JIRA 
sub-tasks, but it's probably only a week's worth of work, plus reviews.  In a 
nutshell:

# Deprecate autoFlush methods (ie Put buffering) in {{HTable}}
# Remove all autoFlush methods from {{Table}}
# Create {{BufferedTable}} (outlined below), which will buffer Puts using 
{{HTableMultiplexer}}
# Create {{BufferedConnection}} as a new factory class
# Have {{HTableMultiplexer}} implement {{Closeable}} (just fixing bad behavior)
# _Behavior change_: {{HTableMultiplexer}} flushes Puts by having 
{{FlushWorker}} threads...
#* _OLD_: implement low-level logic against {{AsyncProcess}}
#* _NEW_: call {{Table#putListPut}}, thus removing duplicate code and 
improving encapsulation
# _Behavior change_: When its queue is full, {{HTableMultiplexer}}...
#* _OLD_: immediately rejects all Puts
#* _NEW_: blocks for a configurable time in ms (can be 0) before rejecting Puts
# _Behavior change_: When an async Put fails...
#* _OLD_: the exception is thrown during a unrelated future Put operation 
(confusing)
#* _NEW_: an exception is sent to the a listener provided by the client, 
following the Observer pattern

These are the new classes:

{code:java}
public class BufferedConnection implements Connection {
private Connection c;
private HTableMultiplexer htm;

/* If listener is null, will log but won't notify an async exceptions */
public BufferedConnection(Connection c, ExceptionListener l) {
this.c = c;
this.htm = new HTableMultiplexer(..., c, l);
}
public BufferedTable getTable(TableName tn) {
return new BufferedTable(c.getTable(tn), htm);
}

/* getAdmin() and getRegionLocator(...) methods delegate to Connection */
}

public class BufferedTable implements Table {
private Table t;
private HTableMultiplexer htm;

public BufferedTable(Table t, HTableMultiplexer htm) { ... }

/* Puts go to htm.doPut(...), all methods delegate to t */
}

public interface ExceptionListener {
public void onException(RetriesExhaustedWithDetailsException e);
}
{code}

From a user standpoint it looks like this:

*Before*
{code:java}
Connection conn = ConnectionFactory.createConnection();
Table t = conn.getTable(TableName.valueOf(mytable));
t.setAutoFlushTo(false);

/* do stuff */

t.close();
conn.close();
{code}

*After*
{code:java}
Connection conn = new BufferedConnection(ConnectionFactory.createConnection());
Table t = conn.getTable(TableName.valueOf(mytable));

/* do stuff */

t.close();
conn.close();
{code}

In essence, a few new classes, a moderate amount of work in HTableMultiplexer, 
and a few deprecation annotations in HTable.  Let us know if this looks 
acceptable and we'll create some subtasks and make it so.


 buffered writes substantially less useful after removal of HTablePool
 -

 Key: HBASE-12728
 URL: https://issues.apache.org/jira/browse/HBASE-12728
 Project: HBase
  Issue Type: Bug
  Components: hbase
Affects Versions: 0.98.0
Reporter: Aaron Beppu

 In previous versions of HBase, when use of HTablePool was encouraged, HTable 
 instances were long-lived in that pool, and for that reason, if autoFlush was 
 set to false, the table instance could accumulate a full buffer of writes 
 before a flush was triggered. Writes from the client to the cluster could 
 then be substantially larger and less frequent than without buffering.
 However, when HTablePool was deprecated, the primary justification seems to 
 have been that creating HTable instances is cheap, so long as the connection 
 and executor service being passed to it are pre-provided. A use pattern was 
 encouraged where users should create a new HTable instance for every 
 operation, using an existing connection and executor service, and then close 
 the table. In this pattern, buffered writes are substantially less useful; 
 writes are as small and as frequent as they would have been with 
 autoflush=true, except the synchronous write is moved from the operation 
 itself to the table close call which immediately follows.
 More concretely :
 ```
 // Given these two helpers ...
 private HTableInterface getAutoFlushTable(String tableName) throws 
 IOException {
   // (autoflush is true by default)
   return storedConnection.getTable(tableName, executorService);
 }
 private HTableInterface getBufferedTable(String tableName) throws IOException 
 {
   HTableInterface table = getAutoFlushTable(tableName);
   table.setAutoFlush(false);
   return table;
 }
 // it's my contention that 

[jira] [Commented] (HBASE-12270) A bug in the bucket cache, with cache blocks on write enabled

2014-12-30 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-12270:
---

{color:green}+1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12689525/HBASE-12270-v2.patch
  against master branch at commit 0513a21dc8b86f57b5a6c1b742904821632f77f7.
  ATTACHMENT ID: 12689525

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 3 new 
or modified tests.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 checkstyle{color}.  The applied patch does not increase the 
total number of checkstyle errors

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

{color:green}+1 core tests{color}.  The patch passed unit tests in .

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12262//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12262//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12262//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12262//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12262//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12262//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12262//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12262//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12262//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12262//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12262//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12262//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12262//artifact/patchprocess/checkstyle-aggregate.html

  Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12262//console

This message is automatically generated.

 A bug in the bucket cache, with cache blocks on write enabled
 -

 Key: HBASE-12270
 URL: https://issues.apache.org/jira/browse/HBASE-12270
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.94.11, 0.98.6.1
 Environment: I can reproduce it on a simple 2 node cluster, one 
 running the master and another running a RS. I was testing on ec2.
 I used the following configurations for the cluster. 
 hbase-env:HBASE_REGIONSERVER_OPTS=-Xmx2G -XX:MaxDirectMemorySize=5G 
 -XX:CMSInitiatingOccupancyFraction=88 -XX:+AggressiveOpts -verbose:gc 
 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xlog 
 gc:/tmp/hbase-regionserver-gc.log
 hbase-site:
 hbase.bucketcache.ioengine=offheap
 hbase.bucketcache.size=4196
 hbase.rs.cacheblocksonwrite=true
 hfile.block.index.cacheonwrite=true
 hfile.block.bloom.cacheonwrite=true
Reporter: Khaled Elmeleegy
Assignee: Liu Shaohui
Priority: Critical
 Fix For: 2.0.0, 0.98.10, 1.1.0

 Attachments: HBASE-12270-v1.diff, HBASE-12270-v2.diff, 
 HBASE-12270-v2.patch, TestHBase.java, TestKey.java


 In my experiments, I have writers streaming their output to HBase. The reader 
 powers a web page and does this scatter/gather, where it reads 1000 keys 
 written last and passes them the the front end. With this 

[jira] [Commented] (HBASE-12781) thrift2 listen port will bind always to the passed command line address

2014-12-30 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12781:


FAILURE: Integrated in HBase-TRUNK #5976 (See 
[https://builds.apache.org/job/HBase-TRUNK/5976/])
HBASE-12781 thrift2 listen port will bind always to the passed command line 
address (Pankaj Kumar) (tedyu: rev 7310fa2ba7cc8546ee5d6638539457850f60eeab)
* hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftServer.java


 thrift2 listen port will bind always to the passed command line address
 ---

 Key: HBASE-12781
 URL: https://issues.apache.org/jira/browse/HBASE-12781
 Project: HBase
  Issue Type: Bug
  Components: Thrift
Affects Versions: 0.98.3
Reporter: Pankaj Kumar
Assignee: Pankaj Kumar
 Fix For: 2.0.0, 0.98.10, 1.1.0

 Attachments: 12781-V1.patch


 In Thrift server,  listen port will bind always to the address which  is 
 passed through command line argument. 
 {code}
 InetSocketAddress inetSocketAddress = bindToPort(cmd.getOptionValue(bind), 
 listenPort);
 {code}
 {code}
 private static InetSocketAddress bindToPort(String bindValue, int listenPort)
   throws UnknownHostException {
 try {
   if (bindValue == null) {
 return new InetSocketAddress(listenPort);
   } else {
 return new InetSocketAddress(InetAddress.getByName(bindValue), 
 listenPort);
   }
 } catch (UnknownHostException e) {
   throw new RuntimeException(Could not bind to provided ip address, e);
 }
   }
 {code}
 In case when bind address is not passed through argument then it is binding 
 with any local  address. It should read hbase.thrift.info.bindAddress  value 
 from configuration first.



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


[jira] [Commented] (HBASE-12740) Improve performance of TestHBaseFsck

2014-12-30 Thread Dima Spivak (JIRA)

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

Dima Spivak commented on HBASE-12740:
-

:) I'm convinced. You're awesome, [~jurmous]. Just two minor nits:

- Since poolSize is a constant, we should probably have it be a static final 
int and call it POOL_SIZE to make it stick out.
- When constructing the scheduled thread pool executor, we should pass in 
POOL_SIZE instead of the hardcoded 7 (if I'm not mistaken).

Other than that, great work. +1

 Improve performance of TestHBaseFsck
 

 Key: HBASE-12740
 URL: https://issues.apache.org/jira/browse/HBASE-12740
 Project: HBase
  Issue Type: Bug
  Components: util
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12740-v1.patch, HBASE-12740-v2.patch, 
 HBASE-12740-v3.patch, HBASE-12740.patch, PROFILE_after_patch.png, 
 PROFILE_before_patch_test_fails.png


 TestHBaseFsck performs poor on my machine. It crashes because the threads 
 reach the 2000 thread limit on my machine. Looking at the code a lot of 
 optimization is possible and some API calls are used wrong. A lot of Admin 
 instances are created and never closed, lots of Tables are not closed, 
 ThreadPoolExecutors are not shut down and an unlimited thread pool which does 
 not recycle threads.



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


[jira] [Commented] (HBASE-12781) thrift2 listen port will bind always to the passed command line address

2014-12-30 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12781:


FAILURE: Integrated in HBase-1.1 #35 (See 
[https://builds.apache.org/job/HBase-1.1/35/])
HBASE-12781 thrift2 listen port will bind always to the passed command line 
address (Pankaj Kumar) (tedyu: rev bf94d64667fd5c5a98c39060fdec683252011658)
* hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftServer.java


 thrift2 listen port will bind always to the passed command line address
 ---

 Key: HBASE-12781
 URL: https://issues.apache.org/jira/browse/HBASE-12781
 Project: HBase
  Issue Type: Bug
  Components: Thrift
Affects Versions: 0.98.3
Reporter: Pankaj Kumar
Assignee: Pankaj Kumar
 Fix For: 2.0.0, 0.98.10, 1.1.0

 Attachments: 12781-V1.patch


 In Thrift server,  listen port will bind always to the address which  is 
 passed through command line argument. 
 {code}
 InetSocketAddress inetSocketAddress = bindToPort(cmd.getOptionValue(bind), 
 listenPort);
 {code}
 {code}
 private static InetSocketAddress bindToPort(String bindValue, int listenPort)
   throws UnknownHostException {
 try {
   if (bindValue == null) {
 return new InetSocketAddress(listenPort);
   } else {
 return new InetSocketAddress(InetAddress.getByName(bindValue), 
 listenPort);
   }
 } catch (UnknownHostException e) {
   throw new RuntimeException(Could not bind to provided ip address, e);
 }
   }
 {code}
 In case when bind address is not passed through argument then it is binding 
 with any local  address. It should read hbase.thrift.info.bindAddress  value 
 from configuration first.



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


[jira] [Commented] (HBASE-12784) TestFastFailWithoutTestUtil#testPreemptiveFastFailException50Times sometimes hangs

2014-12-30 Thread Dima Spivak (JIRA)

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

Dima Spivak commented on HBASE-12784:
-

Possibly related to HBASE-12771? Are you seeing this on master, [~tedyu]?

 TestFastFailWithoutTestUtil#testPreemptiveFastFailException50Times sometimes 
 hangs
 --

 Key: HBASE-12784
 URL: https://issues.apache.org/jira/browse/HBASE-12784
 Project: HBase
  Issue Type: Test
Reporter: Ted Yu
Priority: Minor
 Attachments: 
 org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil-output.txt


 I was running test suite against hadoop 2.7.0-SNAPSHOT and saw this:
 {code}
 testPreemptiveFastFailException50Times(org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil)
   Time elapsed: 120.013 sec   ERROR!
 java.lang.Exception: test timed out after 12 milliseconds
 at sun.misc.Unsafe.park(Native Method)
 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
 at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
 at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
 at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
 at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:248)
 at java.util.concurrent.FutureTask.get(FutureTask.java:111)
 at 
 org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil.testPreemptiveFastFailException(TestFastFailWithoutTestUtil.java:450)
 at 
 org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil.testPreemptiveFastFailException50Times(TestFastFailWithoutTestUtil.java:338)
 {code}



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


[jira] [Commented] (HBASE-12784) TestFastFailWithoutTestUtil#testPreemptiveFastFailException50Times sometimes hangs

2014-12-30 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-12784:


I was running the test on branch-1

I can run the test on master later.

 TestFastFailWithoutTestUtil#testPreemptiveFastFailException50Times sometimes 
 hangs
 --

 Key: HBASE-12784
 URL: https://issues.apache.org/jira/browse/HBASE-12784
 Project: HBase
  Issue Type: Test
Reporter: Ted Yu
Priority: Minor
 Attachments: 
 org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil-output.txt


 I was running test suite against hadoop 2.7.0-SNAPSHOT and saw this:
 {code}
 testPreemptiveFastFailException50Times(org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil)
   Time elapsed: 120.013 sec   ERROR!
 java.lang.Exception: test timed out after 12 milliseconds
 at sun.misc.Unsafe.park(Native Method)
 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
 at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
 at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
 at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
 at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:248)
 at java.util.concurrent.FutureTask.get(FutureTask.java:111)
 at 
 org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil.testPreemptiveFastFailException(TestFastFailWithoutTestUtil.java:450)
 at 
 org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil.testPreemptiveFastFailException50Times(TestFastFailWithoutTestUtil.java:338)
 {code}



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


[jira] [Commented] (HBASE-12772) TestPerColumnFamilyFlush failing

2014-12-30 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-12772:
---

{color:green}+1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12689524/12772.addendum.v2.txt
  against master branch at commit 0513a21dc8b86f57b5a6c1b742904821632f77f7.
  ATTACHMENT ID: 12689524

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 3 new 
or modified tests.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 checkstyle{color}.  The applied patch does not increase the 
total number of checkstyle errors

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

{color:green}+1 core tests{color}.  The patch passed unit tests in .

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12263//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12263//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12263//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12263//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12263//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12263//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12263//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12263//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12263//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12263//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12263//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12263//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12263//artifact/patchprocess/checkstyle-aggregate.html

  Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12263//console

This message is automatically generated.

 TestPerColumnFamilyFlush failing
 

 Key: HBASE-12772
 URL: https://issues.apache.org/jira/browse/HBASE-12772
 Project: HBase
  Issue Type: Bug
  Components: test
Affects Versions: 1.0.0
Reporter: stack
Assignee: stack
 Attachments: 0001-HBASE-12772-TestPerColumnFamilyFlush-failing.patch, 
 12772.addendum.txt, 12772.addendum.v2.txt


 On internal rig see this failing in two places:
 {code}
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testFlushingWhenLogRolling
 Failing for the past 1 build (Since Failed#653 )
 Took 9 sec.
 Error Message
 expected:424 but was:205744
 Stacktrace
 java.lang.AssertionError: expected:424 but was:205744
   at org.junit.Assert.fail(Assert.java:88)
   at org.junit.Assert.failNotEquals(Assert.java:743)
   at org.junit.Assert.assertEquals(Assert.java:118)
   at org.junit.Assert.assertEquals(Assert.java:555)
   at org.junit.Assert.assertEquals(Assert.java:542)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testFlushingWhenLogRolling(TestPerColumnFamilyFlush.java:483)
 {code}
 and 
 {code}
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplayWithDistributedReplay
 Failing for the past 1 build (Since Failed#653 )
 Took 25 ms.
 Error Message
 A mini-cluster is 

[jira] [Commented] (HBASE-12784) TestFastFailWithoutTestUtil#testPreemptiveFastFailException50Times sometimes hangs

2014-12-30 Thread Dima Spivak (JIRA)

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

Dima Spivak commented on HBASE-12784:
-

Okay, cool. [~stack] was seeing the test failing occasionally only on branch-1 
(with different failure modes cited in that JIRA), so it might be a feature bug 
in PFF as opposed to a test one. Let us know if you can reproduce on master.

 TestFastFailWithoutTestUtil#testPreemptiveFastFailException50Times sometimes 
 hangs
 --

 Key: HBASE-12784
 URL: https://issues.apache.org/jira/browse/HBASE-12784
 Project: HBase
  Issue Type: Test
Reporter: Ted Yu
Priority: Minor
 Attachments: 
 org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil-output.txt


 I was running test suite against hadoop 2.7.0-SNAPSHOT and saw this:
 {code}
 testPreemptiveFastFailException50Times(org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil)
   Time elapsed: 120.013 sec   ERROR!
 java.lang.Exception: test timed out after 12 milliseconds
 at sun.misc.Unsafe.park(Native Method)
 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
 at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
 at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
 at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
 at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:248)
 at java.util.concurrent.FutureTask.get(FutureTask.java:111)
 at 
 org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil.testPreemptiveFastFailException(TestFastFailWithoutTestUtil.java:450)
 at 
 org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil.testPreemptiveFastFailException50Times(TestFastFailWithoutTestUtil.java:338)
 {code}



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


[jira] [Commented] (HBASE-12785) Use FutureTask to timeout the attempt to get the lock for hbck

2014-12-30 Thread stack (JIRA)

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

stack commented on HBASE-12785:
---

Why not address Sean's comment in HBASE-12607 rather than open a new issue? Are 
you going to work on this [~tedyu]?  This is a It would be nice... in how a 
test works.  Seems very low priority and unless you are going to work on it 
now, just close (See @apurtell suggestion we do issue cleanup).

 Use FutureTask to timeout the attempt to get the lock for hbck
 --

 Key: HBASE-12785
 URL: https://issues.apache.org/jira/browse/HBASE-12785
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Priority: Minor

 In reviewing HBASE-12607, Sean pointed out:
 It would be nice if we used a 
 [FutureTask|http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/FutureTask.html]
  to timeout the attempt to get the lock rather than wait the whole period and 
 then fail.
 This issue is to address Sean's review comment.



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


[jira] [Assigned] (HBASE-12784) TestFastFailWithoutTestUtil#testPreemptiveFastFailException50Times sometimes hangs

2014-12-30 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu reassigned HBASE-12784:
--

Assignee: Ted Yu

 TestFastFailWithoutTestUtil#testPreemptiveFastFailException50Times sometimes 
 hangs
 --

 Key: HBASE-12784
 URL: https://issues.apache.org/jira/browse/HBASE-12784
 Project: HBase
  Issue Type: Test
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Attachments: 
 org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil-output.txt


 I was running test suite against hadoop 2.7.0-SNAPSHOT and saw this:
 {code}
 testPreemptiveFastFailException50Times(org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil)
   Time elapsed: 120.013 sec   ERROR!
 java.lang.Exception: test timed out after 12 milliseconds
 at sun.misc.Unsafe.park(Native Method)
 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
 at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
 at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
 at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
 at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:248)
 at java.util.concurrent.FutureTask.get(FutureTask.java:111)
 at 
 org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil.testPreemptiveFastFailException(TestFastFailWithoutTestUtil.java:450)
 at 
 org.apache.hadoop.hbase.client.TestFastFailWithoutTestUtil.testPreemptiveFastFailException50Times(TestFastFailWithoutTestUtil.java:338)
 {code}



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


[jira] [Assigned] (HBASE-12785) Use FutureTask to timeout the attempt to get the lock for hbck

2014-12-30 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu reassigned HBASE-12785:
--

Assignee: Ted Yu

 Use FutureTask to timeout the attempt to get the lock for hbck
 --

 Key: HBASE-12785
 URL: https://issues.apache.org/jira/browse/HBASE-12785
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor

 In reviewing HBASE-12607, Sean pointed out:
 It would be nice if we used a 
 [FutureTask|http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/FutureTask.html]
  to timeout the attempt to get the lock rather than wait the whole period and 
 then fail.
 This issue is to address Sean's review comment.



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


[jira] [Updated] (HBASE-12028) Abort the RegionServer, when it's handler threads die

2014-12-30 Thread Enis Soztutar (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Enis Soztutar updated HBASE-12028:
--
Summary: Abort the RegionServer, when it's handler threads die  (was: Abort 
the RegionServer, when one of it's handler threads die)

 Abort the RegionServer, when it's handler threads die
 -

 Key: HBASE-12028
 URL: https://issues.apache.org/jira/browse/HBASE-12028
 Project: HBase
  Issue Type: Bug
  Components: regionserver
Reporter: Sudarshan Kadambi
Assignee: Alicia Ying Shu
 Attachments: Hbase-12028-v3.patch, Hbase-12028.patch, 
 hbase-12028-v4.patch, hbase-12028-v5.patch


 Over in HBase-11813, a user identified an issue where in all the RPC handler 
 threads would exit with StackOverflow errors due to an unchecked 
 recursion-terminating condition. Our clusters demonstrated the same trace. 
 While the patch posted for HBASE-11813 got our clusters to be merry again, 
 the breakdown surfaced some larger issues.
 When the RegionServer had all it's RPC handler threads dead, it continued to 
 have regions assigned it. Clearly, it wouldn't be able to serve reads and 
 writes on those regions. A second issue was that when a user tried to disable 
 or drop a table, the master would try to communicate to the regionserver for 
 region unassignment. Since the same handler threads seem to be used for 
 master - RS communication as well, the master ended up hanging on the RS 
 indefinitely. Eventually, the master stopped responding to all table 
 meta-operations.
 A handler thread should never exit, and if it does, it seems like the more 
 prudent thing to do would be for the RS to abort. This way, at least recovery 
 can be undertaken and the regions could be reassigned elsewhere. I also think 
 that the master-RS communication should get its own exclusive threadpool, 
 but I'll wait until this issue has been sufficiently discussed before opening 
 an issue ticket for that.



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


[jira] [Commented] (HBASE-12785) Use FutureTask to timeout the attempt to get the lock for hbck

2014-12-30 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-12785:


I am working on a patch.

The fix for HBASE-12607 was not test fix - previous code depended on a bug 
which has been fixed in hadoop.
Meaning, parallel execution of hbck against hadoop 2.6.0+ would not work as 
expected.

 Use FutureTask to timeout the attempt to get the lock for hbck
 --

 Key: HBASE-12785
 URL: https://issues.apache.org/jira/browse/HBASE-12785
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor

 In reviewing HBASE-12607, Sean pointed out:
 It would be nice if we used a 
 [FutureTask|http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/FutureTask.html]
  to timeout the attempt to get the lock rather than wait the whole period and 
 then fail.
 This issue is to address Sean's review comment.



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


[jira] [Commented] (HBASE-12607) TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0

2014-12-30 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12607:


SUCCESS: Integrated in HBase-1.0 #620 (See 
[https://builds.apache.org/job/HBase-1.0/620/])
HBASE-12607 TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0 
(tedyu: rev 1f613bcceaf5c9ff4a67f0799306094173374730)
* hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java


 TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0
 -

 Key: HBASE-12607
 URL: https://issues.apache.org/jira/browse/HBASE-12607
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
  Labels: hbck
 Fix For: 1.0.0, 2.0.0, 0.98.10, 1.1.0

 Attachments: 12607-v1.txt, 12607-v2.txt, 
 org.apache.hadoop.hbase.util.TestHBaseFsck-output.txt


 TestHBaseFsck#testParallelHbck consistently fails on both Linux and Mac.
 I added more logging as shown below:
 {code}
 HBaseFsck h1 = hbck1.get();
 HBaseFsck h2 = hbck2.get();
 LOG.warn(h1:  + h1);
 LOG.warn(h2:  + h2);
 {code}
 I saw the following in test output:
 {code}
 2014-12-01 14:58:44,728 WARN  [main] util.TestHBaseFsck(576): h1: 
 org.apache.hadoop.hbase.util.HBaseFsck@72aa738e
 2014-12-01 14:58:44,729 WARN  [main] util.TestHBaseFsck(577): h2: 
 org.apache.hadoop.hbase.util.HBaseFsck@186e2ce6
 {code}



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


[jira] [Updated] (HBASE-12028) Abort the RegionServer, when it's handler threads die

2014-12-30 Thread Enis Soztutar (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Enis Soztutar updated HBASE-12028:
--
Release Note: 
Adds a configuration property 
hbase.regionserver.handler.abort.on.error.percent for aborting the region 
server when some of it's handler threads die. The default value is 0.5 causing 
an abort in the RS when half of it's handler threads die. A handler thread only 
dies in case of a serious software bug, or a non-recoverable Error 
(StackOverflow, OOM, etc) is thrown. 
These are possible values for the configuration:
   * -1  = Disable aborting
   * 0   = Abort if even a single handler has died
   * 0.x = Abort only when this percent of handlers have died
   * 1   = Abort only all of the handers have died


 Abort the RegionServer, when it's handler threads die
 -

 Key: HBASE-12028
 URL: https://issues.apache.org/jira/browse/HBASE-12028
 Project: HBase
  Issue Type: Bug
  Components: regionserver
Reporter: Sudarshan Kadambi
Assignee: Alicia Ying Shu
 Attachments: Hbase-12028-v3.patch, Hbase-12028.patch, 
 hbase-12028-v4.patch, hbase-12028-v5.patch


 Over in HBase-11813, a user identified an issue where in all the RPC handler 
 threads would exit with StackOverflow errors due to an unchecked 
 recursion-terminating condition. Our clusters demonstrated the same trace. 
 While the patch posted for HBASE-11813 got our clusters to be merry again, 
 the breakdown surfaced some larger issues.
 When the RegionServer had all it's RPC handler threads dead, it continued to 
 have regions assigned it. Clearly, it wouldn't be able to serve reads and 
 writes on those regions. A second issue was that when a user tried to disable 
 or drop a table, the master would try to communicate to the regionserver for 
 region unassignment. Since the same handler threads seem to be used for 
 master - RS communication as well, the master ended up hanging on the RS 
 indefinitely. Eventually, the master stopped responding to all table 
 meta-operations.
 A handler thread should never exit, and if it does, it seems like the more 
 prudent thing to do would be for the RS to abort. This way, at least recovery 
 can be undertaken and the regions could be reassigned elsewhere. I also think 
 that the master-RS communication should get its own exclusive threadpool, 
 but I'll wait until this issue has been sufficiently discussed before opening 
 an issue ticket for that.



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


[jira] [Commented] (HBASE-12028) Abort the RegionServer, when it's handler threads die

2014-12-30 Thread Enis Soztutar (JIRA)

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

Enis Soztutar commented on HBASE-12028:
---

Some offline discussions with Alicia, she reverted the 
RpcSchedulerFactory.Context change to enabled Phoenix to be able to compile 
with both 0.98 and 1.1+ versions in v5. 
+1 for the patch. Added some release notes to the issue. This will be ON by 
default. Will commit to branch-1+ unless objection.  

 Abort the RegionServer, when it's handler threads die
 -

 Key: HBASE-12028
 URL: https://issues.apache.org/jira/browse/HBASE-12028
 Project: HBase
  Issue Type: Bug
  Components: regionserver
Reporter: Sudarshan Kadambi
Assignee: Alicia Ying Shu
 Attachments: Hbase-12028-v3.patch, Hbase-12028.patch, 
 hbase-12028-v4.patch, hbase-12028-v5.patch


 Over in HBase-11813, a user identified an issue where in all the RPC handler 
 threads would exit with StackOverflow errors due to an unchecked 
 recursion-terminating condition. Our clusters demonstrated the same trace. 
 While the patch posted for HBASE-11813 got our clusters to be merry again, 
 the breakdown surfaced some larger issues.
 When the RegionServer had all it's RPC handler threads dead, it continued to 
 have regions assigned it. Clearly, it wouldn't be able to serve reads and 
 writes on those regions. A second issue was that when a user tried to disable 
 or drop a table, the master would try to communicate to the regionserver for 
 region unassignment. Since the same handler threads seem to be used for 
 master - RS communication as well, the master ended up hanging on the RS 
 indefinitely. Eventually, the master stopped responding to all table 
 meta-operations.
 A handler thread should never exit, and if it does, it seems like the more 
 prudent thing to do would be for the RS to abort. This way, at least recovery 
 can be undertaken and the regions could be reassigned elsewhere. I also think 
 that the master-RS communication should get its own exclusive threadpool, 
 but I'll wait until this issue has been sufficiently discussed before opening 
 an issue ticket for that.



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


[jira] [Commented] (HBASE-12785) Use FutureTask to timeout the attempt to get the lock for hbck

2014-12-30 Thread stack (JIRA)

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

stack commented on HBASE-12785:
---

bq.  I am working on a patch.

Good. I won't close this as friviolous just yet.



 Use FutureTask to timeout the attempt to get the lock for hbck
 --

 Key: HBASE-12785
 URL: https://issues.apache.org/jira/browse/HBASE-12785
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor

 In reviewing HBASE-12607, Sean pointed out:
 It would be nice if we used a 
 [FutureTask|http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/FutureTask.html]
  to timeout the attempt to get the lock rather than wait the whole period and 
 then fail.
 This issue is to address Sean's review comment.



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


[jira] [Comment Edited] (HBASE-12785) Use FutureTask to timeout the attempt to get the lock for hbck

2014-12-30 Thread stack (JIRA)

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

stack edited comment on HBASE-12785 at 12/30/14 7:07 PM:
-

bq.  I am working on a patch.

Good. I won't close this as friviolous just yet (What I don't get is that if 
you are working on it 'now', why did HBASE-12607 have to get committed before 
addressing Seans' comment rather than wait?  Why create a JIRA just to address 
his comment?)




was (Author: stack):
bq.  I am working on a patch.

Good. I won't close this as friviolous just yet.



 Use FutureTask to timeout the attempt to get the lock for hbck
 --

 Key: HBASE-12785
 URL: https://issues.apache.org/jira/browse/HBASE-12785
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor

 In reviewing HBASE-12607, Sean pointed out:
 It would be nice if we used a 
 [FutureTask|http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/FutureTask.html]
  to timeout the attempt to get the lock rather than wait the whole period and 
 then fail.
 This issue is to address Sean's review comment.



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


[jira] [Commented] (HBASE-12781) thrift2 listen port will bind always to the passed command line address

2014-12-30 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12781:


SUCCESS: Integrated in HBase-0.98-on-Hadoop-1.1 #731 (See 
[https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/731/])
HBASE-12781 thrift2 listen port will bind always to the passed command line 
address (Pankaj Kumar) (tedyu: rev 2885bd6a1538f28df2cf97ac5c34fbde6f359a9f)
* hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftServer.java


 thrift2 listen port will bind always to the passed command line address
 ---

 Key: HBASE-12781
 URL: https://issues.apache.org/jira/browse/HBASE-12781
 Project: HBase
  Issue Type: Bug
  Components: Thrift
Affects Versions: 0.98.3
Reporter: Pankaj Kumar
Assignee: Pankaj Kumar
 Fix For: 2.0.0, 0.98.10, 1.1.0

 Attachments: 12781-V1.patch


 In Thrift server,  listen port will bind always to the address which  is 
 passed through command line argument. 
 {code}
 InetSocketAddress inetSocketAddress = bindToPort(cmd.getOptionValue(bind), 
 listenPort);
 {code}
 {code}
 private static InetSocketAddress bindToPort(String bindValue, int listenPort)
   throws UnknownHostException {
 try {
   if (bindValue == null) {
 return new InetSocketAddress(listenPort);
   } else {
 return new InetSocketAddress(InetAddress.getByName(bindValue), 
 listenPort);
   }
 } catch (UnknownHostException e) {
   throw new RuntimeException(Could not bind to provided ip address, e);
 }
   }
 {code}
 In case when bind address is not passed through argument then it is binding 
 with any local  address. It should read hbase.thrift.info.bindAddress  value 
 from configuration first.



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


[jira] [Commented] (HBASE-12028) Abort the RegionServer, when it's handler threads die

2014-12-30 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-12028:


Are you intending a commit to 0.98 also? The key change is new constructors for 
passing in an Abortable to RPC schedulers, and existing constructors are 
retained and deprecated. This seems fine as long as default configuration is 
current behavior. 

 Abort the RegionServer, when it's handler threads die
 -

 Key: HBASE-12028
 URL: https://issues.apache.org/jira/browse/HBASE-12028
 Project: HBase
  Issue Type: Bug
  Components: regionserver
Reporter: Sudarshan Kadambi
Assignee: Alicia Ying Shu
 Attachments: Hbase-12028-v3.patch, Hbase-12028.patch, 
 hbase-12028-v4.patch, hbase-12028-v5.patch


 Over in HBase-11813, a user identified an issue where in all the RPC handler 
 threads would exit with StackOverflow errors due to an unchecked 
 recursion-terminating condition. Our clusters demonstrated the same trace. 
 While the patch posted for HBASE-11813 got our clusters to be merry again, 
 the breakdown surfaced some larger issues.
 When the RegionServer had all it's RPC handler threads dead, it continued to 
 have regions assigned it. Clearly, it wouldn't be able to serve reads and 
 writes on those regions. A second issue was that when a user tried to disable 
 or drop a table, the master would try to communicate to the regionserver for 
 region unassignment. Since the same handler threads seem to be used for 
 master - RS communication as well, the master ended up hanging on the RS 
 indefinitely. Eventually, the master stopped responding to all table 
 meta-operations.
 A handler thread should never exit, and if it does, it seems like the more 
 prudent thing to do would be for the RS to abort. This way, at least recovery 
 can be undertaken and the regions could be reassigned elsewhere. I also think 
 that the master-RS communication should get its own exclusive threadpool, 
 but I'll wait until this issue has been sufficiently discussed before opening 
 an issue ticket for that.



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


[jira] [Commented] (HBASE-12781) thrift2 listen port will bind always to the passed command line address

2014-12-30 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12781:


SUCCESS: Integrated in HBase-0.98 #765 (See 
[https://builds.apache.org/job/HBase-0.98/765/])
HBASE-12781 thrift2 listen port will bind always to the passed command line 
address (Pankaj Kumar) (tedyu: rev 2885bd6a1538f28df2cf97ac5c34fbde6f359a9f)
* hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftServer.java


 thrift2 listen port will bind always to the passed command line address
 ---

 Key: HBASE-12781
 URL: https://issues.apache.org/jira/browse/HBASE-12781
 Project: HBase
  Issue Type: Bug
  Components: Thrift
Affects Versions: 0.98.3
Reporter: Pankaj Kumar
Assignee: Pankaj Kumar
 Fix For: 2.0.0, 0.98.10, 1.1.0

 Attachments: 12781-V1.patch


 In Thrift server,  listen port will bind always to the address which  is 
 passed through command line argument. 
 {code}
 InetSocketAddress inetSocketAddress = bindToPort(cmd.getOptionValue(bind), 
 listenPort);
 {code}
 {code}
 private static InetSocketAddress bindToPort(String bindValue, int listenPort)
   throws UnknownHostException {
 try {
   if (bindValue == null) {
 return new InetSocketAddress(listenPort);
   } else {
 return new InetSocketAddress(InetAddress.getByName(bindValue), 
 listenPort);
   }
 } catch (UnknownHostException e) {
   throw new RuntimeException(Could not bind to provided ip address, e);
 }
   }
 {code}
 In case when bind address is not passed through argument then it is binding 
 with any local  address. It should read hbase.thrift.info.bindAddress  value 
 from configuration first.



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


[jira] [Commented] (HBASE-12772) TestPerColumnFamilyFlush failing

2014-12-30 Thread Dima Spivak (JIRA)

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

Dima Spivak commented on HBASE-12772:
-

Passed 25/25 times on my machine. +1 from me.

 TestPerColumnFamilyFlush failing
 

 Key: HBASE-12772
 URL: https://issues.apache.org/jira/browse/HBASE-12772
 Project: HBase
  Issue Type: Bug
  Components: test
Affects Versions: 1.0.0
Reporter: stack
Assignee: stack
 Attachments: 0001-HBASE-12772-TestPerColumnFamilyFlush-failing.patch, 
 12772.addendum.txt, 12772.addendum.v2.txt


 On internal rig see this failing in two places:
 {code}
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testFlushingWhenLogRolling
 Failing for the past 1 build (Since Failed#653 )
 Took 9 sec.
 Error Message
 expected:424 but was:205744
 Stacktrace
 java.lang.AssertionError: expected:424 but was:205744
   at org.junit.Assert.fail(Assert.java:88)
   at org.junit.Assert.failNotEquals(Assert.java:743)
   at org.junit.Assert.assertEquals(Assert.java:118)
   at org.junit.Assert.assertEquals(Assert.java:555)
   at org.junit.Assert.assertEquals(Assert.java:542)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testFlushingWhenLogRolling(TestPerColumnFamilyFlush.java:483)
 {code}
 and 
 {code}
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplayWithDistributedReplay
 Failing for the past 1 build (Since Failed#653 )
 Took 25 ms.
 Error Message
 A mini-cluster is already running
 Stacktrace
 java.lang.IllegalStateException: A mini-cluster is already running
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:921)
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:812)
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:794)
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:781)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplay(TestPerColumnFamilyFlush.java:337)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplayWithDistributedReplay(TestPerColumnFamilyFlush.java:418)
 {code}
 Opening issue to keep an eye on these tests.



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


[jira] [Updated] (HBASE-12772) TestPerColumnFamilyFlush failing

2014-12-30 Thread stack (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12772?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-12772:
--
   Resolution: Fixed
Fix Version/s: 1.1.0
   2.0.0
 Hadoop Flags: Reviewed
   Status: Resolved  (was: Patch Available)

Pushed to branch-1 and master.

 TestPerColumnFamilyFlush failing
 

 Key: HBASE-12772
 URL: https://issues.apache.org/jira/browse/HBASE-12772
 Project: HBase
  Issue Type: Bug
  Components: test
Affects Versions: 1.0.0
Reporter: stack
Assignee: stack
 Fix For: 2.0.0, 1.1.0

 Attachments: 0001-HBASE-12772-TestPerColumnFamilyFlush-failing.patch, 
 12772.addendum.txt, 12772.addendum.v2.txt


 On internal rig see this failing in two places:
 {code}
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testFlushingWhenLogRolling
 Failing for the past 1 build (Since Failed#653 )
 Took 9 sec.
 Error Message
 expected:424 but was:205744
 Stacktrace
 java.lang.AssertionError: expected:424 but was:205744
   at org.junit.Assert.fail(Assert.java:88)
   at org.junit.Assert.failNotEquals(Assert.java:743)
   at org.junit.Assert.assertEquals(Assert.java:118)
   at org.junit.Assert.assertEquals(Assert.java:555)
   at org.junit.Assert.assertEquals(Assert.java:542)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testFlushingWhenLogRolling(TestPerColumnFamilyFlush.java:483)
 {code}
 and 
 {code}
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplayWithDistributedReplay
 Failing for the past 1 build (Since Failed#653 )
 Took 25 ms.
 Error Message
 A mini-cluster is already running
 Stacktrace
 java.lang.IllegalStateException: A mini-cluster is already running
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:921)
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:812)
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:794)
   at 
 org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:781)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplay(TestPerColumnFamilyFlush.java:337)
   at 
 org.apache.hadoop.hbase.regionserver.TestPerColumnFamilyFlush.testLogReplayWithDistributedReplay(TestPerColumnFamilyFlush.java:418)
 {code}
 Opening issue to keep an eye on these tests.



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


[jira] [Commented] (HBASE-12607) TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0

2014-12-30 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12607:


FAILURE: Integrated in HBase-1.1 #36 (See 
[https://builds.apache.org/job/HBase-1.1/36/])
HBASE-12607 TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0 
(tedyu: rev 034b10733d58f38db3dae89f830408e3fa71703b)
* hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java


 TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0
 -

 Key: HBASE-12607
 URL: https://issues.apache.org/jira/browse/HBASE-12607
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
  Labels: hbck
 Fix For: 1.0.0, 2.0.0, 0.98.10, 1.1.0

 Attachments: 12607-v1.txt, 12607-v2.txt, 
 org.apache.hadoop.hbase.util.TestHBaseFsck-output.txt


 TestHBaseFsck#testParallelHbck consistently fails on both Linux and Mac.
 I added more logging as shown below:
 {code}
 HBaseFsck h1 = hbck1.get();
 HBaseFsck h2 = hbck2.get();
 LOG.warn(h1:  + h1);
 LOG.warn(h2:  + h2);
 {code}
 I saw the following in test output:
 {code}
 2014-12-01 14:58:44,728 WARN  [main] util.TestHBaseFsck(576): h1: 
 org.apache.hadoop.hbase.util.HBaseFsck@72aa738e
 2014-12-01 14:58:44,729 WARN  [main] util.TestHBaseFsck(577): h2: 
 org.apache.hadoop.hbase.util.HBaseFsck@186e2ce6
 {code}



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


[jira] [Commented] (HBASE-12607) TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0

2014-12-30 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12607:


SUCCESS: Integrated in HBase-TRUNK #5977 (See 
[https://builds.apache.org/job/HBase-TRUNK/5977/])
HBASE-12607 TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0 
(tedyu: rev 57b1efaabed195c8dfed9823dcca80260cfea946)
* hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java


 TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0
 -

 Key: HBASE-12607
 URL: https://issues.apache.org/jira/browse/HBASE-12607
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
  Labels: hbck
 Fix For: 1.0.0, 2.0.0, 0.98.10, 1.1.0

 Attachments: 12607-v1.txt, 12607-v2.txt, 
 org.apache.hadoop.hbase.util.TestHBaseFsck-output.txt


 TestHBaseFsck#testParallelHbck consistently fails on both Linux and Mac.
 I added more logging as shown below:
 {code}
 HBaseFsck h1 = hbck1.get();
 HBaseFsck h2 = hbck2.get();
 LOG.warn(h1:  + h1);
 LOG.warn(h2:  + h2);
 {code}
 I saw the following in test output:
 {code}
 2014-12-01 14:58:44,728 WARN  [main] util.TestHBaseFsck(576): h1: 
 org.apache.hadoop.hbase.util.HBaseFsck@72aa738e
 2014-12-01 14:58:44,729 WARN  [main] util.TestHBaseFsck(577): h2: 
 org.apache.hadoop.hbase.util.HBaseFsck@186e2ce6
 {code}



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


[jira] [Updated] (HBASE-12719) Add test WAL provider to quantify FSHLog overhead in the absence of HDFS.

2014-12-30 Thread Sean Busbey (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12719?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sean Busbey updated HBASE-12719:

Attachment: HBASE-12719.1.patch.txt
HBASE-12719_comparison_chart.tiff

attaching an implementation as well as a chart showing the perf change going 
from disabled WAL to various amounts of HDFS interactions.

if you look at HBASE-12719_comparison_chart you can see the disabled WAL 
(which is all noops) in red at the top. The cyan line is FSHLog but w/o any 
HDFS interactions. The default FSHLog and the new test driver but with all 
interactions enabled are at the bottom; they've drawn over each other so only 
one is apparent.

 Add test WAL provider to quantify FSHLog overhead in the absence of HDFS.
 -

 Key: HBASE-12719
 URL: https://issues.apache.org/jira/browse/HBASE-12719
 Project: HBase
  Issue Type: Improvement
  Components: test, wal
Reporter: Sean Busbey
Assignee: Sean Busbey
Priority: Minor
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12719.1.patch.txt, 
 HBASE-12719_comparison_chart.tiff


 Discussion in HBASE-5699 included showing the max throughput for our WAL 
 benchmark (using the DisabledWALProvider) compared to when we are actually 
 dealing with synchronization and talking with HDFS.
 What we can't see in that comparison is how much of the (sizable) gap is due 
 to the coordination done in FSHLog to deal with multi-threading and how much 
 of it is due to talking to HDFS.
 Make a test-only provider that we can use to isolate the cost for HDFS 
 appends, HDFS flush, and file rolling.



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


[jira] [Updated] (HBASE-12740) Improve performance of TestHBaseFsck

2014-12-30 Thread Jurriaan Mous (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jurriaan Mous updated HBASE-12740:
--
Attachment: HBASE-12740-v4.patch

Nits are always welcome! :) I applied your suggestions. Thanks for reviewing!

 Improve performance of TestHBaseFsck
 

 Key: HBASE-12740
 URL: https://issues.apache.org/jira/browse/HBASE-12740
 Project: HBase
  Issue Type: Bug
  Components: util
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12740-v1.patch, HBASE-12740-v2.patch, 
 HBASE-12740-v3.patch, HBASE-12740-v4.patch, HBASE-12740.patch, 
 PROFILE_after_patch.png, PROFILE_before_patch_test_fails.png


 TestHBaseFsck performs poor on my machine. It crashes because the threads 
 reach the 2000 thread limit on my machine. Looking at the code a lot of 
 optimization is possible and some API calls are used wrong. A lot of Admin 
 instances are created and never closed, lots of Tables are not closed, 
 ThreadPoolExecutors are not shut down and an unlimited thread pool which does 
 not recycle threads.



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


[jira] [Commented] (HBASE-12740) Improve performance of TestHBaseFsck

2014-12-30 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-12740:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12689556/HBASE-12740-v4.patch
  against master branch at commit c6002ccd3873f3950df50bef7f4ac4c5760d595f.
  ATTACHMENT ID: 12689556

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 11 new 
or modified tests.

{color:red}-1 patch{color}.  The patch command could not apply the patch.

Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/12265//console

This message is automatically generated.

 Improve performance of TestHBaseFsck
 

 Key: HBASE-12740
 URL: https://issues.apache.org/jira/browse/HBASE-12740
 Project: HBase
  Issue Type: Bug
  Components: util
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12740-v1.patch, HBASE-12740-v2.patch, 
 HBASE-12740-v3.patch, HBASE-12740-v4.patch, HBASE-12740.patch, 
 PROFILE_after_patch.png, PROFILE_before_patch_test_fails.png


 TestHBaseFsck performs poor on my machine. It crashes because the threads 
 reach the 2000 thread limit on my machine. Looking at the code a lot of 
 optimization is possible and some API calls are used wrong. A lot of Admin 
 instances are created and never closed, lots of Tables are not closed, 
 ThreadPoolExecutors are not shut down and an unlimited thread pool which does 
 not recycle threads.



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


[jira] [Updated] (HBASE-12719) Add test WAL provider to quantify FSHLog overhead in the absence of HDFS.

2014-12-30 Thread Sean Busbey (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12719?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sean Busbey updated HBASE-12719:

Attachment: HBASE-12719.2.patch.txt

including the patch actually used to make the charts, version 1 was stale. :/

 Add test WAL provider to quantify FSHLog overhead in the absence of HDFS.
 -

 Key: HBASE-12719
 URL: https://issues.apache.org/jira/browse/HBASE-12719
 Project: HBase
  Issue Type: Improvement
  Components: test, wal
Reporter: Sean Busbey
Assignee: Sean Busbey
Priority: Minor
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12719.1.patch.txt, HBASE-12719.2.patch.txt, 
 HBASE-12719_comparison_chart.tiff


 Discussion in HBASE-5699 included showing the max throughput for our WAL 
 benchmark (using the DisabledWALProvider) compared to when we are actually 
 dealing with synchronization and talking with HDFS.
 What we can't see in that comparison is how much of the (sizable) gap is due 
 to the coordination done in FSHLog to deal with multi-threading and how much 
 of it is due to talking to HDFS.
 Make a test-only provider that we can use to isolate the cost for HDFS 
 appends, HDFS flush, and file rolling.



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


[jira] [Updated] (HBASE-12719) Add test WAL provider to quantify FSHLog overhead in the absence of HDFS.

2014-12-30 Thread Sean Busbey (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12719?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sean Busbey updated HBASE-12719:

Status: Patch Available  (was: In Progress)

 Add test WAL provider to quantify FSHLog overhead in the absence of HDFS.
 -

 Key: HBASE-12719
 URL: https://issues.apache.org/jira/browse/HBASE-12719
 Project: HBase
  Issue Type: Improvement
  Components: test, wal
Reporter: Sean Busbey
Assignee: Sean Busbey
Priority: Minor
 Fix For: 2.0.0, 1.1.0

 Attachments: HBASE-12719.1.patch.txt, HBASE-12719.2.patch.txt, 
 HBASE-12719_comparison_chart.tiff


 Discussion in HBASE-5699 included showing the max throughput for our WAL 
 benchmark (using the DisabledWALProvider) compared to when we are actually 
 dealing with synchronization and talking with HDFS.
 What we can't see in that comparison is how much of the (sizable) gap is due 
 to the coordination done in FSHLog to deal with multi-threading and how much 
 of it is due to talking to HDFS.
 Make a test-only provider that we can use to isolate the cost for HDFS 
 appends, HDFS flush, and file rolling.



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


[jira] [Updated] (HBASE-12785) Use FutureTask to timeout the attempt to get the lock for hbck

2014-12-30 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-12785:
---
Attachment: 12785-001.patch

With this patch, testParallelHbck runs 20 seconds shorter against hadoop 2.6.0 
compared with current code.

 Use FutureTask to timeout the attempt to get the lock for hbck
 --

 Key: HBASE-12785
 URL: https://issues.apache.org/jira/browse/HBASE-12785
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Attachments: 12785-001.patch


 In reviewing HBASE-12607, Sean pointed out:
 It would be nice if we used a 
 [FutureTask|http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/FutureTask.html]
  to timeout the attempt to get the lock rather than wait the whole period and 
 then fail.
 This issue is to address Sean's review comment.



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


[jira] [Updated] (HBASE-12740) Improve performance of TestHBaseFsck

2014-12-30 Thread Jurriaan Mous (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jurriaan Mous updated HBASE-12740:
--
Attachment: HBASE-12740-v4.patch

Resubmitting since I see the previous patch was applied to master and retracted 
by [~stack]. I guess the next version needs to be checked by HadoopQA :)

 Improve performance of TestHBaseFsck
 

 Key: HBASE-12740
 URL: https://issues.apache.org/jira/browse/HBASE-12740
 Project: HBase
  Issue Type: Bug
  Components: util
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12740-v1.patch, HBASE-12740-v2.patch, 
 HBASE-12740-v3.patch, HBASE-12740-v4.patch, HBASE-12740-v4.patch, 
 HBASE-12740.patch, PROFILE_after_patch.png, 
 PROFILE_before_patch_test_fails.png


 TestHBaseFsck performs poor on my machine. It crashes because the threads 
 reach the 2000 thread limit on my machine. Looking at the code a lot of 
 optimization is possible and some API calls are used wrong. A lot of Admin 
 instances are created and never closed, lots of Tables are not closed, 
 ThreadPoolExecutors are not shut down and an unlimited thread pool which does 
 not recycle threads.



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


[jira] [Updated] (HBASE-12785) Use FutureTask to timeout the attempt to get the lock for hbck

2014-12-30 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-12785:
---
Attachment: 12785-001.patch

Patch adjusted to current trunk.

 Use FutureTask to timeout the attempt to get the lock for hbck
 --

 Key: HBASE-12785
 URL: https://issues.apache.org/jira/browse/HBASE-12785
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Attachments: 12785-001.patch


 In reviewing HBASE-12607, Sean pointed out:
 It would be nice if we used a 
 [FutureTask|http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/FutureTask.html]
  to timeout the attempt to get the lock rather than wait the whole period and 
 then fail.
 This issue is to address Sean's review comment.



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


[jira] [Updated] (HBASE-12785) Use FutureTask to timeout the attempt to get the lock for hbck

2014-12-30 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-12785:
---
Attachment: (was: 12785-001.patch)

 Use FutureTask to timeout the attempt to get the lock for hbck
 --

 Key: HBASE-12785
 URL: https://issues.apache.org/jira/browse/HBASE-12785
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Attachments: 12785-001.patch


 In reviewing HBASE-12607, Sean pointed out:
 It would be nice if we used a 
 [FutureTask|http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/FutureTask.html]
  to timeout the attempt to get the lock rather than wait the whole period and 
 then fail.
 This issue is to address Sean's review comment.



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


[jira] [Updated] (HBASE-12785) Use FutureTask to timeout the attempt to get the lock for hbck

2014-12-30 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-12785:
---
Status: Patch Available  (was: Open)

 Use FutureTask to timeout the attempt to get the lock for hbck
 --

 Key: HBASE-12785
 URL: https://issues.apache.org/jira/browse/HBASE-12785
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Attachments: 12785-001.patch


 In reviewing HBASE-12607, Sean pointed out:
 It would be nice if we used a 
 [FutureTask|http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/FutureTask.html]
  to timeout the attempt to get the lock rather than wait the whole period and 
 then fail.
 This issue is to address Sean's review comment.



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


[jira] [Commented] (HBASE-12740) Improve performance of TestHBaseFsck

2014-12-30 Thread stack (JIRA)

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

stack commented on HBASE-12740:
---

Pardon me. I applied v3 with [~dimaspivak] items addressed.  Was then trying to 
cherry-pick to branch-1 and beyond but was taking a little while (TestHBaseFsck 
runs are a bit of beast).  I reverted my master work since [~jurmous] showed up 
w/ new version.  Will go forward with v4.

 Improve performance of TestHBaseFsck
 

 Key: HBASE-12740
 URL: https://issues.apache.org/jira/browse/HBASE-12740
 Project: HBase
  Issue Type: Bug
  Components: util
Reporter: Jurriaan Mous
Assignee: Jurriaan Mous
 Attachments: HBASE-12740-v1.patch, HBASE-12740-v2.patch, 
 HBASE-12740-v3.patch, HBASE-12740-v4.patch, HBASE-12740-v4.patch, 
 HBASE-12740.patch, PROFILE_after_patch.png, 
 PROFILE_before_patch_test_fails.png


 TestHBaseFsck performs poor on my machine. It crashes because the threads 
 reach the 2000 thread limit on my machine. Looking at the code a lot of 
 optimization is possible and some API calls are used wrong. A lot of Admin 
 instances are created and never closed, lots of Tables are not closed, 
 ThreadPoolExecutors are not shut down and an unlimited thread pool which does 
 not recycle threads.



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


[jira] [Updated] (HBASE-12783) Create efficient RegionLocator implementation

2014-12-30 Thread Solomon Duskis (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Solomon Duskis updated HBASE-12783:
---
Status: Patch Available  (was: Open)

 Create efficient RegionLocator implementation
 -

 Key: HBASE-12783
 URL: https://issues.apache.org/jira/browse/HBASE-12783
 Project: HBase
  Issue Type: Bug
Affects Versions: 1.0.0, 2.0.0
Reporter: Solomon Duskis
Assignee: Solomon Duskis
 Attachments: HBASE-12783.patch, HBASE-12873B.patch


 A new HRegionLocator that only implements RegionLocator functionality will be 
 more efficient to instantiate than a full HTable. 



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


[jira] [Updated] (HBASE-12783) Create efficient RegionLocator implementation

2014-12-30 Thread Solomon Duskis (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-12783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Solomon Duskis updated HBASE-12783:
---
Attachment: HBASE-12873B.patch

I made a lot more changes.  All regionlocator like functionality now ends up 
going to HRegionLocator one way or the other.

 Create efficient RegionLocator implementation
 -

 Key: HBASE-12783
 URL: https://issues.apache.org/jira/browse/HBASE-12783
 Project: HBase
  Issue Type: Bug
Affects Versions: 1.0.0, 2.0.0
Reporter: Solomon Duskis
Assignee: Solomon Duskis
 Attachments: HBASE-12783.patch, HBASE-12873B.patch


 A new HRegionLocator that only implements RegionLocator functionality will be 
 more efficient to instantiate than a full HTable. 



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


[jira] [Commented] (HBASE-12783) Create efficient RegionLocator implementation

2014-12-30 Thread Solomon Duskis (JIRA)

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

Solomon Duskis commented on HBASE-12783:


I had to make some other changes to convert concrete class uses to the new 
interfaces.  I found a few HTables and etc that were not being closed, and 
closed them.

 Create efficient RegionLocator implementation
 -

 Key: HBASE-12783
 URL: https://issues.apache.org/jira/browse/HBASE-12783
 Project: HBase
  Issue Type: Bug
Affects Versions: 1.0.0, 2.0.0
Reporter: Solomon Duskis
Assignee: Solomon Duskis
 Attachments: HBASE-12783.patch, HBASE-12873B.patch


 A new HRegionLocator that only implements RegionLocator functionality will be 
 more efficient to instantiate than a full HTable. 



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


[jira] [Commented] (HBASE-12607) TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0

2014-12-30 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12607:


FAILURE: Integrated in HBase-0.98 #766 (See 
[https://builds.apache.org/job/HBase-0.98/766/])
HBASE-12607 TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0 
(tedyu: rev c1fcb8fe3304d578521731dc3f51ec5d7f33f420)
* hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
HBASE-12607 Addendum fixes compilation (tedyu: rev 
e88d74d6e98e0da438333e7c22f96f17ac595a71)
* hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java


 TestHBaseFsck#testParallelHbck fails running against hadoop 2.6.0
 -

 Key: HBASE-12607
 URL: https://issues.apache.org/jira/browse/HBASE-12607
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
  Labels: hbck
 Fix For: 1.0.0, 2.0.0, 0.98.10, 1.1.0

 Attachments: 12607-v1.txt, 12607-v2.txt, 
 org.apache.hadoop.hbase.util.TestHBaseFsck-output.txt


 TestHBaseFsck#testParallelHbck consistently fails on both Linux and Mac.
 I added more logging as shown below:
 {code}
 HBaseFsck h1 = hbck1.get();
 HBaseFsck h2 = hbck2.get();
 LOG.warn(h1:  + h1);
 LOG.warn(h2:  + h2);
 {code}
 I saw the following in test output:
 {code}
 2014-12-01 14:58:44,728 WARN  [main] util.TestHBaseFsck(576): h1: 
 org.apache.hadoop.hbase.util.HBaseFsck@72aa738e
 2014-12-01 14:58:44,729 WARN  [main] util.TestHBaseFsck(577): h2: 
 org.apache.hadoop.hbase.util.HBaseFsck@186e2ce6
 {code}



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


  1   2   3   >