[jira] [Updated] (HBASE-13062) Add documentation coverage for configuring dns server with thrift and rest gateways

2015-08-10 Thread Misty Stanley-Jones (JIRA)

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

Misty Stanley-Jones updated HBASE-13062:

Attachment: HBASE-13062-v1.patch

How is this?

 Add documentation coverage for configuring dns server with thrift and rest 
 gateways
 ---

 Key: HBASE-13062
 URL: https://issues.apache.org/jira/browse/HBASE-13062
 Project: HBase
  Issue Type: Bug
  Components: documentation
Reporter: Srikanth Srungarapu
Assignee: Misty Stanley-Jones
Priority: Minor
 Attachments: HBASE-13062-v1.patch, HBASE-13062.patch


 Currently, the documentation doesn't cover about configuring DNS with thrift 
 or rest gateways, though code base does provide provision for doing so. The 
 following parameters are being used for accomplishing the same.
 For REST:
 * hbase.rest.dns.interface
 * hbase.rest.dns.nameserver
 For Thrift:
 * hbase.thrift.dns.interface
 * hbase.thrift.dns.nameserver



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


[jira] [Commented] (HBASE-14202) Reduce garbage we create

2015-08-10 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-14202:


Thanks Stack.  Will commit later tonight once QA passes.
bq.The Object/int pair is ugly 
Agree.. Bit odd it is.. But it helps us a lot wrt garbage we create.  :-)
This kind of more fine tuning sub tasks will come in under this Jira. We are 
doing more profiling stuff wrt CPU time and object/memory usage.

 Reduce garbage we create
 

 Key: HBASE-14202
 URL: https://issues.apache.org/jira/browse/HBASE-14202
 Project: HBase
  Issue Type: Sub-task
  Components: regionserver, Scanners
Affects Versions: 2.0.0
Reporter: Anoop Sam John
Assignee: Anoop Sam John
 Fix For: 2.0.0

 Attachments: HBASE-14202.patch


 2 optimizations wrt no# short living objects we create
 1. IOEngine#read call to read from L2 cache is always creating a Pair object 
 to return the BB and MemoryType. We can avoid this by making the read API to 
 return a Cacheable. Pass the CacheableDeserializer, to be used, also to the 
 read API. Setter for MemoryType is already there in Cacheable interface.
 2. ByteBuff#asSubByteBuffer(int, int, Pair)  avoids Pair object creation 
 every time as we pass the shared Pair object. Still as pair can take only 
 Objects, the primitive int has to be boxed into an Integer object every time. 
 This can be avoided by creating a new Pair type which is a pair of an Object 
 and a primitive int.



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


[jira] [Updated] (HBASE-13907) Document how to deploy a coprocessor

2015-08-10 Thread Misty Stanley-Jones (JIRA)

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

Misty Stanley-Jones updated HBASE-13907:

Attachment: HBASE-13907-v3.patch

This addresses Andrew's point. Sean's point #3 is still an open issue. Can 
anyone define the behavior?

 Document how to deploy a coprocessor
 

 Key: HBASE-13907
 URL: https://issues.apache.org/jira/browse/HBASE-13907
 Project: HBase
  Issue Type: Bug
  Components: documentation
Reporter: Misty Stanley-Jones
Assignee: Misty Stanley-Jones
 Attachments: HBASE-13907-1.patch, HBASE-13907-2.patch, 
 HBASE-13907-v3.patch, HBASE-13907.patch


 Capture this information:
  Where are the dependencies located for these classes? Is there a path on 
  HDFS or local disk that dependencies need to be placed so that each 
  RegionServer has access to them?
 It is suggested to bundle them as a single jar so that RS can load the whole 
 jar and resolve dependencies. If you are not able to do that, you need place 
 the dependencies in regionservers class path so that they are loaded during 
 RS startup. Do either of these options work for you? Btw, you can load the 
 coprocessors/filters into path specified by hbase.dynamic.jars.dir [1], so 
 that they are loaded dynamically by regionservers when the class is accessed 
 (or you can place them in the RS class path too, so that they are loaded 
 during RS JVM startup).
  How would one deploy these using an automated system? 
  (puppet/chef/ansible/etc)
 You can probably use these tools to automate shipping the jars to above 
 locations?
  Tests our developers have done suggest that simply disabling a coprocessor, 
  replacing the jar with a different version, and enabling the coprocessor 
  again does not load the newest version. With that in mind how does one know 
  which version is currently deployed and enabled without resorting to 
  parsing `hbase shell` output or restarting hbase?
 Actually this is a design issue with current classloader. You can't reload a 
 class in a JVM unless you delete all the current references to it. Since the 
 current JVM (classloader) has reference to it, you can't overwrite it unless 
 you kill the JVM, which is equivalent to restarting it. So you still have the 
 older class loaded in place. For this to work, classloader design should be 
 changed. If it works for you, you can rename the coprocessor class name and 
 the new version of jar and RS loads it properly.
  Where does logging go, and how does one access it? Does logging need to be 
  configured in a certain way?
 Can you please specify which logging you are referring to?
  Where is a good location to place configuration files?
 Same as above, are these hbase configs or something else? If hbase configs, 
 are these gateway configs/server side? 



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


[jira] [Commented] (HBASE-14186) Read mvcc vlong optimization

2015-08-10 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-14186:


Yes Andy. Not direct patch substitute.  Sorry I missed this backport stuff in 
the middle of some thing else. Bit busy with personal stuff this whole week 
too.. I will close this jira as of now and will open a backport one for 1.x.  
If any one up for a backport jira in 2 days time I can keep it open.

 Read mvcc vlong optimization
 

 Key: HBASE-14186
 URL: https://issues.apache.org/jira/browse/HBASE-14186
 Project: HBase
  Issue Type: Sub-task
  Components: Performance, Scanners
Reporter: Anoop Sam John
Assignee: Anoop Sam John
 Fix For: 2.0.0

 Attachments: HBASE-14186.patch


 {code}
 for (int idx = 0; idx  remaining; idx++) {
   byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);
   i = i  8;
   i = i | (b  0xFF);
 }
 {code}
 Doing the read as in case of BIG_ENDIAN.
 After HBASE-12600, we tend to keep the mvcc and so byte by byte read looks 
 eating up lot of CPU time. (In my test HFileReaderImpl#_readMvccVersion comes 
 on top in terms of hot methods). We can optimize here by reading 4 or 2 bytes 
 in one shot when the length of the vlong is more than 4 bytes. We will in 
 turn use UnsafeAccess methods which handles ENDIAN.



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


[jira] [Commented] (HBASE-5878) Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.

2015-08-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-5878:
---

FAILURE: Integrated in HBase-0.98-on-Hadoop-1.1 #1026 (See 
[https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/1026/])
HBASE-5878 Use getVisibleLength public api from HdfsDataInputStream from 
Hadoop-2. (apurtell: rev b69569f512068d795199310ce662ab381bb6b6b7)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java
Revert HBASE-5878 Use getVisibleLength public api from HdfsDataInputStream 
from Hadoop-2. (apurtell: rev fabfb423f9cf48ddd52e9583ca6664f42349)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java


 Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.
 ---

 Key: HBASE-5878
 URL: https://issues.apache.org/jira/browse/HBASE-5878
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Uma Maheswara Rao G
Assignee: Ashish Singhi
 Fix For: 2.0.0, 0.98.14, 1.0.2, 1.2.0, 1.1.2, 1.3.0

 Attachments: HBASE-5878-branch-1.0.patch, HBASE-5878-v2.patch, 
 HBASE-5878-v3.patch, HBASE-5878-v4.patch, HBASE-5878-v5-0.98.patch, 
 HBASE-5878-v5.patch, HBASE-5878-v5.patch, HBASE-5878-v6-0.98.patch, 
 HBASE-5878-v6.patch, HBASE-5878-v7-0.98.patch, HBASE-5878.patch


 SequencFileLogReader: 
 Currently Hbase using getFileLength api from DFSInputStream class by 
 reflection. DFSInputStream is not exposed as public. So, this may change in 
 future. Now HDFS exposed HdfsDataInputStream as public API.
 We can make use of it, when we are not able to find the getFileLength api 
 from DFSInputStream as a else condition. So, that we will not have any sudden 
 surprise like we are facing today.
 Also,  it is just logging one warn message and proceeding if it throws any 
 exception while getting the length. I think we can re-throw the exception 
 because there is no point in continuing with dataloss.
 {code}
 long adjust = 0;
   try {
 Field fIn = FilterInputStream.class.getDeclaredField(in);
 fIn.setAccessible(true);
 Object realIn = fIn.get(this.in);
 // In hadoop 0.22, DFSInputStream is a standalone class.  Before 
 this,
 // it was an inner class of DFSClient.
 if (realIn.getClass().getName().endsWith(DFSInputStream)) {
   Method getFileLength = realIn.getClass().
 getDeclaredMethod(getFileLength, new Class? []{});
   getFileLength.setAccessible(true);
   long realLength = ((Long)getFileLength.
 invoke(realIn, new Object []{})).longValue();
   assert(realLength = this.length);
   adjust = realLength - this.length;
 } else {
   LOG.info(Input stream class:  + realIn.getClass().getName() +
   , not adjusting length);
 }
   } catch(Exception e) {
 SequenceFileLogReader.LOG.warn(
   Error while trying to get accurate file length.   +
   Truncation / data loss may occur if RegionServers die., e);
   }
   return adjust + super.getPos();
 {code}



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


[jira] [Commented] (HBASE-14194) Undeprecate methods in ThriftServerRunner.HBaseHandler

2015-08-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-14194:


FAILURE: Integrated in HBase-1.3 #100 (See 
[https://builds.apache.org/job/HBase-1.3/100/])
HBASE-14194 Undeprecate methods in ThriftServerRunner.HBaseHandler (apurtell: 
rev c07eb21e4be74cac4756cf44331269257ac56daa)
* 
hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java


 Undeprecate methods in ThriftServerRunner.HBaseHandler
 --

 Key: HBASE-14194
 URL: https://issues.apache.org/jira/browse/HBASE-14194
 Project: HBase
  Issue Type: Improvement
Reporter: Lars Francke
Assignee: Lars Francke
Priority: Trivial
 Fix For: 2.0.0, 1.2.0, 1.3.0

 Attachments: HBASE-14194.patch


 The methods {{get}}, {{getVer}}, {{getVerTs}}, {{atomicIncrement}} were 
 deprecated back in HBASE-1304. My guess is this was because it wasn't 
 distinguishing between column family and column qualifier but I'm not sure. 
 Either way it's been in there for six years without documentation or a 
 deprecation at the interface level so it adds to my confusion and I'll attach 
 a patch to remove the deprecations.
 I guess at one point the whole old Thrift server will be deprecated.



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


[jira] [Updated] (HBASE-14200) Separate RegionReplica subtests of TestStochasticLoadBalancer into TestStochasticLoadBalancer2

2015-08-10 Thread Ted Yu (JIRA)

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

Ted Yu updated HBASE-14200:
---
Summary: Separate RegionReplica subtests of TestStochasticLoadBalancer into 
TestStochasticLoadBalancer2  (was: Separate some subtests of 
TestStochasticLoadBalancer into TestStochasticLoadBalancer2)

 Separate RegionReplica subtests of TestStochasticLoadBalancer into 
 TestStochasticLoadBalancer2
 --

 Key: HBASE-14200
 URL: https://issues.apache.org/jira/browse/HBASE-14200
 Project: HBase
  Issue Type: Test
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Fix For: 2.0.0, 1.3.0

 Attachments: 14200-v1.txt, 14200-v2.txt


 More and more functionality is added to StochasticLoadBalancer , making 
 TestStochasticLoadBalancer run longer.
 From 
 https://builds.apache.org/job/PreCommit-HBASE-Build/15011/testReport/org.apache.hadoop.hbase.master.balancer/TestStochasticLoadBalancer/
  where total runtime was 14 min, here are the longest subtests:
 testRegionReplicasOnLargeCluster: 1 min 34 sec
 testRegionReplicasOnMidCluster: 1 min 31 sec
 testRegionReplicasOnMidClusterHighReplication: 2 min
 testRegionReplicationOnMidClusterReplicationGreaterThanNumNodes: 2 min 25 sec
 This issue is to separate out the above subtests into 
 TestStochasticLoadBalancer2, giving each of the tests around 7 min runtime.



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


[jira] [Updated] (HBASE-14190) Assign system tables ahead of user region assignment

2015-08-10 Thread Ted Yu (JIRA)

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

Ted Yu updated HBASE-14190:
---
Attachment: 14190-v5.txt

Patch v5 adds an assertion in TestMasterFailover#testSimpleMasterFailover for 
namespace table which is assigned before active master initialization finishes.

 Assign system tables ahead of user region assignment
 

 Key: HBASE-14190
 URL: https://issues.apache.org/jira/browse/HBASE-14190
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Critical
 Attachments: 14190-v1.txt, 14190-v2.txt, 14190-v3.txt, 14190-v3.txt, 
 14190-v3.txt, 14190-v4.txt, 14190-v5.txt


 Currently the namespace table region is assigned like user regions.
 I spent several hours working with a customer where master couldn't finish 
 initialization.
 Even though master was restarted quite a few times, it went down with the 
 following:
 {code}
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Master server abort: loaded coprocessors are: []
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Unhandled exception. Starting shutdown.
 java.io.IOException: Timedout 30ms waiting for namespace table to be 
 assigned
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:104)
   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:985)
   at 
 org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:779)
   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:182)
   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1646)
   at java.lang.Thread.run(Thread.java:744)
 {code}
 During previous run(s), namespace table was created, hence leaving an entry 
 in hbase:meta.
 The following if block in TableNamespaceManager#start() was skipped:
 {code}
 if (!MetaTableAccessor.tableExists(masterServices.getConnection(),
   TableName.NAMESPACE_TABLE_NAME)) {
 {code}
 TableNamespaceManager#start() spins, waiting for namespace region to be 
 assigned.
 There was issue in master assigning user regions.
 We tried issuing 'assign' command from hbase shell which didn't work because 
 of the following check in MasterRpcServices#assignRegion():
 {code}
   master.checkInitialized();
 {code}
 This scenario can be avoided if we assign hbase:namespace table after 
 hbase:meta is assigned but before user table region assignment.



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


[jira] [Updated] (HBASE-14190) Assign system tables ahead of user region assignment

2015-08-10 Thread Ted Yu (JIRA)

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

Ted Yu updated HBASE-14190:
---
Attachment: (was: 14190-v3.txt)

 Assign system tables ahead of user region assignment
 

 Key: HBASE-14190
 URL: https://issues.apache.org/jira/browse/HBASE-14190
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Critical
 Attachments: 14190-v1.txt, 14190-v2.txt, 14190-v3.txt, 14190-v3.txt, 
 14190-v4.txt, 14190-v5.txt


 Currently the namespace table region is assigned like user regions.
 I spent several hours working with a customer where master couldn't finish 
 initialization.
 Even though master was restarted quite a few times, it went down with the 
 following:
 {code}
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Master server abort: loaded coprocessors are: []
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Unhandled exception. Starting shutdown.
 java.io.IOException: Timedout 30ms waiting for namespace table to be 
 assigned
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:104)
   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:985)
   at 
 org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:779)
   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:182)
   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1646)
   at java.lang.Thread.run(Thread.java:744)
 {code}
 During previous run(s), namespace table was created, hence leaving an entry 
 in hbase:meta.
 The following if block in TableNamespaceManager#start() was skipped:
 {code}
 if (!MetaTableAccessor.tableExists(masterServices.getConnection(),
   TableName.NAMESPACE_TABLE_NAME)) {
 {code}
 TableNamespaceManager#start() spins, waiting for namespace region to be 
 assigned.
 There was issue in master assigning user regions.
 We tried issuing 'assign' command from hbase shell which didn't work because 
 of the following check in MasterRpcServices#assignRegion():
 {code}
   master.checkInitialized();
 {code}
 This scenario can be avoided if we assign hbase:namespace table after 
 hbase:meta is assigned but before user table region assignment.



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


[jira] [Commented] (HBASE-5878) Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.

2015-08-10 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-5878:
--

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  
http://issues.apache.org/jira/secure/attachment/12749586/HBASE-5878-v7-0.98.patch
  against 0.98 branch at commit c7065c4c40e94bcce2035b8ea9813cfc6124a7e0.
  ATTACHMENT ID: 12749586

{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 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.7.0)

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

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

{color:red}-1 javadoc{color}.  The javadoc tool appears to have generated 
22 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:red}-1 site{color}.  The patch appears to cause mvn post-site goal 
to fail.

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

 {color:red}-1 core zombie tests{color}.  There are 4 zombie test(s):   
at 
org.apache.hadoop.hbase.coprocessor.TestClassLoading.testClassLoadingFromLibDirInJar(TestClassLoading.java:374)
at 
org.apache.hadoop.hbase.coprocessor.TestRegionObserverInterface.testPreWALRestoreSkip(TestRegionObserverInterface.java:717)

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15029//testReport/
Release Findbugs (version 2.0.3)warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15029//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15029//artifact/patchprocess/checkstyle-aggregate.html

  Javadoc warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15029//artifact/patchprocess/patchJavadocWarnings.txt
Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15029//console

This message is automatically generated.

 Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.
 ---

 Key: HBASE-5878
 URL: https://issues.apache.org/jira/browse/HBASE-5878
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Uma Maheswara Rao G
Assignee: Ashish Singhi
 Fix For: 2.0.0, 1.3.0

 Attachments: HBASE-5878-branch-1.0.patch, HBASE-5878-v2.patch, 
 HBASE-5878-v3.patch, HBASE-5878-v4.patch, HBASE-5878-v5-0.98.patch, 
 HBASE-5878-v5.patch, HBASE-5878-v5.patch, HBASE-5878-v6-0.98.patch, 
 HBASE-5878-v6.patch, HBASE-5878-v7-0.98.patch, HBASE-5878.patch


 SequencFileLogReader: 
 Currently Hbase using getFileLength api from DFSInputStream class by 
 reflection. DFSInputStream is not exposed as public. So, this may change in 
 future. Now HDFS exposed HdfsDataInputStream as public API.
 We can make use of it, when we are not able to find the getFileLength api 
 from DFSInputStream as a else condition. So, that we will not have any sudden 
 surprise like we are facing today.
 Also,  it is just logging one warn message and proceeding if it throws any 
 exception while getting the length. I think we can re-throw the exception 
 because there is no point in continuing with dataloss.
 {code}
 long adjust = 0;
   try {
 Field fIn = FilterInputStream.class.getDeclaredField(in);
 fIn.setAccessible(true);
 Object realIn = fIn.get(this.in);
 // In hadoop 0.22, DFSInputStream is a standalone class.  Before 
 this,
 // it was an inner class of DFSClient.
 if (realIn.getClass().getName().endsWith(DFSInputStream)) {
   Method getFileLength = realIn.getClass().
 getDeclaredMethod(getFileLength, new Class? []{});
   getFileLength.setAccessible(true);
   long realLength = 

[jira] [Commented] (HBASE-13376) Improvements to Stochastic load balancer

2015-08-10 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-13376:


The change in BaseLoadBalancer.java was left out, leading to compilation error.

In your next patch, please add back the change. Also note recent refactoring in 
TestStochasticLoadBalancer.java

Thanks

 Improvements to Stochastic load balancer
 

 Key: HBASE-13376
 URL: https://issues.apache.org/jira/browse/HBASE-13376
 Project: HBase
  Issue Type: Improvement
  Components: Balancer
Affects Versions: 1.0.0, 0.98.12
Reporter: Vandana Ayyalasomayajula
Assignee: Vandana Ayyalasomayajula
Priority: Minor
 Attachments: 13376-v2.txt, HBASE-13376.patch, HBASE-13376_0.98.txt, 
 HBASE-13376_0.txt, HBASE-13376_1.txt, HBASE-13376_1_1.txt, 
 HBASE-13376_2.patch, HBASE-13376_2_branch-1.patch, HBASE-13376_98.patch, 
 HBASE-13376_branch-1.patch


 There are two things this jira tries to address:
 1. The locality picker in the stochastic balancer does not pick regions with 
 least locality as candidates for swap/move. So when any user configures 
 locality cost in the configs, the balancer does not always seems to move 
 regions with bad locality. 
 2. When a cluster has equal number of loaded regions, it always picks the 
 first one. It should pick a random region on one of the equally loaded 
 servers. This improves a chance of finding a good candidate, when load picker 
 is invoked several times. 



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


[jira] [Updated] (HBASE-13376) Improvements to Stochastic load balancer

2015-08-10 Thread Ted Yu (JIRA)

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

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

 Improvements to Stochastic load balancer
 

 Key: HBASE-13376
 URL: https://issues.apache.org/jira/browse/HBASE-13376
 Project: HBase
  Issue Type: Improvement
  Components: Balancer
Affects Versions: 0.98.12, 1.0.0
Reporter: Vandana Ayyalasomayajula
Assignee: Vandana Ayyalasomayajula
Priority: Minor
 Attachments: 13376-v2.txt, HBASE-13376.patch, HBASE-13376_0.98.txt, 
 HBASE-13376_0.txt, HBASE-13376_1.txt, HBASE-13376_1_1.txt, 
 HBASE-13376_2.patch, HBASE-13376_2_branch-1.patch, HBASE-13376_98.patch, 
 HBASE-13376_branch-1.patch


 There are two things this jira tries to address:
 1. The locality picker in the stochastic balancer does not pick regions with 
 least locality as candidates for swap/move. So when any user configures 
 locality cost in the configs, the balancer does not always seems to move 
 regions with bad locality. 
 2. When a cluster has equal number of loaded regions, it always picks the 
 first one. It should pick a random region on one of the equally loaded 
 servers. This improves a chance of finding a good candidate, when load picker 
 is invoked several times. 



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


[jira] [Updated] (HBASE-14190) Assign system tables ahead of user region assignment

2015-08-10 Thread Ted Yu (JIRA)

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

Ted Yu updated HBASE-14190:
---
Attachment: (was: 14190-v4.txt)

 Assign system tables ahead of user region assignment
 

 Key: HBASE-14190
 URL: https://issues.apache.org/jira/browse/HBASE-14190
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Critical
 Attachments: 14190-v5.txt


 Currently the namespace table region is assigned like user regions.
 I spent several hours working with a customer where master couldn't finish 
 initialization.
 Even though master was restarted quite a few times, it went down with the 
 following:
 {code}
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Master server abort: loaded coprocessors are: []
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Unhandled exception. Starting shutdown.
 java.io.IOException: Timedout 30ms waiting for namespace table to be 
 assigned
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:104)
   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:985)
   at 
 org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:779)
   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:182)
   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1646)
   at java.lang.Thread.run(Thread.java:744)
 {code}
 During previous run(s), namespace table was created, hence leaving an entry 
 in hbase:meta.
 The following if block in TableNamespaceManager#start() was skipped:
 {code}
 if (!MetaTableAccessor.tableExists(masterServices.getConnection(),
   TableName.NAMESPACE_TABLE_NAME)) {
 {code}
 TableNamespaceManager#start() spins, waiting for namespace region to be 
 assigned.
 There was issue in master assigning user regions.
 We tried issuing 'assign' command from hbase shell which didn't work because 
 of the following check in MasterRpcServices#assignRegion():
 {code}
   master.checkInitialized();
 {code}
 This scenario can be avoided if we assign hbase:namespace table after 
 hbase:meta is assigned but before user table region assignment.



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


[jira] [Comment Edited] (HBASE-13706) CoprocessorClassLoader should not exempt Hive classes

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell edited comment on HBASE-13706 at 8/10/15 9:42 PM:
-

+1 for 0.98

Out of curiosity, have you tried this with Apache Phoenix? 

As part of RC validation for 0.98 I will, so will back this change out if that 
presents a problem.


was (Author: apurtell):
+1 for 0.98

 CoprocessorClassLoader should not exempt Hive classes
 -

 Key: HBASE-13706
 URL: https://issues.apache.org/jira/browse/HBASE-13706
 Project: HBase
  Issue Type: Bug
  Components: Coprocessors
Affects Versions: 2.0.0, 1.0.1, 1.1.0, 0.98.12
Reporter: Jerry He
Assignee: Jerry He
Priority: Minor
 Fix For: 2.0.0, 1.2.0, 1.3.0

 Attachments: HBASE-13706-branch-1.patch, HBASE-13706-master-v2.patch, 
 HBASE-13706-master-v2.patch, HBASE-13706.patch


 CoprocessorClassLoader is used to load classes from the coprocessor jar.
 Certain classes are exempt from being loaded by this ClassLoader, which means 
 they will be ignored in the coprocessor jar, but loaded from parent classpath 
 instead.
 One problem is that we categorically exempt org.apache.hadoop.
 But it happens that Hive packages start with org.apache.hadoop.
 There is no reason to exclude hive classes from theCoprocessorClassLoader.
 HBase does not even include Hive jars.



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


[jira] [Commented] (HBASE-14190) Assign system tables ahead of user region assignment

2015-08-10 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-14190:


I want to get confirmation that *all* system tables should be assigned ahead of 
user table regions.
This would be behavioral change compared to current approach.

 Assign system tables ahead of user region assignment
 

 Key: HBASE-14190
 URL: https://issues.apache.org/jira/browse/HBASE-14190
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Critical
 Attachments: 14190-v5.txt, 14190-v6.txt


 Currently the namespace table region is assigned like user regions.
 I spent several hours working with a customer where master couldn't finish 
 initialization.
 Even though master was restarted quite a few times, it went down with the 
 following:
 {code}
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Master server abort: loaded coprocessors are: []
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Unhandled exception. Starting shutdown.
 java.io.IOException: Timedout 30ms waiting for namespace table to be 
 assigned
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:104)
   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:985)
   at 
 org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:779)
   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:182)
   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1646)
   at java.lang.Thread.run(Thread.java:744)
 {code}
 During previous run(s), namespace table was created, hence leaving an entry 
 in hbase:meta.
 The following if block in TableNamespaceManager#start() was skipped:
 {code}
 if (!MetaTableAccessor.tableExists(masterServices.getConnection(),
   TableName.NAMESPACE_TABLE_NAME)) {
 {code}
 TableNamespaceManager#start() spins, waiting for namespace region to be 
 assigned.
 There was issue in master assigning user regions.
 We tried issuing 'assign' command from hbase shell which didn't work because 
 of the following check in MasterRpcServices#assignRegion():
 {code}
   master.checkInitialized();
 {code}
 This scenario can be avoided if we assign hbase:namespace table after 
 hbase:meta is assigned but before user table region assignment.



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


[jira] [Comment Edited] (HBASE-14190) Assign system tables ahead of user region assignment

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell edited comment on HBASE-14190 at 8/10/15 9:38 PM:
-

I may be missing something but all tables we are interested in here are in the 
'hbase:' namespace. Why not just assign all of that namespace first? The 
special casing seems like the wrong approach, and is further problematic with 
stuff like this:

{code}
741if (UserProvider.isHBaseSecurityEnabled(conf)) {
742   assignSystemTableIfExists(status, 
AccessControlLists.ACL_TABLE_NAME);
743   assignSystemTableIfExists(status, 
VisibilityConstants.LABELS_TABLE_NAME);
744 
{code}

There's no guarantee at all security coprocessors are installed just because 
secure authentication is enabled. I get the ...IfExists part, but 
isHBaseSecurityEnabled doesn't say anything about if security coprocessors are 
installed.

What about future features or coprocessors that add additional tables to the 
'hbase:' namespace  with the expectation they are system tables that should be 
deployed ahead of user tables?


was (Author: apurtell):
I may be missing something but all tables we are interested in here are in the 
'hbase:' namespace. Why not just assign all of that namespace first? The 
special casing seems like the wrong approach, and is further problematic with 
stuff like this:

{code}
741if (UserProvider.isHBaseSecurityEnabled(conf)) {
742   assignSystemTableIfExists(status, 
AccessControlLists.ACL_TABLE_NAME);
743   assignSystemTableIfExists(status, 
VisibilityConstants.LABELS_TABLE_NAME);
744 
{code}

There's no guarantee at all security coprocessors are installed just because 
secure authentication is enabled.

 Assign system tables ahead of user region assignment
 

 Key: HBASE-14190
 URL: https://issues.apache.org/jira/browse/HBASE-14190
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Critical
 Attachments: 14190-v5.txt, 14190-v6.txt


 Currently the namespace table region is assigned like user regions.
 I spent several hours working with a customer where master couldn't finish 
 initialization.
 Even though master was restarted quite a few times, it went down with the 
 following:
 {code}
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Master server abort: loaded coprocessors are: []
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Unhandled exception. Starting shutdown.
 java.io.IOException: Timedout 30ms waiting for namespace table to be 
 assigned
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:104)
   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:985)
   at 
 org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:779)
   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:182)
   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1646)
   at java.lang.Thread.run(Thread.java:744)
 {code}
 During previous run(s), namespace table was created, hence leaving an entry 
 in hbase:meta.
 The following if block in TableNamespaceManager#start() was skipped:
 {code}
 if (!MetaTableAccessor.tableExists(masterServices.getConnection(),
   TableName.NAMESPACE_TABLE_NAME)) {
 {code}
 TableNamespaceManager#start() spins, waiting for namespace region to be 
 assigned.
 There was issue in master assigning user regions.
 We tried issuing 'assign' command from hbase shell which didn't work because 
 of the following check in MasterRpcServices#assignRegion():
 {code}
   master.checkInitialized();
 {code}
 This scenario can be avoided if we assign hbase:namespace table after 
 hbase:meta is assigned but before user table region assignment.



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


[jira] [Updated] (HBASE-14181) Add Spark DataFrame DataSource to HBase-Spark Module

2015-08-10 Thread Ted Malaska (JIRA)

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

Ted Malaska updated HBASE-14181:

Attachment: HBASE-14181.2.patch

Making good progress.  The rowKey and qualifier push down is now working.

Now we can use SparkSQL with HBase and all the SQL logic is pushed down and the 
result will be a dataframe RDD.

What remains:
- More unit tests
- Clean up the code

 Add Spark DataFrame DataSource to HBase-Spark Module
 

 Key: HBASE-14181
 URL: https://issues.apache.org/jira/browse/HBASE-14181
 Project: HBase
  Issue Type: New Feature
  Components: spark
Reporter: Ted Malaska
Assignee: Ted Malaska
Priority: Minor
 Attachments: HBASE-14181.1.patch, HBASE-14181.2.patch


 Build a RelationProvider for HBase-Spark Module.



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


[jira] [Updated] (HBASE-14190) Assign system tables ahead of user region assignment

2015-08-10 Thread Ted Yu (JIRA)

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

Ted Yu updated HBASE-14190:
---
Attachment: 14190-v6.txt

 Assign system tables ahead of user region assignment
 

 Key: HBASE-14190
 URL: https://issues.apache.org/jira/browse/HBASE-14190
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Critical
 Attachments: 14190-v5.txt, 14190-v6.txt


 Currently the namespace table region is assigned like user regions.
 I spent several hours working with a customer where master couldn't finish 
 initialization.
 Even though master was restarted quite a few times, it went down with the 
 following:
 {code}
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Master server abort: loaded coprocessors are: []
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Unhandled exception. Starting shutdown.
 java.io.IOException: Timedout 30ms waiting for namespace table to be 
 assigned
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:104)
   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:985)
   at 
 org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:779)
   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:182)
   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1646)
   at java.lang.Thread.run(Thread.java:744)
 {code}
 During previous run(s), namespace table was created, hence leaving an entry 
 in hbase:meta.
 The following if block in TableNamespaceManager#start() was skipped:
 {code}
 if (!MetaTableAccessor.tableExists(masterServices.getConnection(),
   TableName.NAMESPACE_TABLE_NAME)) {
 {code}
 TableNamespaceManager#start() spins, waiting for namespace region to be 
 assigned.
 There was issue in master assigning user regions.
 We tried issuing 'assign' command from hbase shell which didn't work because 
 of the following check in MasterRpcServices#assignRegion():
 {code}
   master.checkInitialized();
 {code}
 This scenario can be avoided if we assign hbase:namespace table after 
 hbase:meta is assigned but before user table region assignment.



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


[jira] [Commented] (HBASE-14190) Assign system tables ahead of user region assignment

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-14190:


I may be missing something but all tables we are interested in here are in the 
'hbase:' namespace. Why not just assign all of that namespace first? The 
special casing seems like the wrong approach, and is further problematic with 
stuff like this:

{code}
741if (UserProvider.isHBaseSecurityEnabled(conf)) {
742   assignSystemTableIfExists(status, 
AccessControlLists.ACL_TABLE_NAME);
743   assignSystemTableIfExists(status, 
VisibilityConstants.LABELS_TABLE_NAME);
744 
{code}

There's no guarantee at all security coprocessors are installed just because 
secure authentication is enabled.

 Assign system tables ahead of user region assignment
 

 Key: HBASE-14190
 URL: https://issues.apache.org/jira/browse/HBASE-14190
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Critical
 Attachments: 14190-v5.txt, 14190-v6.txt


 Currently the namespace table region is assigned like user regions.
 I spent several hours working with a customer where master couldn't finish 
 initialization.
 Even though master was restarted quite a few times, it went down with the 
 following:
 {code}
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Master server abort: loaded coprocessors are: []
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Unhandled exception. Starting shutdown.
 java.io.IOException: Timedout 30ms waiting for namespace table to be 
 assigned
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:104)
   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:985)
   at 
 org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:779)
   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:182)
   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1646)
   at java.lang.Thread.run(Thread.java:744)
 {code}
 During previous run(s), namespace table was created, hence leaving an entry 
 in hbase:meta.
 The following if block in TableNamespaceManager#start() was skipped:
 {code}
 if (!MetaTableAccessor.tableExists(masterServices.getConnection(),
   TableName.NAMESPACE_TABLE_NAME)) {
 {code}
 TableNamespaceManager#start() spins, waiting for namespace region to be 
 assigned.
 There was issue in master assigning user regions.
 We tried issuing 'assign' command from hbase shell which didn't work because 
 of the following check in MasterRpcServices#assignRegion():
 {code}
   master.checkInitialized();
 {code}
 This scenario can be avoided if we assign hbase:namespace table after 
 hbase:meta is assigned but before user table region assignment.



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


[jira] [Commented] (HBASE-14190) Assign system tables ahead of user region assignment

2015-08-10 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-14190:


A brief search doesn't locate the method which returns system tables currently 
deployed in cluster.
Planning to add one to MetaTableAccessor.

 Assign system tables ahead of user region assignment
 

 Key: HBASE-14190
 URL: https://issues.apache.org/jira/browse/HBASE-14190
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Critical
 Attachments: 14190-v5.txt, 14190-v6.txt


 Currently the namespace table region is assigned like user regions.
 I spent several hours working with a customer where master couldn't finish 
 initialization.
 Even though master was restarted quite a few times, it went down with the 
 following:
 {code}
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Master server abort: loaded coprocessors are: []
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Unhandled exception. Starting shutdown.
 java.io.IOException: Timedout 30ms waiting for namespace table to be 
 assigned
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:104)
   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:985)
   at 
 org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:779)
   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:182)
   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1646)
   at java.lang.Thread.run(Thread.java:744)
 {code}
 During previous run(s), namespace table was created, hence leaving an entry 
 in hbase:meta.
 The following if block in TableNamespaceManager#start() was skipped:
 {code}
 if (!MetaTableAccessor.tableExists(masterServices.getConnection(),
   TableName.NAMESPACE_TABLE_NAME)) {
 {code}
 TableNamespaceManager#start() spins, waiting for namespace region to be 
 assigned.
 There was issue in master assigning user regions.
 We tried issuing 'assign' command from hbase shell which didn't work because 
 of the following check in MasterRpcServices#assignRegion():
 {code}
   master.checkInitialized();
 {code}
 This scenario can be avoided if we assign hbase:namespace table after 
 hbase:meta is assigned but before user table region assignment.



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


[jira] [Commented] (HBASE-13706) CoprocessorClassLoader should not exempt Hive classes

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-13706:


Thanks Jerry, that will work

 CoprocessorClassLoader should not exempt Hive classes
 -

 Key: HBASE-13706
 URL: https://issues.apache.org/jira/browse/HBASE-13706
 Project: HBase
  Issue Type: Bug
  Components: Coprocessors
Affects Versions: 2.0.0, 1.0.1, 1.1.0, 0.98.12
Reporter: Jerry He
Assignee: Jerry He
Priority: Minor
 Fix For: 2.0.0, 1.2.0, 1.3.0

 Attachments: HBASE-13706-branch-1.patch, HBASE-13706-master-v2.patch, 
 HBASE-13706-master-v2.patch, HBASE-13706.patch


 CoprocessorClassLoader is used to load classes from the coprocessor jar.
 Certain classes are exempt from being loaded by this ClassLoader, which means 
 they will be ignored in the coprocessor jar, but loaded from parent classpath 
 instead.
 One problem is that we categorically exempt org.apache.hadoop.
 But it happens that Hive packages start with org.apache.hadoop.
 There is no reason to exclude hive classes from theCoprocessorClassLoader.
 HBase does not even include Hive jars.



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


[jira] [Commented] (HBASE-13706) CoprocessorClassLoader should not exempt Hive classes

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-13706:


+1 for 0.98

 CoprocessorClassLoader should not exempt Hive classes
 -

 Key: HBASE-13706
 URL: https://issues.apache.org/jira/browse/HBASE-13706
 Project: HBase
  Issue Type: Bug
  Components: Coprocessors
Affects Versions: 2.0.0, 1.0.1, 1.1.0, 0.98.12
Reporter: Jerry He
Assignee: Jerry He
Priority: Minor
 Fix For: 2.0.0, 1.2.0, 1.3.0

 Attachments: HBASE-13706-branch-1.patch, HBASE-13706-master-v2.patch, 
 HBASE-13706-master-v2.patch, HBASE-13706.patch


 CoprocessorClassLoader is used to load classes from the coprocessor jar.
 Certain classes are exempt from being loaded by this ClassLoader, which means 
 they will be ignored in the coprocessor jar, but loaded from parent classpath 
 instead.
 One problem is that we categorically exempt org.apache.hadoop.
 But it happens that Hive packages start with org.apache.hadoop.
 There is no reason to exclude hive classes from theCoprocessorClassLoader.
 HBase does not even include Hive jars.



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


[jira] [Commented] (HBASE-13706) CoprocessorClassLoader should not exempt Hive classes

2015-08-10 Thread Jerry He (JIRA)

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

Jerry He commented on HBASE-13706:
--

I will do a quick Phoenix sample test against HBase 1.1 with the fix. I happen 
to have phoenix-4.4.0-HBase-1.1-server.jar in my hbase lib.

 CoprocessorClassLoader should not exempt Hive classes
 -

 Key: HBASE-13706
 URL: https://issues.apache.org/jira/browse/HBASE-13706
 Project: HBase
  Issue Type: Bug
  Components: Coprocessors
Affects Versions: 2.0.0, 1.0.1, 1.1.0, 0.98.12
Reporter: Jerry He
Assignee: Jerry He
Priority: Minor
 Fix For: 2.0.0, 1.2.0, 1.3.0

 Attachments: HBASE-13706-branch-1.patch, HBASE-13706-master-v2.patch, 
 HBASE-13706-master-v2.patch, HBASE-13706.patch


 CoprocessorClassLoader is used to load classes from the coprocessor jar.
 Certain classes are exempt from being loaded by this ClassLoader, which means 
 they will be ignored in the coprocessor jar, but loaded from parent classpath 
 instead.
 One problem is that we categorically exempt org.apache.hadoop.
 But it happens that Hive packages start with org.apache.hadoop.
 There is no reason to exclude hive classes from theCoprocessorClassLoader.
 HBase does not even include Hive jars.



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


[jira] [Commented] (HBASE-14190) Assign system tables ahead of user region assignment

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-14190:


bq. I want to get confirmation that all system tables should be assigned ahead 
of user table regions.

Isn't this JIRA titled Assign system tables ahead of user region assignment?

Are your goals different?

 Assign system tables ahead of user region assignment
 

 Key: HBASE-14190
 URL: https://issues.apache.org/jira/browse/HBASE-14190
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Critical
 Attachments: 14190-v5.txt, 14190-v6.txt


 Currently the namespace table region is assigned like user regions.
 I spent several hours working with a customer where master couldn't finish 
 initialization.
 Even though master was restarted quite a few times, it went down with the 
 following:
 {code}
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Master server abort: loaded coprocessors are: []
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Unhandled exception. Starting shutdown.
 java.io.IOException: Timedout 30ms waiting for namespace table to be 
 assigned
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:104)
   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:985)
   at 
 org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:779)
   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:182)
   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1646)
   at java.lang.Thread.run(Thread.java:744)
 {code}
 During previous run(s), namespace table was created, hence leaving an entry 
 in hbase:meta.
 The following if block in TableNamespaceManager#start() was skipped:
 {code}
 if (!MetaTableAccessor.tableExists(masterServices.getConnection(),
   TableName.NAMESPACE_TABLE_NAME)) {
 {code}
 TableNamespaceManager#start() spins, waiting for namespace region to be 
 assigned.
 There was issue in master assigning user regions.
 We tried issuing 'assign' command from hbase shell which didn't work because 
 of the following check in MasterRpcServices#assignRegion():
 {code}
   master.checkInitialized();
 {code}
 This scenario can be avoided if we assign hbase:namespace table after 
 hbase:meta is assigned but before user table region assignment.



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


[jira] [Commented] (HBASE-14190) Assign system tables ahead of user region assignment

2015-08-10 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-14190:


bq. add additional tables to the 'hbase:' namespace with the expectation they 
are system tables that should be deployed ahead of user tables?

To my knowledge, there is currently no static registry of system tables. Patch 
v7 adds MetaTableAccessor#getSystemTableRegionsAndLocations() which scans 
hbase:meta table for system tables.

However, on fresh start, this method would not work.

Comment is welcome.

 Assign system tables ahead of user region assignment
 

 Key: HBASE-14190
 URL: https://issues.apache.org/jira/browse/HBASE-14190
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Critical
 Attachments: 14190-v5.txt, 14190-v6.txt, 14190-v7.txt


 Currently the namespace table region is assigned like user regions.
 I spent several hours working with a customer where master couldn't finish 
 initialization.
 Even though master was restarted quite a few times, it went down with the 
 following:
 {code}
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Master server abort: loaded coprocessors are: []
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Unhandled exception. Starting shutdown.
 java.io.IOException: Timedout 30ms waiting for namespace table to be 
 assigned
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:104)
   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:985)
   at 
 org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:779)
   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:182)
   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1646)
   at java.lang.Thread.run(Thread.java:744)
 {code}
 During previous run(s), namespace table was created, hence leaving an entry 
 in hbase:meta.
 The following if block in TableNamespaceManager#start() was skipped:
 {code}
 if (!MetaTableAccessor.tableExists(masterServices.getConnection(),
   TableName.NAMESPACE_TABLE_NAME)) {
 {code}
 TableNamespaceManager#start() spins, waiting for namespace region to be 
 assigned.
 There was issue in master assigning user regions.
 We tried issuing 'assign' command from hbase shell which didn't work because 
 of the following check in MasterRpcServices#assignRegion():
 {code}
   master.checkInitialized();
 {code}
 This scenario can be avoided if we assign hbase:namespace table after 
 hbase:meta is assigned but before user table region assignment.



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


[jira] [Updated] (HBASE-14190) Assign system tables ahead of user region assignment

2015-08-10 Thread Ted Yu (JIRA)

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

Ted Yu updated HBASE-14190:
---
Attachment: 14190-v7.txt

 Assign system tables ahead of user region assignment
 

 Key: HBASE-14190
 URL: https://issues.apache.org/jira/browse/HBASE-14190
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Critical
 Attachments: 14190-v5.txt, 14190-v6.txt, 14190-v7.txt


 Currently the namespace table region is assigned like user regions.
 I spent several hours working with a customer where master couldn't finish 
 initialization.
 Even though master was restarted quite a few times, it went down with the 
 following:
 {code}
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Master server abort: loaded coprocessors are: []
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Unhandled exception. Starting shutdown.
 java.io.IOException: Timedout 30ms waiting for namespace table to be 
 assigned
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:104)
   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:985)
   at 
 org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:779)
   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:182)
   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1646)
   at java.lang.Thread.run(Thread.java:744)
 {code}
 During previous run(s), namespace table was created, hence leaving an entry 
 in hbase:meta.
 The following if block in TableNamespaceManager#start() was skipped:
 {code}
 if (!MetaTableAccessor.tableExists(masterServices.getConnection(),
   TableName.NAMESPACE_TABLE_NAME)) {
 {code}
 TableNamespaceManager#start() spins, waiting for namespace region to be 
 assigned.
 There was issue in master assigning user regions.
 We tried issuing 'assign' command from hbase shell which didn't work because 
 of the following check in MasterRpcServices#assignRegion():
 {code}
   master.checkInitialized();
 {code}
 This scenario can be avoided if we assign hbase:namespace table after 
 hbase:meta is assigned but before user table region assignment.



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


[jira] [Commented] (HBASE-14166) Per-Region metrics can be stale

2015-08-10 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-14166:
---

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

{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:green}+1 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.7.0)

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

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

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

{color:red}-1 checkstyle{color}.  The applied patch generated 
1863 checkstyle errors (more than the master's current 1862 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 post-site goal succeeds with this patch.

 {color:red}-1 core tests{color}.  The patch failed these unit tests:
   
org.apache.hadoop.hbase.master.procedure.TestWALProcedureStoreOnHDFS

 {color:red}-1 core zombie tests{color}.  There are 10 zombie test(s):  
at 
org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat2.testMRIncrementalLoadWithSplit(TestHFileOutputFormat2.java:385)
at 
org.apache.hadoop.hbase.mapreduce.TestTimeRangeMapRed.testTimeRangeMapRed(TestTimeRangeMapRed.java:163)
at 
org.apache.hadoop.hbase.mapreduce.MultiTableInputFormatTestBase.testScan(MultiTableInputFormatTestBase.java:255)
at 
org.apache.hadoop.hbase.mapreduce.MultiTableInputFormatTestBase.testScanEmptyToEmpty(MultiTableInputFormatTestBase.java:196)
at 
org.apache.hadoop.hbase.mapreduce.TestImportTSVWithVisibilityLabels.testBulkOutputWithTsvImporterTextMapper(TestImportTSVWithVisibilityLabels.java:253)
at 
org.apache.hadoop.hbase.util.TestHBaseFsck.testFixByTable(TestHBaseFsck.java:1652)
at 
org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat.testColumnFamilySettings(TestHFileOutputFormat.java:829)
at 
org.apache.hadoop.hbase.mapreduce.TestTableMapReduceBase.testCombiner(TestTableMapReduceBase.java:106)
at 
org.apache.hadoop.hbase.mapreduce.TestCopyTable.testRenameFamily(TestCopyTable.java:214)
at 
org.apache.hadoop.hbase.mapred.TestTableSnapshotInputFormat.testWithMapReduceImpl(TestTableSnapshotInputFormat.java:216)
at 
org.apache.hadoop.hbase.mapreduce.TableSnapshotInputFormatTestBase.testWithMapReduce(TableSnapshotInputFormatTestBase.java:112)
at 
org.apache.hadoop.hbase.mapred.TestTableSnapshotInputFormat.testWithMapReduceMultiRegion(TestTableSnapshotInputFormat.java:141)

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15032//testReport/
Release Findbugs (version 2.0.3)warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15032//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15032//artifact/patchprocess/checkstyle-aggregate.html

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

This message is automatically generated.

 Per-Region metrics can be stale
 ---

 Key: HBASE-14166
 URL: https://issues.apache.org/jira/browse/HBASE-14166
 Project: HBase
  Issue Type: Bug
Affects Versions: 1.1.0.1
Reporter: Elliott Clark
Assignee: Elliott Clark
 Fix For: 2.0.0, 1.3.0

 Attachments: HBASE-14166-v1.patch, HBASE-14166-v2.patch, 
 HBASE-14166.patch


 We're seeing some machines that are reporting only old region metrics. It 
 seems like at some point the Hadoop metrics system decided which metrics to 
 display and which not to. From then on it was not changing.



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


[jira] [Commented] (HBASE-13889) hbase-shaded-client artifact is missing dependency (therefore, does not work)

2015-08-10 Thread Dmitry Minkovsky (JIRA)

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

Dmitry Minkovsky commented on HBASE-13889:
--

[~ndimiduk] Sorry to say I have not. My solution has been using basic 
Jersey/Grizzly without Dropwizard in the mean time, thus avoiding the 
dependency conflict. Keeping this issue in mind. If no one works this out, I'll 
post a patch here when I do. Thank you.

 hbase-shaded-client artifact is missing dependency (therefore, does not work)
 -

 Key: HBASE-13889
 URL: https://issues.apache.org/jira/browse/HBASE-13889
 Project: HBase
  Issue Type: Bug
  Components: Client
Affects Versions: 1.1.0, 1.1.0.1
 Environment: N/A?
Reporter: Dmitry Minkovsky
Assignee: Elliott Clark
Priority: Critical
 Fix For: 2.0.0, 1.3.0, 1.2.1, 1.1.3

 Attachments: 13889.wip.patch, Screen Shot 2015-06-11 at 10.59.55 
 AM.png


 The {{hbase-shaded-client}} artifact was introduced in 
 [HBASE-13517|https://issues.apache.org/jira/browse/HBASE-13517]. Thank you 
 very much for this, as I am new to Java building and was having a very 
 slow-moving time resolving conflicts. However, the shaded client artifact 
 seems to be missing {{javax.xml.transform.TransformerException}}.  I examined 
 the JAR, which does not have this package/class.
 Steps to reproduce:
 Java: 
 {code}
 package com.mycompany.app;
   
   
   
   
   
 import org.apache.hadoop.conf.Configuration;  
   
   
 import org.apache.hadoop.hbase.HBaseConfiguration;
   
   
 import org.apache.hadoop.hbase.client.Connection; 
   
   
 import org.apache.hadoop.hbase.client.ConnectionFactory;  
   
   
   
   
   
 public class App {
   

 public static void main( String[] args ) throws java.io.IOException { 
   
   
 
 Configuration config = HBaseConfiguration.create();   
   
   
 Connection connection = ConnectionFactory.createConnection(config);   
   
   
 } 
   
   
 }
 {code}
 POM:
 {code}
 project xmlns=http://maven.apache.org/POM/4.0.0; 
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; 
  
   xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 
 http://maven.apache.org/xsd/maven-4.0.0.xsd; 
 
   modelVersion4.0.0/modelVersion  
   
   
   
   
   
   groupIdcom.mycompany.app/groupId
   
   
   artifactIdmy-app/artifactId 
   

[jira] [Commented] (HBASE-14190) Assign system tables ahead of user region assignment

2015-08-10 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-14190:


Patch v7 uses hbase:meta as the registry of system tables.
I think this should be fine for this JIRA.

It is also consistent with the approach of patch v1: we assign the system table 
if it appears in hbase:meta.

 Assign system tables ahead of user region assignment
 

 Key: HBASE-14190
 URL: https://issues.apache.org/jira/browse/HBASE-14190
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Critical
 Attachments: 14190-v5.txt, 14190-v6.txt, 14190-v7.txt


 Currently the namespace table region is assigned like user regions.
 I spent several hours working with a customer where master couldn't finish 
 initialization.
 Even though master was restarted quite a few times, it went down with the 
 following:
 {code}
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Master server abort: loaded coprocessors are: []
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Unhandled exception. Starting shutdown.
 java.io.IOException: Timedout 30ms waiting for namespace table to be 
 assigned
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:104)
   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:985)
   at 
 org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:779)
   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:182)
   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1646)
   at java.lang.Thread.run(Thread.java:744)
 {code}
 During previous run(s), namespace table was created, hence leaving an entry 
 in hbase:meta.
 The following if block in TableNamespaceManager#start() was skipped:
 {code}
 if (!MetaTableAccessor.tableExists(masterServices.getConnection(),
   TableName.NAMESPACE_TABLE_NAME)) {
 {code}
 TableNamespaceManager#start() spins, waiting for namespace region to be 
 assigned.
 There was issue in master assigning user regions.
 We tried issuing 'assign' command from hbase shell which didn't work because 
 of the following check in MasterRpcServices#assignRegion():
 {code}
   master.checkInitialized();
 {code}
 This scenario can be avoided if we assign hbase:namespace table after 
 hbase:meta is assigned but before user table region assignment.



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


[jira] [Updated] (HBASE-14190) Assign system tables ahead of user region assignment

2015-08-10 Thread Ted Yu (JIRA)

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

Ted Yu updated HBASE-14190:
---
Attachment: (was: 14190-v5.txt)

 Assign system tables ahead of user region assignment
 

 Key: HBASE-14190
 URL: https://issues.apache.org/jira/browse/HBASE-14190
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Critical
 Attachments: 14190-v6.txt, 14190-v7.txt


 Currently the namespace table region is assigned like user regions.
 I spent several hours working with a customer where master couldn't finish 
 initialization.
 Even though master was restarted quite a few times, it went down with the 
 following:
 {code}
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Master server abort: loaded coprocessors are: []
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Unhandled exception. Starting shutdown.
 java.io.IOException: Timedout 30ms waiting for namespace table to be 
 assigned
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:104)
   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:985)
   at 
 org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:779)
   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:182)
   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1646)
   at java.lang.Thread.run(Thread.java:744)
 {code}
 During previous run(s), namespace table was created, hence leaving an entry 
 in hbase:meta.
 The following if block in TableNamespaceManager#start() was skipped:
 {code}
 if (!MetaTableAccessor.tableExists(masterServices.getConnection(),
   TableName.NAMESPACE_TABLE_NAME)) {
 {code}
 TableNamespaceManager#start() spins, waiting for namespace region to be 
 assigned.
 There was issue in master assigning user regions.
 We tried issuing 'assign' command from hbase shell which didn't work because 
 of the following check in MasterRpcServices#assignRegion():
 {code}
   master.checkInitialized();
 {code}
 This scenario can be avoided if we assign hbase:namespace table after 
 hbase:meta is assigned but before user table region assignment.



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


[jira] [Updated] (HBASE-13376) Improvements to Stochastic load balancer

2015-08-10 Thread Vandana Ayyalasomayajula (JIRA)

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

Vandana Ayyalasomayajula updated HBASE-13376:
-
Attachment: HBASE-13376_2.patch

 Improvements to Stochastic load balancer
 

 Key: HBASE-13376
 URL: https://issues.apache.org/jira/browse/HBASE-13376
 Project: HBase
  Issue Type: Improvement
  Components: Balancer
Affects Versions: 1.0.0, 0.98.12
Reporter: Vandana Ayyalasomayajula
Assignee: Vandana Ayyalasomayajula
Priority: Minor
 Attachments: 13376-v2.txt, HBASE-13376.patch, HBASE-13376_0.98.txt, 
 HBASE-13376_0.txt, HBASE-13376_1.txt, HBASE-13376_1_1.txt, 
 HBASE-13376_2.patch, HBASE-13376_2_branch-1.patch, HBASE-13376_98.patch, 
 HBASE-13376_branch-1.patch


 There are two things this jira tries to address:
 1. The locality picker in the stochastic balancer does not pick regions with 
 least locality as candidates for swap/move. So when any user configures 
 locality cost in the configs, the balancer does not always seems to move 
 regions with bad locality. 
 2. When a cluster has equal number of loaded regions, it always picks the 
 first one. It should pick a random region on one of the equally loaded 
 servers. This improves a chance of finding a good candidate, when load picker 
 is invoked several times. 



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


[jira] [Commented] (HBASE-13889) hbase-shaded-client artifact is missing dependency (therefore, does not work)

2015-08-10 Thread Elliott Clark (JIRA)

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

Elliott Clark commented on HBASE-13889:
---

Yeah pretty sure that this is a bug in the shade-jar. Trying to chase that down.

 hbase-shaded-client artifact is missing dependency (therefore, does not work)
 -

 Key: HBASE-13889
 URL: https://issues.apache.org/jira/browse/HBASE-13889
 Project: HBase
  Issue Type: Bug
  Components: Client
Affects Versions: 1.1.0, 1.1.0.1
 Environment: N/A?
Reporter: Dmitry Minkovsky
Assignee: Elliott Clark
Priority: Critical
 Fix For: 2.0.0, 1.3.0, 1.2.1, 1.1.3

 Attachments: 13889.wip.patch, Screen Shot 2015-06-11 at 10.59.55 
 AM.png


 The {{hbase-shaded-client}} artifact was introduced in 
 [HBASE-13517|https://issues.apache.org/jira/browse/HBASE-13517]. Thank you 
 very much for this, as I am new to Java building and was having a very 
 slow-moving time resolving conflicts. However, the shaded client artifact 
 seems to be missing {{javax.xml.transform.TransformerException}}.  I examined 
 the JAR, which does not have this package/class.
 Steps to reproduce:
 Java: 
 {code}
 package com.mycompany.app;
   
   
   
   
   
 import org.apache.hadoop.conf.Configuration;  
   
   
 import org.apache.hadoop.hbase.HBaseConfiguration;
   
   
 import org.apache.hadoop.hbase.client.Connection; 
   
   
 import org.apache.hadoop.hbase.client.ConnectionFactory;  
   
   
   
   
   
 public class App {
   

 public static void main( String[] args ) throws java.io.IOException { 
   
   
 
 Configuration config = HBaseConfiguration.create();   
   
   
 Connection connection = ConnectionFactory.createConnection(config);   
   
   
 } 
   
   
 }
 {code}
 POM:
 {code}
 project xmlns=http://maven.apache.org/POM/4.0.0; 
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; 
  
   xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 
 http://maven.apache.org/xsd/maven-4.0.0.xsd; 
 
   modelVersion4.0.0/modelVersion  
   
   
   
   
   
   groupIdcom.mycompany.app/groupId
   
   
   artifactIdmy-app/artifactId 
   
   
   version1.0-SNAPSHOT/version 
   

[jira] [Assigned] (HBASE-12911) Client-side metrics

2015-08-10 Thread Nick Dimiduk (JIRA)

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

Nick Dimiduk reassigned HBASE-12911:


Assignee: Nick Dimiduk

 Client-side metrics
 ---

 Key: HBASE-12911
 URL: https://issues.apache.org/jira/browse/HBASE-12911
 Project: HBase
  Issue Type: Brainstorming
  Components: Client, Performance, Usability
Reporter: Nick Dimiduk
Assignee: Nick Dimiduk

 There's very little visibility into the hbase client. Folks who care to add 
 some kind of metrics collection end up wrapping Table method invocations with 
 {{System.currentTimeMillis()}}. For a crude example of this, have a look at 
 what I did in {{PerformanceEvaluation}} for exposing requests latencies up to 
 {{IntegrationTestRegionReplicaPerf}}. The client is quite complex, there's a 
 lot going on under the hood that is impossible to see right now without a 
 profiler. Being a crucial part of the performance of this distributed system, 
 we should have deeper visibility into the client's function.
 I'm not sure that wiring into the hadoop metrics system is the right choice 
 because the client is often embedded as a library in a user's application. We 
 should have integration with our metrics tools so that, i.e., a client 
 embedded in a coprocessor can report metrics through the usual RS channels, 
 or a client used in a MR job can do the same.
 I would propose an interface-based system with pluggable implementations. Out 
 of the box we'd include a hadoop-metrics implementation and one other, 
 possibly [dropwizard/metrics|https://github.com/dropwizard/metrics].
 Thoughts?



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


[jira] [Updated] (HBASE-13376) Improvements to Stochastic load balancer

2015-08-10 Thread Vandana Ayyalasomayajula (JIRA)

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

Vandana Ayyalasomayajula updated HBASE-13376:
-
Attachment: (was: HBASE-13376_2.patch)

 Improvements to Stochastic load balancer
 

 Key: HBASE-13376
 URL: https://issues.apache.org/jira/browse/HBASE-13376
 Project: HBase
  Issue Type: Improvement
  Components: Balancer
Affects Versions: 1.0.0, 0.98.12
Reporter: Vandana Ayyalasomayajula
Assignee: Vandana Ayyalasomayajula
Priority: Minor
 Attachments: 13376-v2.txt, HBASE-13376.patch, HBASE-13376_0.98.txt, 
 HBASE-13376_0.txt, HBASE-13376_1.txt, HBASE-13376_1_1.txt, 
 HBASE-13376_2_branch-1.patch, HBASE-13376_98.patch, HBASE-13376_branch-1.patch


 There are two things this jira tries to address:
 1. The locality picker in the stochastic balancer does not pick regions with 
 least locality as candidates for swap/move. So when any user configures 
 locality cost in the configs, the balancer does not always seems to move 
 regions with bad locality. 
 2. When a cluster has equal number of loaded regions, it always picks the 
 first one. It should pick a random region on one of the equally loaded 
 servers. This improves a chance of finding a good candidate, when load picker 
 is invoked several times. 



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


[jira] [Updated] (HBASE-13376) Improvements to Stochastic load balancer

2015-08-10 Thread Ted Yu (JIRA)

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

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

 Improvements to Stochastic load balancer
 

 Key: HBASE-13376
 URL: https://issues.apache.org/jira/browse/HBASE-13376
 Project: HBase
  Issue Type: Improvement
  Components: Balancer
Affects Versions: 0.98.12, 1.0.0
Reporter: Vandana Ayyalasomayajula
Assignee: Vandana Ayyalasomayajula
Priority: Minor
 Attachments: 13376-v2.txt, HBASE-13376.patch, HBASE-13376_0.98.txt, 
 HBASE-13376_0.txt, HBASE-13376_1.txt, HBASE-13376_1_1.txt, 
 HBASE-13376_2.patch, HBASE-13376_2_branch-1.patch, HBASE-13376_98.patch, 
 HBASE-13376_branch-1.patch


 There are two things this jira tries to address:
 1. The locality picker in the stochastic balancer does not pick regions with 
 least locality as candidates for swap/move. So when any user configures 
 locality cost in the configs, the balancer does not always seems to move 
 regions with bad locality. 
 2. When a cluster has equal number of loaded regions, it always picks the 
 first one. It should pick a random region on one of the equally loaded 
 servers. This improves a chance of finding a good candidate, when load picker 
 is invoked several times. 



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


[jira] [Commented] (HBASE-13889) hbase-shaded-client artifact is missing dependency (therefore, does not work)

2015-08-10 Thread Elliott Clark (JIRA)

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

Elliott Clark commented on HBASE-13889:
---

Pretty sure that we are seeing:

https://issues.apache.org/jira/browse/MSHADE-156


 hbase-shaded-client artifact is missing dependency (therefore, does not work)
 -

 Key: HBASE-13889
 URL: https://issues.apache.org/jira/browse/HBASE-13889
 Project: HBase
  Issue Type: Bug
  Components: Client
Affects Versions: 1.1.0, 1.1.0.1
 Environment: N/A?
Reporter: Dmitry Minkovsky
Assignee: Elliott Clark
Priority: Critical
 Fix For: 2.0.0, 1.3.0, 1.2.1, 1.1.3

 Attachments: 13889.wip.patch, Screen Shot 2015-06-11 at 10.59.55 
 AM.png


 The {{hbase-shaded-client}} artifact was introduced in 
 [HBASE-13517|https://issues.apache.org/jira/browse/HBASE-13517]. Thank you 
 very much for this, as I am new to Java building and was having a very 
 slow-moving time resolving conflicts. However, the shaded client artifact 
 seems to be missing {{javax.xml.transform.TransformerException}}.  I examined 
 the JAR, which does not have this package/class.
 Steps to reproduce:
 Java: 
 {code}
 package com.mycompany.app;
   
   
   
   
   
 import org.apache.hadoop.conf.Configuration;  
   
   
 import org.apache.hadoop.hbase.HBaseConfiguration;
   
   
 import org.apache.hadoop.hbase.client.Connection; 
   
   
 import org.apache.hadoop.hbase.client.ConnectionFactory;  
   
   
   
   
   
 public class App {
   

 public static void main( String[] args ) throws java.io.IOException { 
   
   
 
 Configuration config = HBaseConfiguration.create();   
   
   
 Connection connection = ConnectionFactory.createConnection(config);   
   
   
 } 
   
   
 }
 {code}
 POM:
 {code}
 project xmlns=http://maven.apache.org/POM/4.0.0; 
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; 
  
   xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 
 http://maven.apache.org/xsd/maven-4.0.0.xsd; 
 
   modelVersion4.0.0/modelVersion  
   
   
   
   
   
   groupIdcom.mycompany.app/groupId
   
   
   artifactIdmy-app/artifactId 
   
   
   version1.0-SNAPSHOT/version 
 

[jira] [Updated] (HBASE-5878) Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-5878:
--
   Resolution: Fixed
 Hadoop Flags: Reviewed
Fix Version/s: 1.1.2
   1.2.0
   1.0.2
   0.98.14
   Status: Resolved  (was: Patch Available)

Thanks.

Pushed the v6 master patch to master, branch-1, and branch-1.2. Pushed the v1 
branch-1.0 patch to branch-1.0 and branch-1.1. Pushed the v7 0.98 patch to 0.98 
(checked Hadoop 1 and 2 builds). WAL unit tests pass all.


 Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.
 ---

 Key: HBASE-5878
 URL: https://issues.apache.org/jira/browse/HBASE-5878
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Uma Maheswara Rao G
Assignee: Ashish Singhi
 Fix For: 2.0.0, 0.98.14, 1.0.2, 1.2.0, 1.1.2, 1.3.0

 Attachments: HBASE-5878-branch-1.0.patch, HBASE-5878-v2.patch, 
 HBASE-5878-v3.patch, HBASE-5878-v4.patch, HBASE-5878-v5-0.98.patch, 
 HBASE-5878-v5.patch, HBASE-5878-v5.patch, HBASE-5878-v6-0.98.patch, 
 HBASE-5878-v6.patch, HBASE-5878-v7-0.98.patch, HBASE-5878.patch


 SequencFileLogReader: 
 Currently Hbase using getFileLength api from DFSInputStream class by 
 reflection. DFSInputStream is not exposed as public. So, this may change in 
 future. Now HDFS exposed HdfsDataInputStream as public API.
 We can make use of it, when we are not able to find the getFileLength api 
 from DFSInputStream as a else condition. So, that we will not have any sudden 
 surprise like we are facing today.
 Also,  it is just logging one warn message and proceeding if it throws any 
 exception while getting the length. I think we can re-throw the exception 
 because there is no point in continuing with dataloss.
 {code}
 long adjust = 0;
   try {
 Field fIn = FilterInputStream.class.getDeclaredField(in);
 fIn.setAccessible(true);
 Object realIn = fIn.get(this.in);
 // In hadoop 0.22, DFSInputStream is a standalone class.  Before 
 this,
 // it was an inner class of DFSClient.
 if (realIn.getClass().getName().endsWith(DFSInputStream)) {
   Method getFileLength = realIn.getClass().
 getDeclaredMethod(getFileLength, new Class? []{});
   getFileLength.setAccessible(true);
   long realLength = ((Long)getFileLength.
 invoke(realIn, new Object []{})).longValue();
   assert(realLength = this.length);
   adjust = realLength - this.length;
 } else {
   LOG.info(Input stream class:  + realIn.getClass().getName() +
   , not adjusting length);
 }
   } catch(Exception e) {
 SequenceFileLogReader.LOG.warn(
   Error while trying to get accurate file length.   +
   Truncation / data loss may occur if RegionServers die., e);
   }
   return adjust + super.getPos();
 {code}



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


[jira] [Commented] (HBASE-12911) Client-side metrics

2015-08-10 Thread Nick Dimiduk (JIRA)

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

Nick Dimiduk commented on HBASE-12911:
--

Git fat-fingered an unintended push. Reverted. Sorry for the noise.

Will post a WIP patch shortly.

 Client-side metrics
 ---

 Key: HBASE-12911
 URL: https://issues.apache.org/jira/browse/HBASE-12911
 Project: HBase
  Issue Type: Brainstorming
  Components: Client, Performance, Usability
Reporter: Nick Dimiduk
Assignee: Nick Dimiduk

 There's very little visibility into the hbase client. Folks who care to add 
 some kind of metrics collection end up wrapping Table method invocations with 
 {{System.currentTimeMillis()}}. For a crude example of this, have a look at 
 what I did in {{PerformanceEvaluation}} for exposing requests latencies up to 
 {{IntegrationTestRegionReplicaPerf}}. The client is quite complex, there's a 
 lot going on under the hood that is impossible to see right now without a 
 profiler. Being a crucial part of the performance of this distributed system, 
 we should have deeper visibility into the client's function.
 I'm not sure that wiring into the hadoop metrics system is the right choice 
 because the client is often embedded as a library in a user's application. We 
 should have integration with our metrics tools so that, i.e., a client 
 embedded in a coprocessor can report metrics through the usual RS channels, 
 or a client used in a MR job can do the same.
 I would propose an interface-based system with pluggable implementations. Out 
 of the box we'd include a hadoop-metrics implementation and one other, 
 possibly [dropwizard/metrics|https://github.com/dropwizard/metrics].
 Thoughts?



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


[jira] [Created] (HBASE-14202) Reduce garbage we create

2015-08-10 Thread Anoop Sam John (JIRA)
Anoop Sam John created HBASE-14202:
--

 Summary: Reduce garbage we create
 Key: HBASE-14202
 URL: https://issues.apache.org/jira/browse/HBASE-14202
 Project: HBase
  Issue Type: Sub-task
Affects Versions: 2.0.0
Reporter: Anoop Sam John
Assignee: Anoop Sam John
 Fix For: 2.0.0


2 optimizations wrt no# short living objects we create

1. IOEngine#read call to read from L2 cache is always creating a Pair object to 
return the BB and MemoryType. We can avoid this by making the read API to 
return a Cacheable. Pass the CacheableDeserializer, to be used, also to the 
read API. Setter for MemoryType is already there in Cacheable interface.
2. ByteBuff#asSubByteBuffer(int, int, Pair)  avoids Pair object creation every 
time as we pass the shared Pair object. Still as pair can take only Objects, 
the primitive int has to be boxed into an Integer object every time. This can 
be avoided by creating a new Pair type which is a pair of an Object and a 
primitive int.




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


[jira] [Updated] (HBASE-14202) Reduce garbage we create

2015-08-10 Thread Anoop Sam John (JIRA)

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

Anoop Sam John updated HBASE-14202:
---
Attachment: HBASE-14202.patch

Simpler patch. Ping [~ram_krish], [~stack]

 Reduce garbage we create
 

 Key: HBASE-14202
 URL: https://issues.apache.org/jira/browse/HBASE-14202
 Project: HBase
  Issue Type: Sub-task
  Components: regionserver, Scanners
Affects Versions: 2.0.0
Reporter: Anoop Sam John
Assignee: Anoop Sam John
 Fix For: 2.0.0

 Attachments: HBASE-14202.patch


 2 optimizations wrt no# short living objects we create
 1. IOEngine#read call to read from L2 cache is always creating a Pair object 
 to return the BB and MemoryType. We can avoid this by making the read API to 
 return a Cacheable. Pass the CacheableDeserializer, to be used, also to the 
 read API. Setter for MemoryType is already there in Cacheable interface.
 2. ByteBuff#asSubByteBuffer(int, int, Pair)  avoids Pair object creation 
 every time as we pass the shared Pair object. Still as pair can take only 
 Objects, the primitive int has to be boxed into an Integer object every time. 
 This can be avoided by creating a new Pair type which is a pair of an Object 
 and a primitive int.



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


[jira] [Commented] (HBASE-5878) Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.

2015-08-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-5878:
---

FAILURE: Integrated in HBase-TRUNK #6712 (See 
[https://builds.apache.org/job/HBase-TRUNK/6712/])
HBASE-5878 Use getVisibleLength public api from HdfsDataInputStream from 
Hadoop-2. (apurtell: rev 6e8cdec242b6c40c09601982bad0a79a569e66c4)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java


 Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.
 ---

 Key: HBASE-5878
 URL: https://issues.apache.org/jira/browse/HBASE-5878
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Uma Maheswara Rao G
Assignee: Ashish Singhi
 Fix For: 2.0.0, 0.98.14, 1.0.2, 1.2.0, 1.1.2, 1.3.0

 Attachments: HBASE-5878-branch-1.0.patch, HBASE-5878-v2.patch, 
 HBASE-5878-v3.patch, HBASE-5878-v4.patch, HBASE-5878-v5-0.98.patch, 
 HBASE-5878-v5.patch, HBASE-5878-v5.patch, HBASE-5878-v6-0.98.patch, 
 HBASE-5878-v6.patch, HBASE-5878-v7-0.98.patch, HBASE-5878.patch


 SequencFileLogReader: 
 Currently Hbase using getFileLength api from DFSInputStream class by 
 reflection. DFSInputStream is not exposed as public. So, this may change in 
 future. Now HDFS exposed HdfsDataInputStream as public API.
 We can make use of it, when we are not able to find the getFileLength api 
 from DFSInputStream as a else condition. So, that we will not have any sudden 
 surprise like we are facing today.
 Also,  it is just logging one warn message and proceeding if it throws any 
 exception while getting the length. I think we can re-throw the exception 
 because there is no point in continuing with dataloss.
 {code}
 long adjust = 0;
   try {
 Field fIn = FilterInputStream.class.getDeclaredField(in);
 fIn.setAccessible(true);
 Object realIn = fIn.get(this.in);
 // In hadoop 0.22, DFSInputStream is a standalone class.  Before 
 this,
 // it was an inner class of DFSClient.
 if (realIn.getClass().getName().endsWith(DFSInputStream)) {
   Method getFileLength = realIn.getClass().
 getDeclaredMethod(getFileLength, new Class? []{});
   getFileLength.setAccessible(true);
   long realLength = ((Long)getFileLength.
 invoke(realIn, new Object []{})).longValue();
   assert(realLength = this.length);
   adjust = realLength - this.length;
 } else {
   LOG.info(Input stream class:  + realIn.getClass().getName() +
   , not adjusting length);
 }
   } catch(Exception e) {
 SequenceFileLogReader.LOG.warn(
   Error while trying to get accurate file length.   +
   Truncation / data loss may occur if RegionServers die., e);
   }
   return adjust + super.getPos();
 {code}



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


[jira] [Commented] (HBASE-12911) Client-side metrics

2015-08-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12911:


FAILURE: Integrated in HBase-TRUNK #6712 (See 
[https://builds.apache.org/job/HBase-TRUNK/6712/])
HBASE-12911 Client-side metrics (ndimiduk: rev 
06989fd1f936f905a94e6e98e462ba72704d05c4)
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
* 
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/client/MetricsConnectionWrapper.java
* 
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/client/MetricsConnectionSource.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/Connection.java
* 
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/client/MetricsConnectionSourceFactory.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionAdapter.java
* hbase-client/pom.xml
* 
hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/client/MetricsConnectionSourceFactoryImpl.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetricsConnectionWrapperImpl.java
* 
hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/client/MetricsConnectionSourceImpl.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetaCache.java
* 
hbase-hadoop2-compat/src/main/resources/META-INF/services/org.apache.hadoop.hbase.client.MetricsConnectionSourceFactory
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetricsConnection.java
Revert HBASE-12911 Client-side metrics (ndimiduk: rev 
e4106b4c4a3b762e5c9c2b35adf3e048a3ab3b2d)
* 
hbase-hadoop2-compat/src/main/resources/META-INF/services/org.apache.hadoop.hbase.client.MetricsConnectionSourceFactory
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionAdapter.java
* hbase-client/pom.xml
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/Connection.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetaCache.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetricsConnectionWrapperImpl.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetricsConnection.java
* 
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/client/MetricsConnectionSource.java
* 
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/client/MetricsConnectionWrapper.java
* 
hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/client/MetricsConnectionSourceImpl.java
* 
hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/client/MetricsConnectionSourceFactoryImpl.java
* 
hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/client/MetricsConnectionSourceFactory.java


 Client-side metrics
 ---

 Key: HBASE-12911
 URL: https://issues.apache.org/jira/browse/HBASE-12911
 Project: HBase
  Issue Type: Brainstorming
  Components: Client, Performance, Usability
Reporter: Nick Dimiduk
Assignee: Nick Dimiduk

 There's very little visibility into the hbase client. Folks who care to add 
 some kind of metrics collection end up wrapping Table method invocations with 
 {{System.currentTimeMillis()}}. For a crude example of this, have a look at 
 what I did in {{PerformanceEvaluation}} for exposing requests latencies up to 
 {{IntegrationTestRegionReplicaPerf}}. The client is quite complex, there's a 
 lot going on under the hood that is impossible to see right now without a 
 profiler. Being a crucial part of the performance of this distributed system, 
 we should have deeper visibility into the client's function.
 I'm not sure that wiring into the hadoop metrics system is the right choice 
 because the client is often embedded as a library in a user's application. We 
 should have integration with our metrics tools so that, i.e., a client 
 embedded in a coprocessor can report metrics through the usual RS channels, 
 or a client used in a MR job can do the same.
 I would propose an interface-based system with pluggable implementations. Out 
 of the box we'd include a hadoop-metrics implementation and one other, 
 possibly [dropwizard/metrics|https://github.com/dropwizard/metrics].
 Thoughts?



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


[jira] [Commented] (HBASE-14194) Undeprecate methods in ThriftServerRunner.HBaseHandler

2015-08-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-14194:


FAILURE: Integrated in HBase-1.2 #99 (See 
[https://builds.apache.org/job/HBase-1.2/99/])
HBASE-14194 Undeprecate methods in ThriftServerRunner.HBaseHandler (apurtell: 
rev 323e48adab37926c982fac9cc7427beb0999d8fb)
* 
hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java


 Undeprecate methods in ThriftServerRunner.HBaseHandler
 --

 Key: HBASE-14194
 URL: https://issues.apache.org/jira/browse/HBASE-14194
 Project: HBase
  Issue Type: Improvement
Reporter: Lars Francke
Assignee: Lars Francke
Priority: Trivial
 Fix For: 2.0.0, 1.2.0, 1.3.0

 Attachments: HBASE-14194.patch


 The methods {{get}}, {{getVer}}, {{getVerTs}}, {{atomicIncrement}} were 
 deprecated back in HBASE-1304. My guess is this was because it wasn't 
 distinguishing between column family and column qualifier but I'm not sure. 
 Either way it's been in there for six years without documentation or a 
 deprecation at the interface level so it adds to my confusion and I'll attach 
 a patch to remove the deprecations.
 I guess at one point the whole old Thrift server will be deprecated.



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


[jira] [Commented] (HBASE-5878) Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.

2015-08-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-5878:
---

FAILURE: Integrated in HBase-1.2 #99 (See 
[https://builds.apache.org/job/HBase-1.2/99/])
HBASE-5878 Use getVisibleLength public api from HdfsDataInputStream from 
Hadoop-2. (apurtell: rev 7f33e6330a37b0401c2f9143ddbea67361217453)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java


 Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.
 ---

 Key: HBASE-5878
 URL: https://issues.apache.org/jira/browse/HBASE-5878
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Uma Maheswara Rao G
Assignee: Ashish Singhi
 Fix For: 2.0.0, 0.98.14, 1.0.2, 1.2.0, 1.1.2, 1.3.0

 Attachments: HBASE-5878-branch-1.0.patch, HBASE-5878-v2.patch, 
 HBASE-5878-v3.patch, HBASE-5878-v4.patch, HBASE-5878-v5-0.98.patch, 
 HBASE-5878-v5.patch, HBASE-5878-v5.patch, HBASE-5878-v6-0.98.patch, 
 HBASE-5878-v6.patch, HBASE-5878-v7-0.98.patch, HBASE-5878.patch


 SequencFileLogReader: 
 Currently Hbase using getFileLength api from DFSInputStream class by 
 reflection. DFSInputStream is not exposed as public. So, this may change in 
 future. Now HDFS exposed HdfsDataInputStream as public API.
 We can make use of it, when we are not able to find the getFileLength api 
 from DFSInputStream as a else condition. So, that we will not have any sudden 
 surprise like we are facing today.
 Also,  it is just logging one warn message and proceeding if it throws any 
 exception while getting the length. I think we can re-throw the exception 
 because there is no point in continuing with dataloss.
 {code}
 long adjust = 0;
   try {
 Field fIn = FilterInputStream.class.getDeclaredField(in);
 fIn.setAccessible(true);
 Object realIn = fIn.get(this.in);
 // In hadoop 0.22, DFSInputStream is a standalone class.  Before 
 this,
 // it was an inner class of DFSClient.
 if (realIn.getClass().getName().endsWith(DFSInputStream)) {
   Method getFileLength = realIn.getClass().
 getDeclaredMethod(getFileLength, new Class? []{});
   getFileLength.setAccessible(true);
   long realLength = ((Long)getFileLength.
 invoke(realIn, new Object []{})).longValue();
   assert(realLength = this.length);
   adjust = realLength - this.length;
 } else {
   LOG.info(Input stream class:  + realIn.getClass().getName() +
   , not adjusting length);
 }
   } catch(Exception e) {
 SequenceFileLogReader.LOG.warn(
   Error while trying to get accurate file length.   +
   Truncation / data loss may occur if RegionServers die., e);
   }
   return adjust + super.getPos();
 {code}



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


[jira] [Updated] (HBASE-14203) remove duplicate code getTableDescriptor in HTable

2015-08-10 Thread Heng Chen (JIRA)

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

Heng Chen updated HBASE-14203:
--
Attachment: HBASE-14203.patch

 remove duplicate code getTableDescriptor in HTable
 --

 Key: HBASE-14203
 URL: https://issues.apache.org/jira/browse/HBASE-14203
 Project: HBase
  Issue Type: Improvement
Reporter: Heng Chen
Priority: Trivial
 Attachments: HBASE-14203.patch


 As TODO in comment said, 
 {{HTable.getTableDescriptor}} is same as {{HAdmin.getTableDescriptor}}. 
 remove the duplicate code.



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


[jira] [Updated] (HBASE-14203) remove duplicate code getTableDescriptor in HTable

2015-08-10 Thread Heng Chen (JIRA)

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

Heng Chen updated HBASE-14203:
--
Status: Patch Available  (was: Open)

 remove duplicate code getTableDescriptor in HTable
 --

 Key: HBASE-14203
 URL: https://issues.apache.org/jira/browse/HBASE-14203
 Project: HBase
  Issue Type: Improvement
Reporter: Heng Chen
Priority: Trivial
 Attachments: HBASE-14203.patch


 As TODO in comment said, 
 {{HTable.getTableDescriptor}} is same as {{HAdmin.getTableDescriptor}}. 
 remove the duplicate code.



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


[jira] [Commented] (HBASE-14202) Reduce garbage we create

2015-08-10 Thread stack (JIRA)

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

stack commented on HBASE-14202:
---

The return of Cacheable is a nice one. The Object/int pair is ugly but confined 
and +1 on less object creation. +1 if hadoopqa says it good.

 Reduce garbage we create
 

 Key: HBASE-14202
 URL: https://issues.apache.org/jira/browse/HBASE-14202
 Project: HBase
  Issue Type: Sub-task
  Components: regionserver, Scanners
Affects Versions: 2.0.0
Reporter: Anoop Sam John
Assignee: Anoop Sam John
 Fix For: 2.0.0

 Attachments: HBASE-14202.patch


 2 optimizations wrt no# short living objects we create
 1. IOEngine#read call to read from L2 cache is always creating a Pair object 
 to return the BB and MemoryType. We can avoid this by making the read API to 
 return a Cacheable. Pass the CacheableDeserializer, to be used, also to the 
 read API. Setter for MemoryType is already there in Cacheable interface.
 2. ByteBuff#asSubByteBuffer(int, int, Pair)  avoids Pair object creation 
 every time as we pass the shared Pair object. Still as pair can take only 
 Objects, the primitive int has to be boxed into an Integer object every time. 
 This can be avoided by creating a new Pair type which is a pair of an Object 
 and a primitive int.



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


[jira] [Commented] (HBASE-13376) Improvements to Stochastic load balancer

2015-08-10 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-13376:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12749727/HBASE-13376_3.patch
  against master branch at commit 3d5801602da7cde1f20bdd4b898e8b3cac77f2a3.
  ATTACHMENT ID: 12749727

{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 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.7.0)

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

{color:green}+1 protoc{color}.  The applied patch does not increase the 
total number of protoc 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 post-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/15036//testReport/
Release Findbugs (version 2.0.3)warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15036//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15036//artifact/patchprocess/checkstyle-aggregate.html

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

This message is automatically generated.

 Improvements to Stochastic load balancer
 

 Key: HBASE-13376
 URL: https://issues.apache.org/jira/browse/HBASE-13376
 Project: HBase
  Issue Type: Improvement
  Components: Balancer
Affects Versions: 1.0.0, 0.98.12
Reporter: Vandana Ayyalasomayajula
Assignee: Vandana Ayyalasomayajula
Priority: Minor
 Attachments: 13376-v2.txt, HBASE-13376.patch, HBASE-13376_0.98.txt, 
 HBASE-13376_0.txt, HBASE-13376_1.txt, HBASE-13376_1_1.txt, 
 HBASE-13376_2.patch, HBASE-13376_2_branch-1.patch, HBASE-13376_3.patch, 
 HBASE-13376_98.patch, HBASE-13376_branch-1.patch


 There are two things this jira tries to address:
 1. The locality picker in the stochastic balancer does not pick regions with 
 least locality as candidates for swap/move. So when any user configures 
 locality cost in the configs, the balancer does not always seems to move 
 regions with bad locality. 
 2. When a cluster has equal number of loaded regions, it always picks the 
 first one. It should pick a random region on one of the equally loaded 
 servers. This improves a chance of finding a good candidate, when load picker 
 is invoked several times. 



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


[jira] [Commented] (HBASE-5878) Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.

2015-08-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-5878:
---

FAILURE: Integrated in HBase-1.3 #99 (See 
[https://builds.apache.org/job/HBase-1.3/99/])
HBASE-5878 Use getVisibleLength public api from HdfsDataInputStream from 
Hadoop-2. (apurtell: rev 0862abd6599a6936fb8079f4c70afc660175ba11)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java


 Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.
 ---

 Key: HBASE-5878
 URL: https://issues.apache.org/jira/browse/HBASE-5878
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Uma Maheswara Rao G
Assignee: Ashish Singhi
 Fix For: 2.0.0, 0.98.14, 1.0.2, 1.2.0, 1.1.2, 1.3.0

 Attachments: HBASE-5878-branch-1.0.patch, HBASE-5878-v2.patch, 
 HBASE-5878-v3.patch, HBASE-5878-v4.patch, HBASE-5878-v5-0.98.patch, 
 HBASE-5878-v5.patch, HBASE-5878-v5.patch, HBASE-5878-v6-0.98.patch, 
 HBASE-5878-v6.patch, HBASE-5878-v7-0.98.patch, HBASE-5878.patch


 SequencFileLogReader: 
 Currently Hbase using getFileLength api from DFSInputStream class by 
 reflection. DFSInputStream is not exposed as public. So, this may change in 
 future. Now HDFS exposed HdfsDataInputStream as public API.
 We can make use of it, when we are not able to find the getFileLength api 
 from DFSInputStream as a else condition. So, that we will not have any sudden 
 surprise like we are facing today.
 Also,  it is just logging one warn message and proceeding if it throws any 
 exception while getting the length. I think we can re-throw the exception 
 because there is no point in continuing with dataloss.
 {code}
 long adjust = 0;
   try {
 Field fIn = FilterInputStream.class.getDeclaredField(in);
 fIn.setAccessible(true);
 Object realIn = fIn.get(this.in);
 // In hadoop 0.22, DFSInputStream is a standalone class.  Before 
 this,
 // it was an inner class of DFSClient.
 if (realIn.getClass().getName().endsWith(DFSInputStream)) {
   Method getFileLength = realIn.getClass().
 getDeclaredMethod(getFileLength, new Class? []{});
   getFileLength.setAccessible(true);
   long realLength = ((Long)getFileLength.
 invoke(realIn, new Object []{})).longValue();
   assert(realLength = this.length);
   adjust = realLength - this.length;
 } else {
   LOG.info(Input stream class:  + realIn.getClass().getName() +
   , not adjusting length);
 }
   } catch(Exception e) {
 SequenceFileLogReader.LOG.warn(
   Error while trying to get accurate file length.   +
   Truncation / data loss may occur if RegionServers die., e);
   }
   return adjust + super.getPos();
 {code}



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


[jira] [Commented] (HBASE-13376) Improvements to Stochastic load balancer

2015-08-10 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-13376:
---

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

{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 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.7.0)

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

{color:green}+1 protoc{color}.  The applied patch does not increase the 
total number of protoc 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 post-site goal succeeds with this patch.

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

 {color:red}-1 core zombie tests{color}.  There are 1 zombie test(s):   
at 
org.apache.hadoop.hbase.mapreduce.TestImportExport.testDurability(TestImportExport.java:639)

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15035//testReport/
Release Findbugs (version 2.0.3)warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15035//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15035//artifact/patchprocess/checkstyle-aggregate.html

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

This message is automatically generated.

 Improvements to Stochastic load balancer
 

 Key: HBASE-13376
 URL: https://issues.apache.org/jira/browse/HBASE-13376
 Project: HBase
  Issue Type: Improvement
  Components: Balancer
Affects Versions: 1.0.0, 0.98.12
Reporter: Vandana Ayyalasomayajula
Assignee: Vandana Ayyalasomayajula
Priority: Minor
 Attachments: 13376-v2.txt, HBASE-13376.patch, HBASE-13376_0.98.txt, 
 HBASE-13376_0.txt, HBASE-13376_1.txt, HBASE-13376_1_1.txt, 
 HBASE-13376_2.patch, HBASE-13376_2_branch-1.patch, HBASE-13376_3.patch, 
 HBASE-13376_98.patch, HBASE-13376_branch-1.patch


 There are two things this jira tries to address:
 1. The locality picker in the stochastic balancer does not pick regions with 
 least locality as candidates for swap/move. So when any user configures 
 locality cost in the configs, the balancer does not always seems to move 
 regions with bad locality. 
 2. When a cluster has equal number of loaded regions, it always picks the 
 first one. It should pick a random region on one of the equally loaded 
 servers. This improves a chance of finding a good candidate, when load picker 
 is invoked several times. 



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


[jira] [Commented] (HBASE-5878) Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.

2015-08-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-5878:
---

FAILURE: Integrated in HBase-1.1 #605 (See 
[https://builds.apache.org/job/HBase-1.1/605/])
HBASE-5878 Use getVisibleLength public api from HdfsDataInputStream from Hadoop 
2 (apurtell: rev 22b96831584d44a63c71c5366f372622d13fd9b4)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java


 Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.
 ---

 Key: HBASE-5878
 URL: https://issues.apache.org/jira/browse/HBASE-5878
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Uma Maheswara Rao G
Assignee: Ashish Singhi
 Fix For: 2.0.0, 0.98.14, 1.0.2, 1.2.0, 1.1.2, 1.3.0

 Attachments: HBASE-5878-branch-1.0.patch, HBASE-5878-v2.patch, 
 HBASE-5878-v3.patch, HBASE-5878-v4.patch, HBASE-5878-v5-0.98.patch, 
 HBASE-5878-v5.patch, HBASE-5878-v5.patch, HBASE-5878-v6-0.98.patch, 
 HBASE-5878-v6.patch, HBASE-5878-v7-0.98.patch, HBASE-5878.patch


 SequencFileLogReader: 
 Currently Hbase using getFileLength api from DFSInputStream class by 
 reflection. DFSInputStream is not exposed as public. So, this may change in 
 future. Now HDFS exposed HdfsDataInputStream as public API.
 We can make use of it, when we are not able to find the getFileLength api 
 from DFSInputStream as a else condition. So, that we will not have any sudden 
 surprise like we are facing today.
 Also,  it is just logging one warn message and proceeding if it throws any 
 exception while getting the length. I think we can re-throw the exception 
 because there is no point in continuing with dataloss.
 {code}
 long adjust = 0;
   try {
 Field fIn = FilterInputStream.class.getDeclaredField(in);
 fIn.setAccessible(true);
 Object realIn = fIn.get(this.in);
 // In hadoop 0.22, DFSInputStream is a standalone class.  Before 
 this,
 // it was an inner class of DFSClient.
 if (realIn.getClass().getName().endsWith(DFSInputStream)) {
   Method getFileLength = realIn.getClass().
 getDeclaredMethod(getFileLength, new Class? []{});
   getFileLength.setAccessible(true);
   long realLength = ((Long)getFileLength.
 invoke(realIn, new Object []{})).longValue();
   assert(realLength = this.length);
   adjust = realLength - this.length;
 } else {
   LOG.info(Input stream class:  + realIn.getClass().getName() +
   , not adjusting length);
 }
   } catch(Exception e) {
 SequenceFileLogReader.LOG.warn(
   Error while trying to get accurate file length.   +
   Truncation / data loss may occur if RegionServers die., e);
   }
   return adjust + super.getPos();
 {code}



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


[jira] [Commented] (HBASE-14197) TestRegionServerHostname#testInvalidRegionServerHostnameAbortsServer fails in Jenkins

2015-08-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-14197:


FAILURE: Integrated in HBase-1.1 #606 (See 
[https://builds.apache.org/job/HBase-1.1/606/])
HBASE-14197 
TestRegionServerHostname#testInvalidRegionServerHostnameAbortsServer fails in 
Jenkins (apurtell: rev 111620f5c9f999cfac78936a8ddb550abf3164c5)
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.java


 TestRegionServerHostname#testInvalidRegionServerHostnameAbortsServer fails in 
 Jenkins
 -

 Key: HBASE-14197
 URL: https://issues.apache.org/jira/browse/HBASE-14197
 Project: HBase
  Issue Type: Test
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Fix For: 2.0.0, 1.2.0, 1.1.2, 1.3.0

 Attachments: 14197-v1.txt, 14197-v2.txt


 The following test failure can be observed in various recent Jenkins builds:
 {code}
 testInvalidRegionServerHostnameAbortsServer(org.apache.hadoop.hbase.regionserver.TestRegionServerHostname)
   Time elapsed: 9.344 sec   FAILURE!
 java.lang.AssertionError: null
   at org.junit.Assert.fail(Assert.java:86)
   at org.junit.Assert.assertTrue(Assert.java:41)
   at org.junit.Assert.assertTrue(Assert.java:52)
   at 
 org.apache.hadoop.hbase.regionserver.TestRegionServerHostname.testInvalidRegionServerHostnameAbortsServer(TestRegionServerHostname.java:65)
 {code}
 The test inspects exception message and looks for specific sentence, making 
 it vulnerable to environment changes.



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


[jira] [Updated] (HBASE-5878) Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-5878:
--
Fix Version/s: 0.98.14

 Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.
 ---

 Key: HBASE-5878
 URL: https://issues.apache.org/jira/browse/HBASE-5878
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Uma Maheswara Rao G
Assignee: Ashish Singhi
 Fix For: 2.0.0, 0.98.14, 1.0.2, 1.2.0, 1.1.2, 1.3.0

 Attachments: HBASE-5878-branch-1.0.patch, HBASE-5878-v2.patch, 
 HBASE-5878-v3.patch, HBASE-5878-v4.patch, HBASE-5878-v5-0.98.patch, 
 HBASE-5878-v5.patch, HBASE-5878-v5.patch, HBASE-5878-v6-0.98.patch, 
 HBASE-5878-v6.patch, HBASE-5878-v7-0.98.patch, HBASE-5878.patch


 SequencFileLogReader: 
 Currently Hbase using getFileLength api from DFSInputStream class by 
 reflection. DFSInputStream is not exposed as public. So, this may change in 
 future. Now HDFS exposed HdfsDataInputStream as public API.
 We can make use of it, when we are not able to find the getFileLength api 
 from DFSInputStream as a else condition. So, that we will not have any sudden 
 surprise like we are facing today.
 Also,  it is just logging one warn message and proceeding if it throws any 
 exception while getting the length. I think we can re-throw the exception 
 because there is no point in continuing with dataloss.
 {code}
 long adjust = 0;
   try {
 Field fIn = FilterInputStream.class.getDeclaredField(in);
 fIn.setAccessible(true);
 Object realIn = fIn.get(this.in);
 // In hadoop 0.22, DFSInputStream is a standalone class.  Before 
 this,
 // it was an inner class of DFSClient.
 if (realIn.getClass().getName().endsWith(DFSInputStream)) {
   Method getFileLength = realIn.getClass().
 getDeclaredMethod(getFileLength, new Class? []{});
   getFileLength.setAccessible(true);
   long realLength = ((Long)getFileLength.
 invoke(realIn, new Object []{})).longValue();
   assert(realLength = this.length);
   adjust = realLength - this.length;
 } else {
   LOG.info(Input stream class:  + realIn.getClass().getName() +
   , not adjusting length);
 }
   } catch(Exception e) {
 SequenceFileLogReader.LOG.warn(
   Error while trying to get accurate file length.   +
   Truncation / data loss may occur if RegionServers die., e);
   }
   return adjust + super.getPos();
 {code}



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


[jira] [Commented] (HBASE-5878) Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-5878:
---

I reverted the 0.98 patch from 0.98 and applied the branch-1.0 patch there 
instead, so the result here is the new changes from branch-1.2 and up, only the 
one line change to rethrow an exception if we fail to read the file length from 
branch-1.1 back. I think that's a good outcome.

 Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.
 ---

 Key: HBASE-5878
 URL: https://issues.apache.org/jira/browse/HBASE-5878
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Uma Maheswara Rao G
Assignee: Ashish Singhi
 Fix For: 2.0.0, 0.98.14, 1.0.2, 1.2.0, 1.1.2, 1.3.0

 Attachments: HBASE-5878-branch-1.0.patch, HBASE-5878-v2.patch, 
 HBASE-5878-v3.patch, HBASE-5878-v4.patch, HBASE-5878-v5-0.98.patch, 
 HBASE-5878-v5.patch, HBASE-5878-v5.patch, HBASE-5878-v6-0.98.patch, 
 HBASE-5878-v6.patch, HBASE-5878-v7-0.98.patch, HBASE-5878.patch


 SequencFileLogReader: 
 Currently Hbase using getFileLength api from DFSInputStream class by 
 reflection. DFSInputStream is not exposed as public. So, this may change in 
 future. Now HDFS exposed HdfsDataInputStream as public API.
 We can make use of it, when we are not able to find the getFileLength api 
 from DFSInputStream as a else condition. So, that we will not have any sudden 
 surprise like we are facing today.
 Also,  it is just logging one warn message and proceeding if it throws any 
 exception while getting the length. I think we can re-throw the exception 
 because there is no point in continuing with dataloss.
 {code}
 long adjust = 0;
   try {
 Field fIn = FilterInputStream.class.getDeclaredField(in);
 fIn.setAccessible(true);
 Object realIn = fIn.get(this.in);
 // In hadoop 0.22, DFSInputStream is a standalone class.  Before 
 this,
 // it was an inner class of DFSClient.
 if (realIn.getClass().getName().endsWith(DFSInputStream)) {
   Method getFileLength = realIn.getClass().
 getDeclaredMethod(getFileLength, new Class? []{});
   getFileLength.setAccessible(true);
   long realLength = ((Long)getFileLength.
 invoke(realIn, new Object []{})).longValue();
   assert(realLength = this.length);
   adjust = realLength - this.length;
 } else {
   LOG.info(Input stream class:  + realIn.getClass().getName() +
   , not adjusting length);
 }
   } catch(Exception e) {
 SequenceFileLogReader.LOG.warn(
   Error while trying to get accurate file length.   +
   Truncation / data loss may occur if RegionServers die., e);
   }
   return adjust + super.getPos();
 {code}



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


[jira] [Assigned] (HBASE-8963) Add configuration option to skip HFile archiving

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell reassigned HBASE-8963:
-

Assignee: Ted Yu  (was: bharath v)

This has been stalled for a while, I think its okay for you to take it. Let us 
know if otherwise [~bharathv] 

 Add configuration option to skip HFile archiving
 

 Key: HBASE-8963
 URL: https://issues.apache.org/jira/browse/HBASE-8963
 Project: HBase
  Issue Type: Improvement
Reporter: Ted Yu
Assignee: Ted Yu
 Fix For: 2.0.0

 Attachments: HBASE-8963.trunk.v1.patch, HBASE-8963.trunk.v2.patch, 
 HBASE-8963.trunk.v3.patch, HBASE-8963.trunk.v4.patch, 
 HBASE-8963.trunk.v5.patch, HBASE-8963.trunk.v6.patch, 
 HBASE-8963.trunk.v7.patch, HBASE-8963.trunk.v8.patch, 
 HBASE-8963.trunk.v9.patch


 Currently HFileArchiver is always called when a table is dropped.
 A configuration option (either global or per table) should be provided so 
 that archiving can be skipped when table is deleted.



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


[jira] [Commented] (HBASE-14194) Undeprecate methods in ThriftServerRunner.HBaseHandler

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-14194:


+1

Applied to branch-1.2 and up. 

 Undeprecate methods in ThriftServerRunner.HBaseHandler
 --

 Key: HBASE-14194
 URL: https://issues.apache.org/jira/browse/HBASE-14194
 Project: HBase
  Issue Type: Improvement
Reporter: Lars Francke
Assignee: Lars Francke
Priority: Trivial
 Fix For: 2.0.0, 1.2.0, 1.3.0

 Attachments: HBASE-14194.patch


 The methods {{get}}, {{getVer}}, {{getVerTs}}, {{atomicIncrement}} were 
 deprecated back in HBASE-1304. My guess is this was because it wasn't 
 distinguishing between column family and column qualifier but I'm not sure. 
 Either way it's been in there for six years without documentation or a 
 deprecation at the interface level so it adds to my confusion and I'll attach 
 a patch to remove the deprecations.
 I guess at one point the whole old Thrift server will be deprecated.



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


[jira] [Updated] (HBASE-14194) Undeprecate methods in ThriftServerRunner.HBaseHandler

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-14194:
---
   Resolution: Fixed
 Hadoop Flags: Reviewed
Fix Version/s: 1.3.0
   1.2.0
   2.0.0
   Status: Resolved  (was: Patch Available)

 Undeprecate methods in ThriftServerRunner.HBaseHandler
 --

 Key: HBASE-14194
 URL: https://issues.apache.org/jira/browse/HBASE-14194
 Project: HBase
  Issue Type: Improvement
Reporter: Lars Francke
Assignee: Lars Francke
Priority: Trivial
 Fix For: 2.0.0, 1.2.0, 1.3.0

 Attachments: HBASE-14194.patch


 The methods {{get}}, {{getVer}}, {{getVerTs}}, {{atomicIncrement}} were 
 deprecated back in HBASE-1304. My guess is this was because it wasn't 
 distinguishing between column family and column qualifier but I'm not sure. 
 Either way it's been in there for six years without documentation or a 
 deprecation at the interface level so it adds to my confusion and I'll attach 
 a patch to remove the deprecations.
 I guess at one point the whole old Thrift server will be deprecated.



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


[jira] [Updated] (HBASE-14181) Add Spark DataFrame DataSource to HBase-Spark Module

2015-08-10 Thread Ted Malaska (JIRA)

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

Ted Malaska updated HBASE-14181:

Attachment: HBASE-14181.3.patch

Forgot the pushDownFilter file

 Add Spark DataFrame DataSource to HBase-Spark Module
 

 Key: HBASE-14181
 URL: https://issues.apache.org/jira/browse/HBASE-14181
 Project: HBase
  Issue Type: New Feature
  Components: spark
Reporter: Ted Malaska
Assignee: Ted Malaska
Priority: Minor
 Attachments: HBASE-14181.1.patch, HBASE-14181.2.patch, 
 HBASE-14181.3.patch


 Build a RelationProvider for HBase-Spark Module.



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


[jira] [Updated] (HBASE-13376) Improvements to Stochastic load balancer

2015-08-10 Thread Vandana Ayyalasomayajula (JIRA)

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

Vandana Ayyalasomayajula updated HBASE-13376:
-
Attachment: HBASE-13376_3.patch

Renamed the patch to avoid confusion.

 Improvements to Stochastic load balancer
 

 Key: HBASE-13376
 URL: https://issues.apache.org/jira/browse/HBASE-13376
 Project: HBase
  Issue Type: Improvement
  Components: Balancer
Affects Versions: 1.0.0, 0.98.12
Reporter: Vandana Ayyalasomayajula
Assignee: Vandana Ayyalasomayajula
Priority: Minor
 Attachments: 13376-v2.txt, HBASE-13376.patch, HBASE-13376_0.98.txt, 
 HBASE-13376_0.txt, HBASE-13376_1.txt, HBASE-13376_1_1.txt, 
 HBASE-13376_2.patch, HBASE-13376_2_branch-1.patch, HBASE-13376_3.patch, 
 HBASE-13376_98.patch, HBASE-13376_branch-1.patch


 There are two things this jira tries to address:
 1. The locality picker in the stochastic balancer does not pick regions with 
 least locality as candidates for swap/move. So when any user configures 
 locality cost in the configs, the balancer does not always seems to move 
 regions with bad locality. 
 2. When a cluster has equal number of loaded regions, it always picks the 
 first one. It should pick a random region on one of the equally loaded 
 servers. This improves a chance of finding a good candidate, when load picker 
 is invoked several times. 



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


[jira] [Commented] (HBASE-14169) API to refreshSuperUserGroupsConfiguration

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-14169:


Agreed, we do what we can until proc-v2, +1 from me too

 API to refreshSuperUserGroupsConfiguration
 --

 Key: HBASE-14169
 URL: https://issues.apache.org/jira/browse/HBASE-14169
 Project: HBase
  Issue Type: New Feature
Reporter: Francis Liu
Assignee: Francis Liu
 Attachments: HBASE-14169.patch, HBASE-14169_2.patch


 For deployments that use security. User impersonation (AKA doAs()) is needed 
 for some services (ie Stargate, thriftserver, Oozie, etc). Impersonation 
 definitions are defined in a xml config file and read and cached by the 
 ProxyUsers class. Calling this api will refresh cached information, 
 eliminating the need to restart the master/regionserver whenever the 
 configuration is changed. 
 Implementation just adds another method to AccessControlService.



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


[jira] [Commented] (HBASE-14190) Assign system tables ahead of user region assignment

2015-08-10 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-14190:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12749715/14190-v7.txt
  against master branch at commit ae35f65e9ac12256b4514e6ba6ef5333e9e90870.
  ATTACHMENT ID: 12749715

{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 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.7.0)

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

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

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

{color:red}-1 checkstyle{color}.  The applied patch generated 
1865 checkstyle errors (more than the master's current 1862 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 post-site goal succeeds with this patch.

 {color:red}-1 core tests{color}.  The patch failed these unit tests:
   
org.apache.hadoop.hbase.security.visibility.TestDefaultScanLabelGeneratorStack
  org.apache.hadoop.hbase.util.hbck.TestOfflineMetaRebuildBase
  org.apache.hadoop.hbase.master.TestRestartCluster

 {color:red}-1 core zombie tests{color}.  There are 3 zombie test(s):   
at 
org.apache.hadoop.hbase.client.TestRestoreSnapshotFromClient.testCloneSnapshotOfCloned(TestRestoreSnapshotFromClient.java:245)
at 
org.apache.hadoop.hbase.client.TestReplicasClient.testReverseScanWithReplicas(TestReplicasClient.java:612)

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15034//testReport/
Release Findbugs (version 2.0.3)warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15034//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15034//artifact/patchprocess/checkstyle-aggregate.html

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

This message is automatically generated.

 Assign system tables ahead of user region assignment
 

 Key: HBASE-14190
 URL: https://issues.apache.org/jira/browse/HBASE-14190
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Critical
 Attachments: 14190-v6.txt, 14190-v7.txt


 Currently the namespace table region is assigned like user regions.
 I spent several hours working with a customer where master couldn't finish 
 initialization.
 Even though master was restarted quite a few times, it went down with the 
 following:
 {code}
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Master server abort: loaded coprocessors are: []
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Unhandled exception. Starting shutdown.
 java.io.IOException: Timedout 30ms waiting for namespace table to be 
 assigned
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:104)
   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:985)
   at 
 org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:779)
   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:182)
   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1646)
   at java.lang.Thread.run(Thread.java:744)
 {code}
 During previous run(s), namespace table was created, hence leaving an entry 
 in hbase:meta.
 The following if block in TableNamespaceManager#start() was skipped:
 {code}
 if (!MetaTableAccessor.tableExists(masterServices.getConnection(),
   TableName.NAMESPACE_TABLE_NAME)) {
 {code}
 TableNamespaceManager#start() spins, waiting for namespace region to be 
 assigned.
 There was issue in master assigning user regions.
 We tried issuing 'assign' command from hbase shell which didn't work because 
 of the following check in MasterRpcServices#assignRegion():
 {code}
   

[jira] [Commented] (HBASE-13907) Document how to deploy a coprocessor

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-13907:


bq. Folks who are running coprocessors are already kind of down a dark path, 
but should we encourage the cleaner rolling restart of region servers to 
reduce the chances we have to debug classloader pain?

+1, I'd recommend this, and leave out language related to alternatives

 Document how to deploy a coprocessor
 

 Key: HBASE-13907
 URL: https://issues.apache.org/jira/browse/HBASE-13907
 Project: HBase
  Issue Type: Bug
  Components: documentation
Reporter: Misty Stanley-Jones
Assignee: Misty Stanley-Jones
 Attachments: HBASE-13907-1.patch, HBASE-13907-2.patch, 
 HBASE-13907.patch


 Capture this information:
  Where are the dependencies located for these classes? Is there a path on 
  HDFS or local disk that dependencies need to be placed so that each 
  RegionServer has access to them?
 It is suggested to bundle them as a single jar so that RS can load the whole 
 jar and resolve dependencies. If you are not able to do that, you need place 
 the dependencies in regionservers class path so that they are loaded during 
 RS startup. Do either of these options work for you? Btw, you can load the 
 coprocessors/filters into path specified by hbase.dynamic.jars.dir [1], so 
 that they are loaded dynamically by regionservers when the class is accessed 
 (or you can place them in the RS class path too, so that they are loaded 
 during RS JVM startup).
  How would one deploy these using an automated system? 
  (puppet/chef/ansible/etc)
 You can probably use these tools to automate shipping the jars to above 
 locations?
  Tests our developers have done suggest that simply disabling a coprocessor, 
  replacing the jar with a different version, and enabling the coprocessor 
  again does not load the newest version. With that in mind how does one know 
  which version is currently deployed and enabled without resorting to 
  parsing `hbase shell` output or restarting hbase?
 Actually this is a design issue with current classloader. You can't reload a 
 class in a JVM unless you delete all the current references to it. Since the 
 current JVM (classloader) has reference to it, you can't overwrite it unless 
 you kill the JVM, which is equivalent to restarting it. So you still have the 
 older class loaded in place. For this to work, classloader design should be 
 changed. If it works for you, you can rename the coprocessor class name and 
 the new version of jar and RS loads it properly.
  Where does logging go, and how does one access it? Does logging need to be 
  configured in a certain way?
 Can you please specify which logging you are referring to?
  Where is a good location to place configuration files?
 Same as above, are these hbase configs or something else? If hbase configs, 
 are these gateway configs/server side? 



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


[jira] [Commented] (HBASE-14186) Read mvcc vlong optimization

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-14186:


Picking back to the 1.x branches now

 Read mvcc vlong optimization
 

 Key: HBASE-14186
 URL: https://issues.apache.org/jira/browse/HBASE-14186
 Project: HBase
  Issue Type: Sub-task
  Components: Performance, Scanners
Reporter: Anoop Sam John
Assignee: Anoop Sam John
 Fix For: 2.0.0

 Attachments: HBASE-14186.patch


 {code}
 for (int idx = 0; idx  remaining; idx++) {
   byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx);
   i = i  8;
   i = i | (b  0xFF);
 }
 {code}
 Doing the read as in case of BIG_ENDIAN.
 After HBASE-12600, we tend to keep the mvcc and so byte by byte read looks 
 eating up lot of CPU time. (In my test HFileReaderImpl#_readMvccVersion comes 
 on top in terms of hot methods). We can optimize here by reading 4 or 2 bytes 
 in one shot when the length of the vlong is more than 4 bytes. We will in 
 turn use UnsafeAccess methods which handles ENDIAN.



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


[jira] [Commented] (HBASE-14190) Assign system tables ahead of user region assignment

2015-08-10 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-14190:


TestDefaultScanLabelGeneratorStack passes locally.
I can work on investigating / fixing test failures.

Meanwhile, comment on approach in v7 would help shape the direction we go.

 Assign system tables ahead of user region assignment
 

 Key: HBASE-14190
 URL: https://issues.apache.org/jira/browse/HBASE-14190
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Critical
 Attachments: 14190-v6.txt, 14190-v7.txt


 Currently the namespace table region is assigned like user regions.
 I spent several hours working with a customer where master couldn't finish 
 initialization.
 Even though master was restarted quite a few times, it went down with the 
 following:
 {code}
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Master server abort: loaded coprocessors are: []
 2015-08-05 17:16:57,530 FATAL [hdpmaster1:6.activeMasterManager] 
 master.HMaster: Unhandled exception. Starting shutdown.
 java.io.IOException: Timedout 30ms waiting for namespace table to be 
 assigned
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:104)
   at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:985)
   at 
 org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:779)
   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:182)
   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1646)
   at java.lang.Thread.run(Thread.java:744)
 {code}
 During previous run(s), namespace table was created, hence leaving an entry 
 in hbase:meta.
 The following if block in TableNamespaceManager#start() was skipped:
 {code}
 if (!MetaTableAccessor.tableExists(masterServices.getConnection(),
   TableName.NAMESPACE_TABLE_NAME)) {
 {code}
 TableNamespaceManager#start() spins, waiting for namespace region to be 
 assigned.
 There was issue in master assigning user regions.
 We tried issuing 'assign' command from hbase shell which didn't work because 
 of the following check in MasterRpcServices#assignRegion():
 {code}
   master.checkInitialized();
 {code}
 This scenario can be avoided if we assign hbase:namespace table after 
 hbase:meta is assigned but before user table region assignment.



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


[jira] [Commented] (HBASE-5878) Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.

2015-08-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-5878:
---

SUCCESS: Integrated in HBase-1.2-IT #82 (See 
[https://builds.apache.org/job/HBase-1.2-IT/82/])
HBASE-5878 Use getVisibleLength public api from HdfsDataInputStream from 
Hadoop-2. (apurtell: rev 7f33e6330a37b0401c2f9143ddbea67361217453)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java


 Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.
 ---

 Key: HBASE-5878
 URL: https://issues.apache.org/jira/browse/HBASE-5878
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Uma Maheswara Rao G
Assignee: Ashish Singhi
 Fix For: 2.0.0, 0.98.14, 1.0.2, 1.2.0, 1.1.2, 1.3.0

 Attachments: HBASE-5878-branch-1.0.patch, HBASE-5878-v2.patch, 
 HBASE-5878-v3.patch, HBASE-5878-v4.patch, HBASE-5878-v5-0.98.patch, 
 HBASE-5878-v5.patch, HBASE-5878-v5.patch, HBASE-5878-v6-0.98.patch, 
 HBASE-5878-v6.patch, HBASE-5878-v7-0.98.patch, HBASE-5878.patch


 SequencFileLogReader: 
 Currently Hbase using getFileLength api from DFSInputStream class by 
 reflection. DFSInputStream is not exposed as public. So, this may change in 
 future. Now HDFS exposed HdfsDataInputStream as public API.
 We can make use of it, when we are not able to find the getFileLength api 
 from DFSInputStream as a else condition. So, that we will not have any sudden 
 surprise like we are facing today.
 Also,  it is just logging one warn message and proceeding if it throws any 
 exception while getting the length. I think we can re-throw the exception 
 because there is no point in continuing with dataloss.
 {code}
 long adjust = 0;
   try {
 Field fIn = FilterInputStream.class.getDeclaredField(in);
 fIn.setAccessible(true);
 Object realIn = fIn.get(this.in);
 // In hadoop 0.22, DFSInputStream is a standalone class.  Before 
 this,
 // it was an inner class of DFSClient.
 if (realIn.getClass().getName().endsWith(DFSInputStream)) {
   Method getFileLength = realIn.getClass().
 getDeclaredMethod(getFileLength, new Class? []{});
   getFileLength.setAccessible(true);
   long realLength = ((Long)getFileLength.
 invoke(realIn, new Object []{})).longValue();
   assert(realLength = this.length);
   adjust = realLength - this.length;
 } else {
   LOG.info(Input stream class:  + realIn.getClass().getName() +
   , not adjusting length);
 }
   } catch(Exception e) {
 SequenceFileLogReader.LOG.warn(
   Error while trying to get accurate file length.   +
   Truncation / data loss may occur if RegionServers die., e);
   }
   return adjust + super.getPos();
 {code}



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


[jira] [Commented] (HBASE-5878) Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-5878:
---

Missed TestHLog because it's outside of o.a.h.h.regionserver.wal.* . I'm going 
to revert the 0.98 commit. Let's just forget about it there.

 Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.
 ---

 Key: HBASE-5878
 URL: https://issues.apache.org/jira/browse/HBASE-5878
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Uma Maheswara Rao G
Assignee: Ashish Singhi
 Fix For: 2.0.0, 1.0.2, 1.2.0, 1.1.2, 1.3.0

 Attachments: HBASE-5878-branch-1.0.patch, HBASE-5878-v2.patch, 
 HBASE-5878-v3.patch, HBASE-5878-v4.patch, HBASE-5878-v5-0.98.patch, 
 HBASE-5878-v5.patch, HBASE-5878-v5.patch, HBASE-5878-v6-0.98.patch, 
 HBASE-5878-v6.patch, HBASE-5878-v7-0.98.patch, HBASE-5878.patch


 SequencFileLogReader: 
 Currently Hbase using getFileLength api from DFSInputStream class by 
 reflection. DFSInputStream is not exposed as public. So, this may change in 
 future. Now HDFS exposed HdfsDataInputStream as public API.
 We can make use of it, when we are not able to find the getFileLength api 
 from DFSInputStream as a else condition. So, that we will not have any sudden 
 surprise like we are facing today.
 Also,  it is just logging one warn message and proceeding if it throws any 
 exception while getting the length. I think we can re-throw the exception 
 because there is no point in continuing with dataloss.
 {code}
 long adjust = 0;
   try {
 Field fIn = FilterInputStream.class.getDeclaredField(in);
 fIn.setAccessible(true);
 Object realIn = fIn.get(this.in);
 // In hadoop 0.22, DFSInputStream is a standalone class.  Before 
 this,
 // it was an inner class of DFSClient.
 if (realIn.getClass().getName().endsWith(DFSInputStream)) {
   Method getFileLength = realIn.getClass().
 getDeclaredMethod(getFileLength, new Class? []{});
   getFileLength.setAccessible(true);
   long realLength = ((Long)getFileLength.
 invoke(realIn, new Object []{})).longValue();
   assert(realLength = this.length);
   adjust = realLength - this.length;
 } else {
   LOG.info(Input stream class:  + realIn.getClass().getName() +
   , not adjusting length);
 }
   } catch(Exception e) {
 SequenceFileLogReader.LOG.warn(
   Error while trying to get accurate file length.   +
   Truncation / data loss may occur if RegionServers die., e);
   }
   return adjust + super.getPos();
 {code}



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


[jira] [Updated] (HBASE-5878) Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-5878:
--
Fix Version/s: (was: 0.98.14)

 Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.
 ---

 Key: HBASE-5878
 URL: https://issues.apache.org/jira/browse/HBASE-5878
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Uma Maheswara Rao G
Assignee: Ashish Singhi
 Fix For: 2.0.0, 1.0.2, 1.2.0, 1.1.2, 1.3.0

 Attachments: HBASE-5878-branch-1.0.patch, HBASE-5878-v2.patch, 
 HBASE-5878-v3.patch, HBASE-5878-v4.patch, HBASE-5878-v5-0.98.patch, 
 HBASE-5878-v5.patch, HBASE-5878-v5.patch, HBASE-5878-v6-0.98.patch, 
 HBASE-5878-v6.patch, HBASE-5878-v7-0.98.patch, HBASE-5878.patch


 SequencFileLogReader: 
 Currently Hbase using getFileLength api from DFSInputStream class by 
 reflection. DFSInputStream is not exposed as public. So, this may change in 
 future. Now HDFS exposed HdfsDataInputStream as public API.
 We can make use of it, when we are not able to find the getFileLength api 
 from DFSInputStream as a else condition. So, that we will not have any sudden 
 surprise like we are facing today.
 Also,  it is just logging one warn message and proceeding if it throws any 
 exception while getting the length. I think we can re-throw the exception 
 because there is no point in continuing with dataloss.
 {code}
 long adjust = 0;
   try {
 Field fIn = FilterInputStream.class.getDeclaredField(in);
 fIn.setAccessible(true);
 Object realIn = fIn.get(this.in);
 // In hadoop 0.22, DFSInputStream is a standalone class.  Before 
 this,
 // it was an inner class of DFSClient.
 if (realIn.getClass().getName().endsWith(DFSInputStream)) {
   Method getFileLength = realIn.getClass().
 getDeclaredMethod(getFileLength, new Class? []{});
   getFileLength.setAccessible(true);
   long realLength = ((Long)getFileLength.
 invoke(realIn, new Object []{})).longValue();
   assert(realLength = this.length);
   adjust = realLength - this.length;
 } else {
   LOG.info(Input stream class:  + realIn.getClass().getName() +
   , not adjusting length);
 }
   } catch(Exception e) {
 SequenceFileLogReader.LOG.warn(
   Error while trying to get accurate file length.   +
   Truncation / data loss may occur if RegionServers die., e);
   }
   return adjust + super.getPos();
 {code}



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


[jira] [Updated] (HBASE-13889) Fix hbase-shaded-client artifact so it works on hbase-downstreamer

2015-08-10 Thread Elliott Clark (JIRA)

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

Elliott Clark updated HBASE-13889:
--
Summary: Fix hbase-shaded-client artifact so it works on hbase-downstreamer 
 (was: hbase-shaded-client artifact is missing dependency (therefore, does not 
work))

 Fix hbase-shaded-client artifact so it works on hbase-downstreamer
 --

 Key: HBASE-13889
 URL: https://issues.apache.org/jira/browse/HBASE-13889
 Project: HBase
  Issue Type: Bug
  Components: Client
Affects Versions: 1.1.0, 1.1.0.1
 Environment: N/A?
Reporter: Dmitry Minkovsky
Assignee: Elliott Clark
Priority: Critical
 Fix For: 2.0.0, 1.3.0, 1.2.1, 1.1.3

 Attachments: 13889.wip.patch, Screen Shot 2015-06-11 at 10.59.55 
 AM.png


 The {{hbase-shaded-client}} artifact was introduced in 
 [HBASE-13517|https://issues.apache.org/jira/browse/HBASE-13517]. Thank you 
 very much for this, as I am new to Java building and was having a very 
 slow-moving time resolving conflicts. However, the shaded client artifact 
 seems to be missing {{javax.xml.transform.TransformerException}}.  I examined 
 the JAR, which does not have this package/class.
 Steps to reproduce:
 Java: 
 {code}
 package com.mycompany.app;
   
   
   
   
   
 import org.apache.hadoop.conf.Configuration;  
   
   
 import org.apache.hadoop.hbase.HBaseConfiguration;
   
   
 import org.apache.hadoop.hbase.client.Connection; 
   
   
 import org.apache.hadoop.hbase.client.ConnectionFactory;  
   
   
   
   
   
 public class App {
   

 public static void main( String[] args ) throws java.io.IOException { 
   
   
 
 Configuration config = HBaseConfiguration.create();   
   
   
 Connection connection = ConnectionFactory.createConnection(config);   
   
   
 } 
   
   
 }
 {code}
 POM:
 {code}
 project xmlns=http://maven.apache.org/POM/4.0.0; 
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; 
  
   xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 
 http://maven.apache.org/xsd/maven-4.0.0.xsd; 
 
   modelVersion4.0.0/modelVersion  
   
   
   
   
   
   groupIdcom.mycompany.app/groupId
   
   
   artifactIdmy-app/artifactId 
   
   
   version1.0-SNAPSHOT/version 
   

[jira] [Commented] (HBASE-13706) CoprocessorClassLoader should not exempt Hive classes

2015-08-10 Thread Jerry He (JIRA)

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

Jerry He commented on HBASE-13706:
--

I tested both the branch-1 version of the patch and the master version of the 
patches with Phoenix.  Note these two versions are different changes, with the 
master version more dramatic.

{noformat}
[biadmin@bdvs1163 bin]$ ./sqlline.py localhost:2181:/hbase-unsecure 
../examples/STOCK_SYMBOL.sql
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
Setting property: [run, ../examples/STOCK_SYMBOL.sql]
issuing: !connect jdbc:phoenix:localhost:2181:/hbase-unsecure none none 
org.apache.phoenix.jdbc.PhoenixDriver
Connecting to jdbc:phoenix:localhost:2181:/hbase-unsecure
SLF4J: Failed to load class org.slf4j.impl.StaticLoggerBinder.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further 
details.
15/08/10 16:46:40 WARN util.NativeCodeLoader: Unable to load native-hadoop 
library for your platform... using builtin-java classes where applicable
Connected to: Phoenix (version 4.4)
Driver: PhoenixEmbeddedDriver (version 4.4)
Autocommit status: true
Transaction isolation: TRANSACTION_READ_COMMITTED
Building list of tables and columns for tab-completion (set fastconnect to true 
to skip)...
94/94 (100%) Done
Done
1/4  CREATE TABLE IF NOT EXISTS STOCK_SYMBOL (SYMBOL VARCHAR NOT NULL 
PRIMARY KEY, COMPANY VARCHAR);
No rows affected (0.281 seconds)
2/4  UPSERT INTO STOCK_SYMBOL VALUES ('CRM','SalesForce.com');
1 row affected (0.055 seconds)
3/4  SELECT * FROM STOCK_SYMBOL;
+--+--+
|  SYMBOL  | COMPANY
  |
+--+--+
| CRM  | SalesForce.com 
  |
+--+--+
1 row selected (0.195 seconds)
4/4
Closing: org.apache.phoenix.jdbc.PhoenixConnection
sqlline version 1.1.8
{noformat}


 CoprocessorClassLoader should not exempt Hive classes
 -

 Key: HBASE-13706
 URL: https://issues.apache.org/jira/browse/HBASE-13706
 Project: HBase
  Issue Type: Bug
  Components: Coprocessors
Affects Versions: 2.0.0, 1.0.1, 1.1.0, 0.98.12
Reporter: Jerry He
Assignee: Jerry He
Priority: Minor
 Fix For: 2.0.0, 1.2.0, 1.3.0

 Attachments: HBASE-13706-branch-1.patch, HBASE-13706-master-v2.patch, 
 HBASE-13706-master-v2.patch, HBASE-13706.patch


 CoprocessorClassLoader is used to load classes from the coprocessor jar.
 Certain classes are exempt from being loaded by this ClassLoader, which means 
 they will be ignored in the coprocessor jar, but loaded from parent classpath 
 instead.
 One problem is that we categorically exempt org.apache.hadoop.
 But it happens that Hive packages start with org.apache.hadoop.
 There is no reason to exclude hive classes from theCoprocessorClassLoader.
 HBase does not even include Hive jars.



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


[jira] [Updated] (HBASE-13889) Fix hbase-shaded-client artifact so it works on hbase-downstreamer

2015-08-10 Thread Elliott Clark (JIRA)

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

Elliott Clark updated HBASE-13889:
--
Attachment: HBASE-13889.patch

Since there's a bug with changing strings that match relocations here's a patch 
that's more explicit about it's relocations.

It's a pain but it works for me on trunk. I haven't checked to see if there are 
any different depencencies on branch-1 or branch-1.2

 Fix hbase-shaded-client artifact so it works on hbase-downstreamer
 --

 Key: HBASE-13889
 URL: https://issues.apache.org/jira/browse/HBASE-13889
 Project: HBase
  Issue Type: Bug
  Components: Client
Affects Versions: 1.1.0, 1.1.0.1
 Environment: N/A?
Reporter: Dmitry Minkovsky
Assignee: Elliott Clark
Priority: Critical
 Fix For: 2.0.0, 1.3.0, 1.2.1, 1.1.3

 Attachments: 13889.wip.patch, HBASE-13889.patch, Screen Shot 
 2015-06-11 at 10.59.55 AM.png


 The {{hbase-shaded-client}} artifact was introduced in 
 [HBASE-13517|https://issues.apache.org/jira/browse/HBASE-13517]. Thank you 
 very much for this, as I am new to Java building and was having a very 
 slow-moving time resolving conflicts. However, the shaded client artifact 
 seems to be missing {{javax.xml.transform.TransformerException}}.  I examined 
 the JAR, which does not have this package/class.
 Steps to reproduce:
 Java: 
 {code}
 package com.mycompany.app;
   
   
   
   
   
 import org.apache.hadoop.conf.Configuration;  
   
   
 import org.apache.hadoop.hbase.HBaseConfiguration;
   
   
 import org.apache.hadoop.hbase.client.Connection; 
   
   
 import org.apache.hadoop.hbase.client.ConnectionFactory;  
   
   
   
   
   
 public class App {
   

 public static void main( String[] args ) throws java.io.IOException { 
   
   
 
 Configuration config = HBaseConfiguration.create();   
   
   
 Connection connection = ConnectionFactory.createConnection(config);   
   
   
 } 
   
   
 }
 {code}
 POM:
 {code}
 project xmlns=http://maven.apache.org/POM/4.0.0; 
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; 
  
   xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 
 http://maven.apache.org/xsd/maven-4.0.0.xsd; 
 
   modelVersion4.0.0/modelVersion  
   
   
   
   
   
   groupIdcom.mycompany.app/groupId
   
   
   artifactIdmy-app/artifactId 
   

[jira] [Commented] (HBASE-13706) CoprocessorClassLoader should not exempt Hive classes

2015-08-10 Thread Jerry He (JIRA)

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

Jerry He commented on HBASE-13706:
--

Also looked at the hbase region server logs. No errors or exceptions there.

 CoprocessorClassLoader should not exempt Hive classes
 -

 Key: HBASE-13706
 URL: https://issues.apache.org/jira/browse/HBASE-13706
 Project: HBase
  Issue Type: Bug
  Components: Coprocessors
Affects Versions: 2.0.0, 1.0.1, 1.1.0, 0.98.12
Reporter: Jerry He
Assignee: Jerry He
Priority: Minor
 Fix For: 2.0.0, 1.2.0, 1.3.0

 Attachments: HBASE-13706-branch-1.patch, HBASE-13706-master-v2.patch, 
 HBASE-13706-master-v2.patch, HBASE-13706.patch


 CoprocessorClassLoader is used to load classes from the coprocessor jar.
 Certain classes are exempt from being loaded by this ClassLoader, which means 
 they will be ignored in the coprocessor jar, but loaded from parent classpath 
 instead.
 One problem is that we categorically exempt org.apache.hadoop.
 But it happens that Hive packages start with org.apache.hadoop.
 There is no reason to exclude hive classes from theCoprocessorClassLoader.
 HBase does not even include Hive jars.



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


[jira] [Commented] (HBASE-13706) CoprocessorClassLoader should not exempt Hive classes

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-13706:


+1 for commit

 CoprocessorClassLoader should not exempt Hive classes
 -

 Key: HBASE-13706
 URL: https://issues.apache.org/jira/browse/HBASE-13706
 Project: HBase
  Issue Type: Bug
  Components: Coprocessors
Affects Versions: 2.0.0, 1.0.1, 1.1.0, 0.98.12
Reporter: Jerry He
Assignee: Jerry He
Priority: Minor
 Fix For: 2.0.0, 1.2.0, 1.3.0

 Attachments: HBASE-13706-branch-1.patch, HBASE-13706-master-v2.patch, 
 HBASE-13706-master-v2.patch, HBASE-13706.patch


 CoprocessorClassLoader is used to load classes from the coprocessor jar.
 Certain classes are exempt from being loaded by this ClassLoader, which means 
 they will be ignored in the coprocessor jar, but loaded from parent classpath 
 instead.
 One problem is that we categorically exempt org.apache.hadoop.
 But it happens that Hive packages start with org.apache.hadoop.
 There is no reason to exclude hive classes from theCoprocessorClassLoader.
 HBase does not even include Hive jars.



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


[jira] [Updated] (HBASE-14197) TestRegionServerHostname#testInvalidRegionServerHostnameAbortsServer fails in Jenkins

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-14197:
---
Fix Version/s: 1.1.2
   1.2.0

I picked this test fix back to the other affected branches. 

 TestRegionServerHostname#testInvalidRegionServerHostnameAbortsServer fails in 
 Jenkins
 -

 Key: HBASE-14197
 URL: https://issues.apache.org/jira/browse/HBASE-14197
 Project: HBase
  Issue Type: Test
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Fix For: 2.0.0, 1.2.0, 1.1.2, 1.3.0

 Attachments: 14197-v1.txt, 14197-v2.txt


 The following test failure can be observed in various recent Jenkins builds:
 {code}
 testInvalidRegionServerHostnameAbortsServer(org.apache.hadoop.hbase.regionserver.TestRegionServerHostname)
   Time elapsed: 9.344 sec   FAILURE!
 java.lang.AssertionError: null
   at org.junit.Assert.fail(Assert.java:86)
   at org.junit.Assert.assertTrue(Assert.java:41)
   at org.junit.Assert.assertTrue(Assert.java:52)
   at 
 org.apache.hadoop.hbase.regionserver.TestRegionServerHostname.testInvalidRegionServerHostnameAbortsServer(TestRegionServerHostname.java:65)
 {code}
 The test inspects exception message and looks for specific sentence, making 
 it vulnerable to environment changes.



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


[jira] [Commented] (HBASE-13062) Add documentation coverage for configuring dns server with thrift and rest gateways

2015-08-10 Thread Srikanth Srungarapu (JIRA)

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

Srikanth Srungarapu commented on HBASE-13062:
-

+1 lgtm. Just minor concern:

Like we did in 
http://hbase.apache.org/book.html#_running_canary_in_a_kerberos_enabled_cluster,
 can we use default for value field?

 Add documentation coverage for configuring dns server with thrift and rest 
 gateways
 ---

 Key: HBASE-13062
 URL: https://issues.apache.org/jira/browse/HBASE-13062
 Project: HBase
  Issue Type: Bug
  Components: documentation
Reporter: Srikanth Srungarapu
Assignee: Misty Stanley-Jones
Priority: Minor
 Attachments: HBASE-13062.patch


 Currently, the documentation doesn't cover about configuring DNS with thrift 
 or rest gateways, though code base does provide provision for doing so. The 
 following parameters are being used for accomplishing the same.
 For REST:
 * hbase.rest.dns.interface
 * hbase.rest.dns.nameserver
 For Thrift:
 * hbase.thrift.dns.interface
 * hbase.thrift.dns.nameserver



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


[jira] [Updated] (HBASE-14199) maven-remote-resources-plugin failure processing NOTICE.vm in hbase-assembly

2015-08-10 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-14199:
---
Attachment: HBASE-14199.patch

Updated 'HBASE-14199.patch' applies to all branches. Velocity is really 
restricted, I don't think we can do better than AOBE to signal something is 
wrong in a way that fails the build. New patch only adds the supplemental model 
for Hadoop 1 for 0.98. 

 maven-remote-resources-plugin failure processing NOTICE.vm in hbase-assembly
 

 Key: HBASE-14199
 URL: https://issues.apache.org/jira/browse/HBASE-14199
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.98.14
Reporter: Andrew Purtell
Assignee: Andrew Purtell
Priority: Blocker
 Fix For: 2.0.0, 0.98.14, 1.0.2, 1.2.0, 1.1.2, 1.3.0

 Attachments: HBASE-14199-0.98.patch, HBASE-14199.patch, 
 HBASE-14199.patch


 Only seen when building 0.98 with -Dhadoop.profile=1.1. Happens with both JDK 
 6 and 7. 
 {noformat}
 [ERROR] Failed to execute goal 
 org.apache.maven.plugins:maven-remote-resources-plugin:1.5:process
 (default) on project hbase-assembly: Error rendering velocity resource. Error 
 invoking method
 'get(java.lang.Integer)' in java.util.ArrayList at META-INF/NOTICE.vm[line 
 275, column 22]:
 InvocationTargetException: Index: 0, Size: 0 - [Help 1]
 {noformat}



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


[jira] [Assigned] (HBASE-13153) enable bulkload to support replication

2015-08-10 Thread Ashish Singhi (JIRA)

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

Ashish Singhi reassigned HBASE-13153:
-

Assignee: Ashish Singhi

 enable bulkload to support replication
 --

 Key: HBASE-13153
 URL: https://issues.apache.org/jira/browse/HBASE-13153
 Project: HBase
  Issue Type: Bug
  Components: API
Reporter: sunhaitao
Assignee: Ashish Singhi

 Currently we plan to use HBase Replication feature to deal with disaster 
 tolerance scenario.But we encounter an issue that we will use bulkload very 
 frequently,because bulkload bypass write path, and will not generate WAL, so 
 the data will not be replicated to backup cluster. It's inappropriate to 
 bukload twice both on active cluster and backup cluster. So i advise do some 
 modification to bulkload feature to enable bukload to both active cluster and 
 backup cluster



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


[jira] [Commented] (HBASE-14071) Document troubleshooting unexpected filesystem usage by snapshots and WALs

2015-08-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-14071:


FAILURE: Integrated in HBase-TRUNK #6709 (See 
[https://builds.apache.org/job/HBase-TRUNK/6709/])
HBASE-14071 Document troubleshooting unexpected filesystem usage by snapshots 
and WALs (mstanleyjones: rev b29c731a57e2f37c4dd4401833ee2f29d0689ae3)
* src/main/asciidoc/_chapters/troubleshooting.adoc


 Document troubleshooting unexpected filesystem usage by snapshots and WALs
 --

 Key: HBASE-14071
 URL: https://issues.apache.org/jira/browse/HBASE-14071
 Project: HBase
  Issue Type: Task
Reporter: Misty Stanley-Jones
Assignee: Misty Stanley-Jones
 Fix For: 2.0.0

 Attachments: HBASE-14071.patch


 Document how to troubleshoot things like unexpected snapshot and WAL growth 
 on the filesystem



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


[jira] [Commented] (HBASE-13924) Description for hbase.dynamic.jars.dir is wrong

2015-08-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-13924:


FAILURE: Integrated in HBase-TRUNK #6709 (See 
[https://builds.apache.org/job/HBase-TRUNK/6709/])
HBASE-13924 Description for hbase.dynamic.jars.dir is wrong (mstanleyjones: rev 
c7065c4c40e94bcce2035b8ea9813cfc6124a7e0)
* hbase-common/src/main/resources/hbase-default.xml


 Description for hbase.dynamic.jars.dir is wrong
 ---

 Key: HBASE-13924
 URL: https://issues.apache.org/jira/browse/HBASE-13924
 Project: HBase
  Issue Type: Bug
Affects Versions: 1.1.0.1
Reporter: Lars George
Assignee: Misty Stanley-Jones
  Labels: beginner
 Fix For: 2.0.0

 Attachments: HBASE-13924-v1.patch, HBASE-13924.patch


 The description in the following is wrong:
 {noformat}
   property
 namehbase.dynamic.jars.dir/name
 value${hbase.rootdir}/lib/value
 description
   The directory from which the custom filter/co-processor jars can be 
 loaded
   dynamically by the region server without the need to restart. However,
   an already loaded filter/co-processor class would not be un-loaded. See
   HBASE-1936 for more details.
 /description
   /property
 {noformat}
 The {{DynamicClassLoader}} is *not* used for coprocessors, but only for 
 filters, comparators, and exceptions. Fix.



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


[jira] [Commented] (HBASE-14147) REST Support for Namespaces

2015-08-10 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-14147:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12749527/hbase-14147-v1.patch
  against master branch at commit c7065c4c40e94bcce2035b8ea9813cfc6124a7e0.
  ATTACHMENT ID: 12749527

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

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

{color:green}+1 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.7.0)

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

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

{color:red}-1 javadoc{color}.  The javadoc tool appears to have generated 5 
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 post-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): 

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15027//testReport/
Release Findbugs (version 2.0.3)warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15027//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15027//artifact/patchprocess/checkstyle-aggregate.html

  Javadoc warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15027//artifact/patchprocess/patchJavadocWarnings.txt
Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15027//console

This message is automatically generated.

 REST Support for Namespaces
 ---

 Key: HBASE-14147
 URL: https://issues.apache.org/jira/browse/HBASE-14147
 Project: HBase
  Issue Type: Sub-task
  Components: REST
Affects Versions: 1.1.1
Reporter: Rick Kellogg
Assignee: Matt Warhaftig
Priority: Minor
 Attachments: hbase-14147-v1.patch


 Expand REST services to include addition features:
 * Create namespace
 * Alter namespace
 * Describe namespace
 * Drop namespace
 * List tables in a specific namespace
 * List all namespaces.



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


[jira] [Commented] (HBASE-14071) Document troubleshooting unexpected filesystem usage by snapshots and WALs

2015-08-10 Thread Ashish Singhi (JIRA)

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

Ashish Singhi commented on HBASE-14071:
---

Hi [~misty].
In the patch the path reference for snapshots and WALs are for older hbase 
versions.
Atleast from 0.98+ versions (by default)

bq. Snapshots are stored in `/hbase/.snapshots`
/hbase/.hbase-snapshot/

bq. Write-ahead logs (WALs) are stored in subdirectories of `/hbase/.logs/`
/hbase/WALs/
Do you want to mention here about {{MasterProcWALs}} ?

bq. Already-processed WALs are stored in `/hbase/.logs/oldWALs/`
/hbase/oldWALs/

bq. corrupt WALs are stored in `/hbase/.logs/.corrupt/`
/hbase/corrupt/

 Document troubleshooting unexpected filesystem usage by snapshots and WALs
 --

 Key: HBASE-14071
 URL: https://issues.apache.org/jira/browse/HBASE-14071
 Project: HBase
  Issue Type: Task
Reporter: Misty Stanley-Jones
Assignee: Misty Stanley-Jones
 Fix For: 2.0.0

 Attachments: HBASE-14071.patch


 Document how to troubleshoot things like unexpected snapshot and WAL growth 
 on the filesystem



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


[jira] [Commented] (HBASE-13446) Add docs warning about missing data for downstream on versions prior to HBASE-13262

2015-08-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-13446:


FAILURE: Integrated in HBase-TRUNK #6708 (See 
[https://builds.apache.org/job/HBase-TRUNK/6708/])
HBASE-13446 Add docs warning about missing data for downstream on versions 
prior to HBASE-13262 (mstanleyjones: rev 
0daae433423da12343d4a64fdc987ffa64d4785f)
* src/main/asciidoc/_chapters/upgrading.adoc
* src/main/asciidoc/_chapters/troubleshooting.adoc


 Add docs warning about missing data for downstream on versions prior to 
 HBASE-13262
 ---

 Key: HBASE-13446
 URL: https://issues.apache.org/jira/browse/HBASE-13446
 Project: HBase
  Issue Type: Task
  Components: documentation
Affects Versions: 0.98.0, 1.0.0
Reporter: Sean Busbey
Assignee: Misty Stanley-Jones
Priority: Critical
 Fix For: 2.0.0

 Attachments: HBASE-13446.patch


 From conversation at the end of HBASE-13262:
 [~davelatham]
 {quote}
 Should we put a warning somewhere (mailing list? book?) about this? Something 
 like:
 IF (client OR server is = 0.98.11/1.0.0) AND server has a smaller value for 
 hbase.client.scanner.max.result.size than client does, THEN scan requests 
 that reach the server's hbase.client.scanner.max.result.size are likely to 
 miss data. In particular, 0.98.11 defaults 
 hbase.client.scanner.max.result.size to 2MB but other versions default to 
 larger values, so be very careful using 0.98.11 servers with any other client 
 version.
 {quote}
 [~busbey]
 {quote}
 How about we add a note in the ref guide for upgrades and for
 troubleshooting?
 {quote}



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


[jira] [Commented] (HBASE-13262) ResultScanner doesn't return all rows in Scan

2015-08-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-13262:


FAILURE: Integrated in HBase-TRUNK #6708 (See 
[https://builds.apache.org/job/HBase-TRUNK/6708/])
HBASE-13446 Add docs warning about missing data for downstream on versions 
prior to HBASE-13262 (mstanleyjones: rev 
0daae433423da12343d4a64fdc987ffa64d4785f)
* src/main/asciidoc/_chapters/upgrading.adoc
* src/main/asciidoc/_chapters/troubleshooting.adoc


 ResultScanner doesn't return all rows in Scan
 -

 Key: HBASE-13262
 URL: https://issues.apache.org/jira/browse/HBASE-13262
 Project: HBase
  Issue Type: Bug
  Components: Client
Affects Versions: 2.0.0, 1.1.0
 Environment: Single node, pseduo-distributed 1.1.0-SNAPSHOT
Reporter: Josh Elser
Assignee: Josh Elser
Priority: Blocker
 Fix For: 2.0.0, 1.0.1, 1.1.0, 0.98.12

 Attachments: 13262-0.98-testpatch.txt, HBASE-13262-0.98-v7.patch, 
 HBASE-13262-branch-1-v2.patch, HBASE-13262-branch-1-v3.patch, 
 HBASE-13262-branch-1.0-v7.patch, HBASE-13262-branch-1.patch, 
 HBASE-13262-v1.patch, HBASE-13262-v2.patch, HBASE-13262-v3.patch, 
 HBASE-13262-v4.patch, HBASE-13262-v5.patch, HBASE-13262-v6.patch, 
 HBASE-13262-v7.patch, HBASE-13262-v7.patch, HBASE-13262.patch, 
 regionserver-logging.diff, testrun_0.98.txt, testrun_branch1.0.txt


 Tried to write a simple Java client again 1.1.0-SNAPSHOT.
 * Write 1M rows, each row with 1 family, and 10 qualifiers (values [0-9]), 
 for a total of 10M cells written
 * Read back the data from the table, ensure I saw 10M cells
 Running it against {{04ac1891}} (and earlier) yesterday, I would get ~20% of 
 the actual rows. Running against 1.0.0, returns all 10M records as expected.
 [Code I was 
 running|https://github.com/joshelser/hbase-hwhat/blob/master/src/main/java/hbase/HBaseTest.java]
  for the curious.



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


[jira] [Commented] (HBASE-12256) Update patch submission guidelines to call out binary file support

2015-08-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-12256:


FAILURE: Integrated in HBase-TRUNK #6708 (See 
[https://builds.apache.org/job/HBase-TRUNK/6708/])
HBASE-12256 Update patch submission guidelines to call out binary file support 
(mstanleyjones: rev aad7fbe6cd4e5e899fc4badfa7fe0264fe35c443)
* src/main/asciidoc/_chapters/developer.adoc


 Update patch submission guidelines to call out binary file support
 --

 Key: HBASE-12256
 URL: https://issues.apache.org/jira/browse/HBASE-12256
 Project: HBase
  Issue Type: Improvement
  Components: documentation
Reporter: Sean Busbey
Assignee: Misty Stanley-Jones
Priority: Minor
  Labels: git
 Fix For: 2.0.0

 Attachments: HBASE-12256.patch


 Our guidelines should call out where users need to take special care if they 
 have binary files in their diff. (binary files here means anything {{file}} 
 detects as data)
 By default {{git diff}} won't include binary files, instead it'll just say 
 something like binary files differ. That'll render the patch useless.
 * Update reasons to favor format-patch to include can handle binary files 
 changing by default.
 * Add a note on {{git diff}} (or change the default args) to use {{--binary}}



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


[jira] [Updated] (HBASE-14200) Separate some subtests of TestStochasticLoadBalancer into TestStochasticLoadBalancer2

2015-08-10 Thread Ted Yu (JIRA)

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

Ted Yu updated HBASE-14200:
---
Attachment: 14200-v2.txt

Patch v2 simplifies TestStochasticLoadBalancer2.java

Please take a look.

 Separate some subtests of TestStochasticLoadBalancer into 
 TestStochasticLoadBalancer2
 -

 Key: HBASE-14200
 URL: https://issues.apache.org/jira/browse/HBASE-14200
 Project: HBase
  Issue Type: Test
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Fix For: 2.0.0, 1.3.0

 Attachments: 14200-v1.txt, 14200-v2.txt


 More and more functionality is added to StochasticLoadBalancer , making 
 TestStochasticLoadBalancer run longer.
 From 
 https://builds.apache.org/job/PreCommit-HBASE-Build/15011/testReport/org.apache.hadoop.hbase.master.balancer/TestStochasticLoadBalancer/
  where total runtime was 14 min, here are the longest subtests:
 testRegionReplicasOnLargeCluster: 1 min 34 sec
 testRegionReplicasOnMidCluster: 1 min 31 sec
 testRegionReplicasOnMidClusterHighReplication: 2 min
 testRegionReplicationOnMidClusterReplicationGreaterThanNumNodes: 2 min 25 sec
 This issue is to separate out the above subtests into 
 TestStochasticLoadBalancer2, giving each of the tests around 7 min runtime.



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


[jira] [Updated] (HBASE-5878) Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.

2015-08-10 Thread Ashish Singhi (JIRA)

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

Ashish Singhi updated HBASE-5878:
-
Attachment: HBASE-5878-v7-0.98.patch

 Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.
 ---

 Key: HBASE-5878
 URL: https://issues.apache.org/jira/browse/HBASE-5878
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Uma Maheswara Rao G
Assignee: Ashish Singhi
 Fix For: 2.0.0, 1.3.0

 Attachments: HBASE-5878-branch-1.0.patch, HBASE-5878-v2.patch, 
 HBASE-5878-v3.patch, HBASE-5878-v4.patch, HBASE-5878-v5-0.98.patch, 
 HBASE-5878-v5.patch, HBASE-5878-v5.patch, HBASE-5878-v6-0.98.patch, 
 HBASE-5878-v6.patch, HBASE-5878-v7-0.98.patch, HBASE-5878.patch


 SequencFileLogReader: 
 Currently Hbase using getFileLength api from DFSInputStream class by 
 reflection. DFSInputStream is not exposed as public. So, this may change in 
 future. Now HDFS exposed HdfsDataInputStream as public API.
 We can make use of it, when we are not able to find the getFileLength api 
 from DFSInputStream as a else condition. So, that we will not have any sudden 
 surprise like we are facing today.
 Also,  it is just logging one warn message and proceeding if it throws any 
 exception while getting the length. I think we can re-throw the exception 
 because there is no point in continuing with dataloss.
 {code}
 long adjust = 0;
   try {
 Field fIn = FilterInputStream.class.getDeclaredField(in);
 fIn.setAccessible(true);
 Object realIn = fIn.get(this.in);
 // In hadoop 0.22, DFSInputStream is a standalone class.  Before 
 this,
 // it was an inner class of DFSClient.
 if (realIn.getClass().getName().endsWith(DFSInputStream)) {
   Method getFileLength = realIn.getClass().
 getDeclaredMethod(getFileLength, new Class? []{});
   getFileLength.setAccessible(true);
   long realLength = ((Long)getFileLength.
 invoke(realIn, new Object []{})).longValue();
   assert(realLength = this.length);
   adjust = realLength - this.length;
 } else {
   LOG.info(Input stream class:  + realIn.getClass().getName() +
   , not adjusting length);
 }
   } catch(Exception e) {
 SequenceFileLogReader.LOG.warn(
   Error while trying to get accurate file length.   +
   Truncation / data loss may occur if RegionServers die., e);
   }
   return adjust + super.getPos();
 {code}



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


[jira] [Commented] (HBASE-14200) Separate some subtests of TestStochasticLoadBalancer into TestStochasticLoadBalancer2

2015-08-10 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-14200:
---

{color:green}+1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12749564/14200-v2.txt
  against master branch at commit c7065c4c40e94bcce2035b8ea9813cfc6124a7e0.
  ATTACHMENT ID: 12749564

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

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

{color:green}+1 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.7.0)

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

{color:green}+1 protoc{color}.  The applied patch does not increase the 
total number of protoc 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 post-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/15028//testReport/
Release Findbugs (version 2.0.3)warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15028//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/15028//artifact/patchprocess/checkstyle-aggregate.html

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

This message is automatically generated.

 Separate some subtests of TestStochasticLoadBalancer into 
 TestStochasticLoadBalancer2
 -

 Key: HBASE-14200
 URL: https://issues.apache.org/jira/browse/HBASE-14200
 Project: HBase
  Issue Type: Test
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Fix For: 2.0.0, 1.3.0

 Attachments: 14200-v1.txt, 14200-v2.txt


 More and more functionality is added to StochasticLoadBalancer , making 
 TestStochasticLoadBalancer run longer.
 From 
 https://builds.apache.org/job/PreCommit-HBASE-Build/15011/testReport/org.apache.hadoop.hbase.master.balancer/TestStochasticLoadBalancer/
  where total runtime was 14 min, here are the longest subtests:
 testRegionReplicasOnLargeCluster: 1 min 34 sec
 testRegionReplicasOnMidCluster: 1 min 31 sec
 testRegionReplicasOnMidClusterHighReplication: 2 min
 testRegionReplicationOnMidClusterReplicationGreaterThanNumNodes: 2 min 25 sec
 This issue is to separate out the above subtests into 
 TestStochasticLoadBalancer2, giving each of the tests around 7 min runtime.



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


[jira] [Commented] (HBASE-5878) Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.

2015-08-10 Thread Ashish Singhi (JIRA)

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

Ashish Singhi commented on HBASE-5878:
--

[~andrew.purt...@gmail.com], I have attached 0.98 version branch patch(v7) to 
support both hadoop 1 and hadoop 2.
Please check if this looks ok.
Thanks.

 Use getVisibleLength public api from HdfsDataInputStream from Hadoop-2.
 ---

 Key: HBASE-5878
 URL: https://issues.apache.org/jira/browse/HBASE-5878
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Uma Maheswara Rao G
Assignee: Ashish Singhi
 Fix For: 2.0.0, 1.3.0

 Attachments: HBASE-5878-branch-1.0.patch, HBASE-5878-v2.patch, 
 HBASE-5878-v3.patch, HBASE-5878-v4.patch, HBASE-5878-v5-0.98.patch, 
 HBASE-5878-v5.patch, HBASE-5878-v5.patch, HBASE-5878-v6-0.98.patch, 
 HBASE-5878-v6.patch, HBASE-5878-v7-0.98.patch, HBASE-5878.patch


 SequencFileLogReader: 
 Currently Hbase using getFileLength api from DFSInputStream class by 
 reflection. DFSInputStream is not exposed as public. So, this may change in 
 future. Now HDFS exposed HdfsDataInputStream as public API.
 We can make use of it, when we are not able to find the getFileLength api 
 from DFSInputStream as a else condition. So, that we will not have any sudden 
 surprise like we are facing today.
 Also,  it is just logging one warn message and proceeding if it throws any 
 exception while getting the length. I think we can re-throw the exception 
 because there is no point in continuing with dataloss.
 {code}
 long adjust = 0;
   try {
 Field fIn = FilterInputStream.class.getDeclaredField(in);
 fIn.setAccessible(true);
 Object realIn = fIn.get(this.in);
 // In hadoop 0.22, DFSInputStream is a standalone class.  Before 
 this,
 // it was an inner class of DFSClient.
 if (realIn.getClass().getName().endsWith(DFSInputStream)) {
   Method getFileLength = realIn.getClass().
 getDeclaredMethod(getFileLength, new Class? []{});
   getFileLength.setAccessible(true);
   long realLength = ((Long)getFileLength.
 invoke(realIn, new Object []{})).longValue();
   assert(realLength = this.length);
   adjust = realLength - this.length;
 } else {
   LOG.info(Input stream class:  + realIn.getClass().getName() +
   , not adjusting length);
 }
   } catch(Exception e) {
 SequenceFileLogReader.LOG.warn(
   Error while trying to get accurate file length.   +
   Truncation / data loss may occur if RegionServers die., e);
   }
   return adjust + super.getPos();
 {code}



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


[jira] [Commented] (HBASE-14200) Separate some subtests of TestStochasticLoadBalancer into TestStochasticLoadBalancer2

2015-08-10 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-14200:


LGTM

 Separate some subtests of TestStochasticLoadBalancer into 
 TestStochasticLoadBalancer2
 -

 Key: HBASE-14200
 URL: https://issues.apache.org/jira/browse/HBASE-14200
 Project: HBase
  Issue Type: Test
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Fix For: 2.0.0, 1.3.0

 Attachments: 14200-v1.txt, 14200-v2.txt


 More and more functionality is added to StochasticLoadBalancer , making 
 TestStochasticLoadBalancer run longer.
 From 
 https://builds.apache.org/job/PreCommit-HBASE-Build/15011/testReport/org.apache.hadoop.hbase.master.balancer/TestStochasticLoadBalancer/
  where total runtime was 14 min, here are the longest subtests:
 testRegionReplicasOnLargeCluster: 1 min 34 sec
 testRegionReplicasOnMidCluster: 1 min 31 sec
 testRegionReplicasOnMidClusterHighReplication: 2 min
 testRegionReplicationOnMidClusterReplicationGreaterThanNumNodes: 2 min 25 sec
 This issue is to separate out the above subtests into 
 TestStochasticLoadBalancer2, giving each of the tests around 7 min runtime.



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