[jira] [Commented] (HBASE-10060) Unsynchronized scanning

2013-12-01 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-10060:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12616464/10060-trunk-v2.txt
  against trunk revision .

{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 hadoop1.0{color}.  The patch compiles against the hadoop 
1.0 profile.

{color:green}+1 hadoop2.0{color}.  The patch compiles against the hadoop 
2.0 profile.

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

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

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 1.3.9) 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 site goal to 
fail.

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

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8035//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8035//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8035//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8035//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8035//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8035//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8035//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8035//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8035//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8035//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8035//console

This message is automatically generated.

 Unsynchronized scanning
 ---

 Key: HBASE-10060
 URL: https://issues.apache.org/jira/browse/HBASE-10060
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Priority: Minor
 Attachments: 10060-trunk-v2.txt, 10060-trunk.txt


 HBASE-10015 has some lengthy discussion. The solution there ended up 
 replacing synchronized with ReentrantLock, which - somewhat surprisingly - 
 yielded a non-trivial improvement for tall tables.
 The goal should be to avoid locking in StoreScanner at all. StoreScanner is 
 only accessed by a single thread *except* when we have a concurrent flush or 
 a compaction, which is rare (we'd acquire and release the lock millions of 
 times per second, and compact/flush a few time an hour at the most).



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Issue Comment Deleted] (HBASE-9489) Add cp hooks in online merge before and after setting PONR

2013-12-01 Thread Anoop Sam John (JIRA)

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

Anoop Sam John updated HBASE-9489:
--

Comment: was deleted

(was: +1
nit:  Few more occurrence of white spaces in RegionMergeTransaction. Pls remove 
them while committing.)

 Add cp hooks in online merge before and after setting PONR
 --

 Key: HBASE-9489
 URL: https://issues.apache.org/jira/browse/HBASE-9489
 Project: HBase
  Issue Type: Sub-task
Reporter: rajeshbabu
Assignee: rajeshbabu
 Attachments: HBASE-9489.patch, HBASE-9489_v2.patch, 
 HBASE-9489_v3.patch, HBASE-9489_v4.patch


 As we need to merge index region along with user region we need the hooks 
 before and after setting PONR in region merge transtion.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9489) Add cp hooks in online merge before and after setting PONR

2013-12-01 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-9489:
---

+1
nit:  Few more occurrence of white spaces in RegionMergeTransaction. Pls remove 
them while committing.

 Add cp hooks in online merge before and after setting PONR
 --

 Key: HBASE-9489
 URL: https://issues.apache.org/jira/browse/HBASE-9489
 Project: HBase
  Issue Type: Sub-task
Reporter: rajeshbabu
Assignee: rajeshbabu
 Attachments: HBASE-9489.patch, HBASE-9489_v2.patch, 
 HBASE-9489_v3.patch, HBASE-9489_v4.patch


 As we need to merge index region along with user region we need the hooks 
 before and after setting PONR in region merge transtion.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9489) Add cp hooks in online merge before and after setting PONR

2013-12-01 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-9489:
---

+1
nit:  Few more occurrence of white spaces in RegionMergeTransaction. Pls remove 
them while committing.

 Add cp hooks in online merge before and after setting PONR
 --

 Key: HBASE-9489
 URL: https://issues.apache.org/jira/browse/HBASE-9489
 Project: HBase
  Issue Type: Sub-task
Reporter: rajeshbabu
Assignee: rajeshbabu
 Attachments: HBASE-9489.patch, HBASE-9489_v2.patch, 
 HBASE-9489_v3.patch, HBASE-9489_v4.patch


 As we need to merge index region along with user region we need the hooks 
 before and after setting PONR in region merge transtion.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9535) Try a pool of direct byte buffers handling incoming ipc requests

2013-12-01 Thread Nicolas Liochon (JIRA)

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

Nicolas Liochon commented on HBASE-9535:


bq. You have diff of GC use?
Not really. I've looked at the gc through the profile, it was around 4 minor 
gc/s with CMS, 1/s with G1, w/ or w/o the patch. I don't think the patch makes 
a difference in this scenario, as with YCSB puts we have a few large 
allocations, instead of ismultiple tiny ones. So for this scenario I think the 
benefit comes from the array copy suppressed. 

 Try a pool of direct byte buffers handling incoming ipc requests
 

 Key: HBASE-9535
 URL: https://issues.apache.org/jira/browse/HBASE-9535
 Project: HBase
  Issue Type: Brainstorming
Reporter: stack
Assignee: Nicolas Liochon
 Attachments: 9535.v1.patch, 9535.v2-trunk.patch, 9535.v2.patch, 
 9535.v3.patch


 ipc takes in a query by allocating a ByteBuffer of the size of the request 
 and then reading off the socket into this on-heap BB.
 Experiment with keeping a pool of BBs so we have some buffer reuse to cut on 
 garbage generated.  Could checkout from pool in RpcServer#Reader.  Could 
 check back into the pool when Handler is done just before it queues the 
 response on the Responder's queue.  We should be good since, at least for 
 now, kvs get copied up into MSLAB (not references) when data gets stuffed 
 into MemStore; this should make it so no references left over when we check 
 the BB back into the pool for use next time around.
 If on-heap BBs work, we could then try direct BBs (Allocation of DBBs takes 
 time so if already allocated, should be good.  GC of DBBs is a pain but if in 
 a pool, we shouldn't be wanting this to happen).  The copy from socket to the 
 DBB will be off-heap (should be fast).
 Could start w/ the HDFS DirectBufferPool.  It is unbounded and keeps items by 
 size (we might want to bypass the pool if an object is  size N).
 DBBs for this task would contend w/ offheap BBs used in BlockReadLocal when 
 short-circuit reading.  It'd be a bummer if we had to allocate big objects 
 on-heap.  Would still be an improvement.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Created] (HBASE-10061) TableMapReduceUtil.findOrCreateJar calls updateMap(null, ) resulting in thrown NPE

2013-12-01 Thread Amit Sela (JIRA)
Amit Sela created HBASE-10061:
-

 Summary: TableMapReduceUtil.findOrCreateJar calls updateMap(null, 
) resulting in thrown NPE
 Key: HBASE-10061
 URL: https://issues.apache.org/jira/browse/HBASE-10061
 Project: HBase
  Issue Type: Bug
  Components: mapreduce
Affects Versions: 0.94.12
Reporter: Amit Sela


TableMapReduceUtil.findOrCreateJar line 596:
jar = getJar(my_class);
updateMap(jar, packagedClasses);
In case getJar returns null, updateMap will throw NPE.
Should check null==jar before calling updateMap.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-10061) TableMapReduceUtil.findOrCreateJar calls updateMap(null, ) resulting in thrown NPE

2013-12-01 Thread Amit Sela (JIRA)

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

Amit Sela commented on HBASE-10061:
---

Currently, findOrCreateJar throws IOException if jar path is null or empty.
Ted suggested to add a configuration parameter that will allow to choose 
between logging a missing jar (like it used to be in previous versions, i.e., 
0.94.2) or throwing Exception (as it is now).

 TableMapReduceUtil.findOrCreateJar calls updateMap(null, ) resulting in 
 thrown NPE
 --

 Key: HBASE-10061
 URL: https://issues.apache.org/jira/browse/HBASE-10061
 Project: HBase
  Issue Type: Bug
  Components: mapreduce
Affects Versions: 0.94.12
Reporter: Amit Sela

 TableMapReduceUtil.findOrCreateJar line 596:
 jar = getJar(my_class);
 updateMap(jar, packagedClasses);
 In case getJar returns null, updateMap will throw NPE.
 Should check null==jar before calling updateMap.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-10048) Add hlog number metric in regionserver

2013-12-01 Thread Himanshu Vashishtha (JIRA)

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

Himanshu Vashishtha commented on HBASE-10048:
-

+1 to the idea of exposing log numbers, and thanks for the patch.
(I'd avoid doing the numLogs +1 stuff, as it looks brittle). IMO, it is OKAY 
to show the rolled WALs and leave out the current one. And, name the metrics 
accordingly. What do you think [~lshmouse]?


[~zjushch]: Pardon for chiming in late; but couldn't just we make an 
intelligent guess about log size rather than creating a separate metrics for 
the same.
https://github.com/apache/hbase/blob/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSHLog.java#L360

 Add hlog number metric in regionserver
 --

 Key: HBASE-10048
 URL: https://issues.apache.org/jira/browse/HBASE-10048
 Project: HBase
  Issue Type: Improvement
Reporter: Liu Shaohui
Assignee: Liu Shaohui
Priority: Minor
 Attachments: HBASE-10048-0.94-v1.diff, HBASE-10048-0.94-v2.diff, 
 HBASE-10048-trunk-v1.diff, HBASE-10048-trunk-v2.diff, 
 HBASE-10048-trunk-v3.diff


 Add hlog number metric in regionserver. 
 We can use this metric to alert about memstore flush because of too many 
 hlogs.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9955) Make hadoop2 the default and deprecate hadoop1

2013-12-01 Thread stack (JIRA)

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

stack updated HBASE-9955:
-

Attachment: 9955v2.txt

Patch had trash in it.

 Make hadoop2 the default and deprecate hadoop1
 --

 Key: HBASE-9955
 URL: https://issues.apache.org/jira/browse/HBASE-9955
 Project: HBase
  Issue Type: Task
Reporter: stack
Assignee: stack
 Fix For: 0.98.0

 Attachments: 9955.txt, 9955v2.txt


 See Hadoop version trunk dependency? on the dev mailing ilst.  Consensus 
 seems to be forming to do the subject line (Recheck the mail thread before 
 going ahead).



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9955) Make hadoop2 the default and deprecate hadoop1

2013-12-01 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-9955:
--

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12616486/9955v2.txt
  against trunk revision .

{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 hadoop1.0{color}.  The patch compiles against the hadoop 
1.0 profile.

{color:red}-1 hadoop2.0{color}.  The patch failed to compile against the 
hadoop 2.0 profile.

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

This message is automatically generated.

 Make hadoop2 the default and deprecate hadoop1
 --

 Key: HBASE-9955
 URL: https://issues.apache.org/jira/browse/HBASE-9955
 Project: HBase
  Issue Type: Task
Reporter: stack
Assignee: stack
 Fix For: 0.98.0

 Attachments: 9955.txt, 9955v2.txt


 See Hadoop version trunk dependency? on the dev mailing ilst.  Consensus 
 seems to be forming to do the subject line (Recheck the mail thread before 
 going ahead).



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-7091) support custom GC options in hbase-env.sh

2013-12-01 Thread Jesse Yates (JIRA)

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

Jesse Yates commented on HBASE-7091:


Is this in trunk or 0.94 that you have a concern Nicolas? I don't think it 
erases it - it just doesn't apply it multiple times. 

bin/hbase does this kind of thing:
{code}
HBASE_OPTS=$HBASE_OPTS $CLIENT_GC_OPTS
{code}

So it doesn't erase it - just copies it.

 support custom GC options in hbase-env.sh
 -

 Key: HBASE-7091
 URL: https://issues.apache.org/jira/browse/HBASE-7091
 Project: HBase
  Issue Type: Bug
  Components: scripts
Affects Versions: 0.94.4
Reporter: Jesse Yates
Assignee: Jesse Yates
  Labels: newbie
 Fix For: 0.94.4, 0.95.0

 Attachments: hbase-7091-v1.patch


 When running things like bin/start-hbase and bin/hbase-daemon.sh start 
 [master|regionserver|etc] we end up setting HBASE_OPTS property a couple 
 times via calling hbase-env.sh. This is generally not a problem for most 
 cases, but when you want to set your own GC log properties, one would think 
 you should set HBASE_GC_OPTS, which get added to HBASE_OPTS. 
 NOPE! That would make too much sense.
 Running bin/hbase-daemons.sh will run bin/hbase-daemon.sh with the daemons it 
 needs to start. Each time through hbase-daemon.sh we also call bin/hbase. 
 This isn't a big deal except for each call to hbase-daemon.sh, we also source 
 hbase-env.sh twice (once in the script and once in bin/hbase). This is 
 important for my next point.
 Note that to turn on GC logging, you uncomment:
 {code}
 # export HBASE_OPTS=$HBASE_OPTS -verbose:gc -XX:+PrintGCDetails 
 -XX:+PrintGCDateStamps $HBASE_GC_OPTS 
 {code}
 and then to log to a gc file for each server, you then uncomment:
 {code}
 # export HBASE_USE_GC_LOGFILE=true
 {code}
 in hbase-env.sh
 On the first pass through hbase-daemon.sh, HBASE_GC_OPTS isn't set, so 
 HBASE_OPTS doesn't get anything funky, but we set HBASE_USE_GC_LOGFILE, which 
 then sets HBASE_GC_OPTS to the log file (-Xloggc:...). Then in bin/hbase we 
 again run hbase-env.sh, which now hs HBASE_GC_OPTS set, adding the GC file. 
 This isn't a general problem because HBASE_OPTS is set without prefixing the 
 existing HBASE_OPTS (eg. HBASE_OPTS=$HBASE_OPTS ...), allowing easy 
 updating. However, GC OPTS don't work the same and this is really odd 
 behavior when you want to set your own GC opts, which can include turning on 
 GC log rolling (yes, yes, they really are jvm opts, but they ought to support 
 their own param, to help minimize clutter).
 The simple version of this patch will just add an idempotent GC option to 
 hbase-env.sh and some comments that uncommenting 
 {code}
 # export HBASE_USE_GC_LOGFILE=true
 {code}
 will lead to a custom gc log file per server (along with an example name), so 
 you don't need to set -Xloggc.
 The more complex solution does the above and also solves the multiple calls 
 to hbase-env.sh so we can be sane about how all this works. Note that to fix 
 this, hbase-daemon.sh just needs to read in HBASE_USE_GC_LOGFILE after 
 sourcing hbase-env.sh and then update HBASE_OPTS. Oh and also not source 
 hbase-env.sh in bin/hbase. 
 Even further, we might want to consider adding options just for cases where 
 we don't need gc logging - i.e. the shell, the config reading tool, hcbk, 
 etc. This is the hardest version to handle since the first couple will 
 willy-nilly apply the gc options.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-10048) Add hlog number metric in regionserver

2013-12-01 Thread chunhui shen (JIRA)

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

chunhui shen commented on HBASE-10048:
--

bq,couldn't just we make an intelligent guess about log size rather than 
creating a separate metrics for the same.
I know the hlog size is about 95% of block size in normal case, 
but we have seen the hlog file size much bigger than block size in abnormal 
case.

I think such a metric could show the unhealthy scenario timely,  avoiding the 
hlog size become very huge.

Maybe we only need the metric for the max size of current hlog.
[~liushaohui] Any thought about the log size metric?

 Add hlog number metric in regionserver
 --

 Key: HBASE-10048
 URL: https://issues.apache.org/jira/browse/HBASE-10048
 Project: HBase
  Issue Type: Improvement
Reporter: Liu Shaohui
Assignee: Liu Shaohui
Priority: Minor
 Attachments: HBASE-10048-0.94-v1.diff, HBASE-10048-0.94-v2.diff, 
 HBASE-10048-trunk-v1.diff, HBASE-10048-trunk-v2.diff, 
 HBASE-10048-trunk-v3.diff


 Add hlog number metric in regionserver. 
 We can use this metric to alert about memstore flush because of too many 
 hlogs.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-4811) Support reverse Scan

2013-12-01 Thread chunhui shen (JIRA)

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

chunhui shen updated HBASE-4811:


Description: 
Reversed scan means scan the rows backward. 
And StartRow bigger than StopRow in a reversed scan.

For example, for the following rows:

aaa/c1:q1/value1
aaa/c1:q2/value2
bbb/c1:q1/value1
bbb/c1:q2/value2
ccc/c1:q1/value1
ccc/c1:q2/value2
ddd/c1:q1/value1
ddd/c1:q2/value2
eee/c1:q1/value1
eee/c1:q2/value2

you could do a reversed scan from 'ddd' to 'bbb'(exclude) like this:

Scan scan = new Scan();
scan.setStartRow('ddd');
scan.setStopRow('bbb');
scan.setReversed(true);
for(Result result:htable.getScanner(scan)){
 System.out.println(result);
}

Aslo you could do the reversed scan with shell like this:
hbase scan 'table',{REVERSED = true,STARTROW='ddd', STOPROW='bbb'}


And the output is:
ddd/c1:q1/value1
ddd/c1:q2/value2
ccc/c1:q1/value1
ccc/c1:q2/value2


All the documentation I find about HBase says that if you want forward and 
reverse scans you should just build 2 tables and one be ascending and one 
descending.  Is there a fundamental reason that HBase only supports forward 
Scan?  It seems like a lot of extra space overhead and coding overhead (to keep 
them in sync) to support 2 tables.  

I am assuming this has been discussed before, but I can't find the discussions 
anywhere about it or why it would be infeasible.


  was:
Reversed scan means scan the rows backward. 
And StartRow bigger than StopRow in a reversed scan.

For example, for the following rows:

aaa/c1:q1/value1
aaa/c1:q2/value2
bbb/c1:q1/value1
bbb/c1:q2/value2
ccc/c1:q1/value1
ccc/c1:q2/value2
ddd/c1:q1/value1
ddd/c1:q2/value2
eee/c1:q1/value1
eee/c1:q2/value2

you could do a reversed scan from 'ddd' to 'bbb'(exclude) like this:

Scan scan = new Scan();
scan.setStartRow('ddd');
scan.setStopRow('bbb');
scan.setReversed(true);
for(Result result:htable.getScanner(scan)){
 System.out.println(result);
}

Aslo you could do the reversed scan with shell like this:
hbase scan 'table',{REVERSED = true,STARTROW='ddd', STOPROW='bbb'}


And the output is:
ddd/c1:q1/value1
ddd/c1:q2/value2
ccc/c1:q1/value1
ccc/c1:q2/value2


NOTE: when setting reversed as true for a client scan, you must set the start 
row, else will throw exception. Through {@link 
Scan#createBiggestByteArray(int)},you could get a big enough byte array as the 
start row


All the documentation I find about HBase says that if you want forward and 
reverse scans you should just build 2 tables and one be ascending and one 
descending.  Is there a fundamental reason that HBase only supports forward 
Scan?  It seems like a lot of extra space overhead and coding overhead (to keep 
them in sync) to support 2 tables.  

I am assuming this has been discussed before, but I can't find the discussions 
anywhere about it or why it would be infeasible.



 Support reverse Scan
 

 Key: HBASE-4811
 URL: https://issues.apache.org/jira/browse/HBASE-4811
 Project: HBase
  Issue Type: New Feature
  Components: Client
Affects Versions: 0.20.6, 0.94.7
Reporter: John Carrino
Assignee: chunhui shen
 Fix For: 0.98.0, 0.96.1, 0.94.15

 Attachments: 4811-0.94-v22.txt, 4811-0.94-v23.txt, 4811-0.94-v3.txt, 
 4811-trunk-v10.txt, 4811-trunk-v29.patch, 4811-trunk-v5.patch, 
 HBase-4811-0.94-v2.txt, HBase-4811-0.94.3modified.txt, hbase-4811-0.94 
 v21.patch, hbase-4811-0.94-v24.patch, hbase-4811-trunkv1.patch, 
 hbase-4811-trunkv11.patch, hbase-4811-trunkv12.patch, 
 hbase-4811-trunkv13.patch, hbase-4811-trunkv14.patch, 
 hbase-4811-trunkv15.patch, hbase-4811-trunkv16.patch, 
 hbase-4811-trunkv17.patch, hbase-4811-trunkv18.patch, 
 hbase-4811-trunkv19.patch, hbase-4811-trunkv20.patch, 
 hbase-4811-trunkv21.patch, hbase-4811-trunkv24.patch, 
 hbase-4811-trunkv24.patch, hbase-4811-trunkv25.patch, 
 hbase-4811-trunkv26.patch, hbase-4811-trunkv27.patch, 
 hbase-4811-trunkv28.patch, hbase-4811-trunkv4.patch, 
 hbase-4811-trunkv6.patch, hbase-4811-trunkv7.patch, hbase-4811-trunkv8.patch, 
 hbase-4811-trunkv9.patch


 Reversed scan means scan the rows backward. 
 And StartRow bigger than StopRow in a reversed scan.
 For example, for the following rows:
 aaa/c1:q1/value1
 aaa/c1:q2/value2
 bbb/c1:q1/value1
 bbb/c1:q2/value2
 ccc/c1:q1/value1
 ccc/c1:q2/value2
 ddd/c1:q1/value1
 ddd/c1:q2/value2
 eee/c1:q1/value1
 eee/c1:q2/value2
 you could do a reversed scan from 'ddd' to 'bbb'(exclude) like this:
 Scan scan = new Scan();
 scan.setStartRow('ddd');
 scan.setStopRow('bbb');
 scan.setReversed(true);
 for(Result result:htable.getScanner(scan)){
  System.out.println(result);
 }
 Aslo you could do the reversed scan with shell like this:
 hbase scan 'table',{REVERSED = true,STARTROW='ddd', STOPROW='bbb'}
 And the output is:
 ddd/c1:q1/value1
 ddd/c1:q2/value2
 ccc/c1:q1/value1
 

[jira] [Commented] (HBASE-4811) Support reverse Scan

2013-12-01 Thread chunhui shen (JIRA)

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

chunhui shen commented on HBASE-4811:
-

Commited to trunk,
Thanks very much for the review, Ted, Lars,Jean-Marc,Andrew and others

 Support reverse Scan
 

 Key: HBASE-4811
 URL: https://issues.apache.org/jira/browse/HBASE-4811
 Project: HBase
  Issue Type: New Feature
  Components: Client
Affects Versions: 0.20.6, 0.94.7
Reporter: John Carrino
Assignee: chunhui shen
 Fix For: 0.98.0, 0.96.1, 0.94.15

 Attachments: 4811-0.94-v22.txt, 4811-0.94-v23.txt, 4811-0.94-v3.txt, 
 4811-trunk-v10.txt, 4811-trunk-v29.patch, 4811-trunk-v5.patch, 
 HBase-4811-0.94-v2.txt, HBase-4811-0.94.3modified.txt, hbase-4811-0.94 
 v21.patch, hbase-4811-0.94-v24.patch, hbase-4811-trunkv1.patch, 
 hbase-4811-trunkv11.patch, hbase-4811-trunkv12.patch, 
 hbase-4811-trunkv13.patch, hbase-4811-trunkv14.patch, 
 hbase-4811-trunkv15.patch, hbase-4811-trunkv16.patch, 
 hbase-4811-trunkv17.patch, hbase-4811-trunkv18.patch, 
 hbase-4811-trunkv19.patch, hbase-4811-trunkv20.patch, 
 hbase-4811-trunkv21.patch, hbase-4811-trunkv24.patch, 
 hbase-4811-trunkv24.patch, hbase-4811-trunkv25.patch, 
 hbase-4811-trunkv26.patch, hbase-4811-trunkv27.patch, 
 hbase-4811-trunkv28.patch, hbase-4811-trunkv4.patch, 
 hbase-4811-trunkv6.patch, hbase-4811-trunkv7.patch, hbase-4811-trunkv8.patch, 
 hbase-4811-trunkv9.patch


 Reversed scan means scan the rows backward. 
 And StartRow bigger than StopRow in a reversed scan.
 For example, for the following rows:
 aaa/c1:q1/value1
 aaa/c1:q2/value2
 bbb/c1:q1/value1
 bbb/c1:q2/value2
 ccc/c1:q1/value1
 ccc/c1:q2/value2
 ddd/c1:q1/value1
 ddd/c1:q2/value2
 eee/c1:q1/value1
 eee/c1:q2/value2
 you could do a reversed scan from 'ddd' to 'bbb'(exclude) like this:
 Scan scan = new Scan();
 scan.setStartRow('ddd');
 scan.setStopRow('bbb');
 scan.setReversed(true);
 for(Result result:htable.getScanner(scan)){
  System.out.println(result);
 }
 Aslo you could do the reversed scan with shell like this:
 hbase scan 'table',{REVERSED = true,STARTROW='ddd', STOPROW='bbb'}
 And the output is:
 ddd/c1:q1/value1
 ddd/c1:q2/value2
 ccc/c1:q1/value1
 ccc/c1:q2/value2
 All the documentation I find about HBase says that if you want forward and 
 reverse scans you should just build 2 tables and one be ascending and one 
 descending.  Is there a fundamental reason that HBase only supports forward 
 Scan?  It seems like a lot of extra space overhead and coding overhead (to 
 keep them in sync) to support 2 tables.  
 I am assuming this has been discussed before, but I can't find the 
 discussions anywhere about it or why it would be infeasible.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-4811) Support reverse Scan

2013-12-01 Thread chunhui shen (JIRA)

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

chunhui shen updated HBASE-4811:


   Resolution: Fixed
Fix Version/s: (was: 0.94.15)
   (was: 0.96.1)
 Hadoop Flags: Reviewed
   Status: Resolved  (was: Patch Available)

Moving out of 0.94.15, wait lars to confirm when backport to 0.94

 Support reverse Scan
 

 Key: HBASE-4811
 URL: https://issues.apache.org/jira/browse/HBASE-4811
 Project: HBase
  Issue Type: New Feature
  Components: Client
Affects Versions: 0.20.6, 0.94.7
Reporter: John Carrino
Assignee: chunhui shen
 Fix For: 0.98.0

 Attachments: 4811-0.94-v22.txt, 4811-0.94-v23.txt, 4811-0.94-v3.txt, 
 4811-trunk-v10.txt, 4811-trunk-v29.patch, 4811-trunk-v5.patch, 
 HBase-4811-0.94-v2.txt, HBase-4811-0.94.3modified.txt, hbase-4811-0.94 
 v21.patch, hbase-4811-0.94-v24.patch, hbase-4811-trunkv1.patch, 
 hbase-4811-trunkv11.patch, hbase-4811-trunkv12.patch, 
 hbase-4811-trunkv13.patch, hbase-4811-trunkv14.patch, 
 hbase-4811-trunkv15.patch, hbase-4811-trunkv16.patch, 
 hbase-4811-trunkv17.patch, hbase-4811-trunkv18.patch, 
 hbase-4811-trunkv19.patch, hbase-4811-trunkv20.patch, 
 hbase-4811-trunkv21.patch, hbase-4811-trunkv24.patch, 
 hbase-4811-trunkv24.patch, hbase-4811-trunkv25.patch, 
 hbase-4811-trunkv26.patch, hbase-4811-trunkv27.patch, 
 hbase-4811-trunkv28.patch, hbase-4811-trunkv4.patch, 
 hbase-4811-trunkv6.patch, hbase-4811-trunkv7.patch, hbase-4811-trunkv8.patch, 
 hbase-4811-trunkv9.patch


 Reversed scan means scan the rows backward. 
 And StartRow bigger than StopRow in a reversed scan.
 For example, for the following rows:
 aaa/c1:q1/value1
 aaa/c1:q2/value2
 bbb/c1:q1/value1
 bbb/c1:q2/value2
 ccc/c1:q1/value1
 ccc/c1:q2/value2
 ddd/c1:q1/value1
 ddd/c1:q2/value2
 eee/c1:q1/value1
 eee/c1:q2/value2
 you could do a reversed scan from 'ddd' to 'bbb'(exclude) like this:
 Scan scan = new Scan();
 scan.setStartRow('ddd');
 scan.setStopRow('bbb');
 scan.setReversed(true);
 for(Result result:htable.getScanner(scan)){
  System.out.println(result);
 }
 Aslo you could do the reversed scan with shell like this:
 hbase scan 'table',{REVERSED = true,STARTROW='ddd', STOPROW='bbb'}
 And the output is:
 ddd/c1:q1/value1
 ddd/c1:q2/value2
 ccc/c1:q1/value1
 ccc/c1:q2/value2
 All the documentation I find about HBase says that if you want forward and 
 reverse scans you should just build 2 tables and one be ascending and one 
 descending.  Is there a fundamental reason that HBase only supports forward 
 Scan?  It seems like a lot of extra space overhead and coding overhead (to 
 keep them in sync) to support 2 tables.  
 I am assuming this has been discussed before, but I can't find the 
 discussions anywhere about it or why it would be infeasible.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9614) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9614:
--

Issue Type: Bug  (was: Sub-task)
Parent: (was: HBASE-9613)

 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9614
 URL: https://issues.apache.org/jira/browse/HBASE-9614
 Project: HBase
  Issue Type: Bug
  Components: regionserver
Affects Versions: 0.98.0
Reporter: Liang Xie
Assignee: stack

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9615) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9615:
--

Issue Type: Bug  (was: Sub-task)
Parent: (was: HBASE-9613)

 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9615
 URL: https://issues.apache.org/jira/browse/HBASE-9615
 Project: HBase
  Issue Type: Bug
  Components: regionserver
Affects Versions: 0.98.0
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9628) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9628:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9628
 URL: https://issues.apache.org/jira/browse/HBASE-9628
 Project: HBase
  Issue Type: New Feature
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9615) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9615:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9615
 URL: https://issues.apache.org/jira/browse/HBASE-9615
 Project: HBase
  Issue Type: Bug
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9627) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9627:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9627
 URL: https://issues.apache.org/jira/browse/HBASE-9627
 Project: HBase
  Issue Type: New Feature
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-10054) Add the default column compression option

2013-12-01 Thread chunhui shen (JIRA)

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

chunhui shen commented on HBASE-10054:
--

In the above comment, I mean test the compression in CreateTable if add the 
default comression.

In modifyTable addColumnFamily events, should also add the default compression ?

From the patch, I see the config hbase.regionserver.codecs, what's the 
difference with the new config?

 Add the default column compression option
 -

 Key: HBASE-10054
 URL: https://issues.apache.org/jira/browse/HBASE-10054
 Project: HBase
  Issue Type: Improvement
Reporter: Liu Shaohui
Assignee: Liu Shaohui
Priority: Minor
 Attachments: HBASE-10054-0.94-v1.diff, HBASE-10054-trunk-v1.diff


 Add the default column compression option for cluster level.
 If users don't set column compression for a column family, we should use the 
 default column compression.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9621) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9621:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9621
 URL: https://issues.apache.org/jira/browse/HBASE-9621
 Project: HBase
  Issue Type: New Feature
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9624) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9624:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9624
 URL: https://issues.apache.org/jira/browse/HBASE-9624
 Project: HBase
  Issue Type: New Feature
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9618) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9618:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9618
 URL: https://issues.apache.org/jira/browse/HBASE-9618
 Project: HBase
  Issue Type: New Feature
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9617) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9617:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9617
 URL: https://issues.apache.org/jira/browse/HBASE-9617
 Project: HBase
  Issue Type: New Feature
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9625) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9625:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9625
 URL: https://issues.apache.org/jira/browse/HBASE-9625
 Project: HBase
  Issue Type: New Feature
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9626) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9626:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9626
 URL: https://issues.apache.org/jira/browse/HBASE-9626
 Project: HBase
  Issue Type: New Feature
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9620) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9620:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9620
 URL: https://issues.apache.org/jira/browse/HBASE-9620
 Project: HBase
  Issue Type: New Feature
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9616) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9616:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9616
 URL: https://issues.apache.org/jira/browse/HBASE-9616
 Project: HBase
  Issue Type: New Feature
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9623) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9623:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9623
 URL: https://issues.apache.org/jira/browse/HBASE-9623
 Project: HBase
  Issue Type: New Feature
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9619) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9619:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9619
 URL: https://issues.apache.org/jira/browse/HBASE-9619
 Project: HBase
  Issue Type: New Feature
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9622) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9622:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9622
 URL: https://issues.apache.org/jira/browse/HBASE-9622
 Project: HBase
  Issue Type: New Feature
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9614) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9614:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9614
 URL: https://issues.apache.org/jira/browse/HBASE-9614
 Project: HBase
  Issue Type: Bug
Reporter: Liang Xie
Assignee: stack

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9613) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9613:
--

Affects Version/s: (was: 0.98.0)

No patch, unscheduling.

 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9613
 URL: https://issues.apache.org/jira/browse/HBASE-9613
 Project: HBase
  Issue Type: New Feature
  Components: regionserver
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-10049) Small improvments in region_mover.rb

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-10049:
---

Resolution: Fixed
Status: Resolved  (was: Patch Available)

Seems to already be committed, resolving issue.

 Small improvments in region_mover.rb
 

 Key: HBASE-10049
 URL: https://issues.apache.org/jira/browse/HBASE-10049
 Project: HBase
  Issue Type: Improvement
Reporter: Liu Shaohui
Assignee: Liu Shaohui
Priority: Minor
 Fix For: 0.98.0, 0.94.15, 0.96.2

 Attachments: HBASE-10049-0.94-v1.diff, HBASE-10049-0.94-v2.diff, 
 HBASE-10049-trunk-v1.diff


 We use region_mover.rb in the graceful upgrade of hbase cluster.
 Here are small improvements.
 a. remove the table.close(), because  the htable could be reused.
 b. Add more info in the log of moving region.
 c. Add 20s sleep in load command to make sure the rs finished initialization 
 of rpc server. There is a time gap between rs startup report and rpc server 
 initialization.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9613) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Liang Xie (JIRA)

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

Liang Xie commented on HBASE-9613:
--

[~apurtell], it had been done at HBASE-9630 already. The dup issues were 
created during a JIRA outage...

 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9613
 URL: https://issues.apache.org/jira/browse/HBASE-9613
 Project: HBase
  Issue Type: New Feature
  Components: regionserver
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-10005) TestVisibilityLabels fails occasionally

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-10005:
---

Resolution: Fixed
Status: Resolved  (was: Patch Available)

Committed, resolving

 TestVisibilityLabels fails occasionally
 ---

 Key: HBASE-10005
 URL: https://issues.apache.org/jira/browse/HBASE-10005
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.98.0
Reporter: Ted Yu
Assignee: Anoop Sam John
Priority: Blocker
 Fix For: 0.98.0

 Attachments: HBASE-10005.patch, HBASE-10005_addendum.patch, 
 org.apache.hadoop.hbase.security.visibility.TestVisibilityLabels-output.txt


 I got the following test failures running test suite on hadoop-2 where 
 distributed log replay was turned on :
 {code}
 testAddVisibilityLabelsOnRSRestart(org.apache.hadoop.hbase.security.visibility.TestVisibilityLabels)
   Time elapsed: 0.019 sec   FAILURE!
 java.lang.AssertionError: The count should be 8 expected:8 but was:6
   at org.junit.Assert.fail(Assert.java:88)
   at org.junit.Assert.failNotEquals(Assert.java:743)
   at org.junit.Assert.assertEquals(Assert.java:118)
   at org.junit.Assert.assertEquals(Assert.java:555)
   at 
 org.apache.hadoop.hbase.security.visibility.TestVisibilityLabels.testAddVisibilityLabelsOnRSRestart(TestVisibilityLabels.java:408)
 ...
 testClearUserAuths(org.apache.hadoop.hbase.security.visibility.TestVisibilityLabels)
   Time elapsed: 0.002 sec   FAILURE!
 java.lang.AssertionError
   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.security.visibility.TestVisibilityLabels.testClearUserAuths(TestVisibilityLabels.java:505)
 {code}
 Logs to be attached



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-10000) Initiate lease recovery for outstanding WAL files at the very beginning of recovery

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-1:


Should this be committed?

 Initiate lease recovery for outstanding WAL files at the very beginning of 
 recovery
 ---

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

 Attachments: 1-recover-ts-with-pb-2.txt, 
 1-recover-ts-with-pb-2.txt, 1-v1.txt, 1-v4.txt, 1-v5.txt, 
 1-v6.txt


 At the beginning of recovery, master can send lease recovery requests 
 concurrently for outstanding WAL files using a thread pool.
 Each split worker would first check whether the WAL file it processes is 
 closed.
 Thanks to Nicolas Liochon and Jeffery discussion with whom gave rise to this 
 idea. 



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9991) Enhance test-patch.sh with post back of snippet of compilation error if any is detected

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9991:
--

Resolution: Fixed
Status: Resolved  (was: Patch Available)

Already committed, resolving.

 Enhance test-patch.sh with post back of snippet of compilation error if any 
 is detected
 ---

 Key: HBASE-9991
 URL: https://issues.apache.org/jira/browse/HBASE-9991
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Assignee: Ted Yu
 Fix For: 0.98.0

 Attachments: 9991-v1.txt, 9991-v2.txt, 9991.addendum


 Currently test-patch.sh would post back something like this:
 {code}
 -1 hadoop1.0. The patch failed to compile against the hadoop 1.0 profile.
 {code}
 Snippet of the compilation error should be included so that people can see 
 what caused the error.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9994) ZeroCopyLiteralByteString.wrap() should be used in place of ByteString.copyFrom()

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9994:
--

Resolution: Fixed
Status: Resolved  (was: Patch Available)

Already committed, resolving.

 ZeroCopyLiteralByteString.wrap() should be used in place of 
 ByteString.copyFrom()
 -

 Key: HBASE-9994
 URL: https://issues.apache.org/jira/browse/HBASE-9994
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Assignee: Ted Yu
 Fix For: 0.98.0

 Attachments: 9994-v1.txt


 The following classes use ByteString.copyFrom() which should be replaced with 
 ZeroCopyLiteralByteString.wrap() :
 hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.java
 hbase-server/src/main/java/org/apache/hadoop/hbase/codec/MessageCodec.java



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9978) The client retries even if the method is not present on the server

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-9978:
---

You going to commit [~mbertozzi] ?

 The client retries even if the method is not present on the server
 --

 Key: HBASE-9978
 URL: https://issues.apache.org/jira/browse/HBASE-9978
 Project: HBase
  Issue Type: Bug
  Components: Client
Affects Versions: 0.98.0, 0.96.0
Reporter: Matteo Bertozzi
Assignee: Matteo Bertozzi
Priority: Trivial
 Fix For: 0.98.0, 0.96.1

 Attachments: HBASE-9978-v0.patch


 If the RpcServer is not able to find the method on the server throws an 
 UnsupportedOperationException, but since is not wrapped in a DoNotRetry the 
 client keeps retrying even if the operation doesn't exists.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9990) HTable uses the conf for each newCaller

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9990:
--

Fix Version/s: (was: 0.96.1)
   (was: 0.98.0)
   Status: Open  (was: Patch Available)

Stale patch, cancelling and unscheduling.

 HTable uses the conf for each newCaller
 -

 Key: HBASE-9990
 URL: https://issues.apache.org/jira/browse/HBASE-9990
 Project: HBase
  Issue Type: Bug
  Components: Client
Affects Versions: 0.96.0, 0.98.0
Reporter: Nicolas Liochon
Assignee: Nicolas Liochon
 Attachments: 9990.v1.patch


 You can construct a RpcRetryingCallerFactory, but actually the conf is read 
 for each caller creation. Reading the conf is obviously expensive, and a 
 profiling session shows it. If we want to sent hundreds of thousands of 
 queries per second, we should not do that.
 RpcRetryingCallerFactory.newCaller is called for each get, for example.
 This is not a regression, we have something similar in 0.94.
 On the 0.96, we see the creation of: java.util.regex.Matcher: 15739712b after 
 a few thousand calls to get.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9969) Improve KeyValueHeap using loser tree

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-9969:
---

This should either be committed or unscheduled.

 Improve KeyValueHeap using loser tree
 -

 Key: HBASE-9969
 URL: https://issues.apache.org/jira/browse/HBASE-9969
 Project: HBase
  Issue Type: Improvement
  Components: Performance, regionserver
Reporter: Chao Shi
Assignee: Chao Shi
 Fix For: 0.98.0, 0.96.1

 Attachments: 9969-0.94.txt, KeyValueHeapBenchmark_v1.ods, 
 KeyValueHeapBenchmark_v2.ods, hbase-9969-pq-v1.patch, hbase-9969-pq-v2.patch, 
 hbase-9969-v2.patch, hbase-9969-v3.patch, hbase-9969.patch, hbase-9969.patch, 
 kvheap-benchmark.png, kvheap-benchmark.txt


 LoserTree is the better data structure than binary heap. It saves half of the 
 comparisons on each next(), though the time complexity is on O(logN).
 Currently A scan or get will go through two KeyValueHeaps, one is merging KVs 
 read from multiple HFiles in a single store, the other is merging results 
 from multiple stores. This patch should improve the both cases whenever CPU 
 is the bottleneck (e.g. scan with filter over cached blocks, HBASE-9811).
 All of the optimization work is done in KeyValueHeap and does not change its 
 public interfaces. The new code looks more cleaner and simpler to understand.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9884) Add Thrift and REST support for Visibility Labels

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-9884:
---

Looked at the REST parts of the patch, +1

 Add Thrift and REST support for Visibility Labels
 -

 Key: HBASE-9884
 URL: https://issues.apache.org/jira/browse/HBASE-9884
 Project: HBase
  Issue Type: Improvement
  Components: Client
Affects Versions: 0.98.0
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
 Fix For: 0.98.0

 Attachments: HBASE-9884.patch, HBASE-9884_1.patch, HBASE-9884_2.patch


 In HBASE-7663 the REST and thrift support has been seperated out because the 
 patch is becoming bigger.  This JIRA is to add the Thrift and REST part as a 
 seperated patch.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-10000) Initiate lease recovery for outstanding WAL files at the very beginning of recovery

2013-12-01 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-1:


This patch touches important code path.

More review is welcome.

 Initiate lease recovery for outstanding WAL files at the very beginning of 
 recovery
 ---

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

 Attachments: 1-recover-ts-with-pb-2.txt, 
 1-recover-ts-with-pb-2.txt, 1-v1.txt, 1-v4.txt, 1-v5.txt, 
 1-v6.txt


 At the beginning of recovery, master can send lease recovery requests 
 concurrently for outstanding WAL files using a thread pool.
 Each split worker would first check whether the WAL file it processes is 
 closed.
 Thanks to Nicolas Liochon and Jeffery discussion with whom gave rise to this 
 idea. 



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9863) Intermittently TestZooKeeper#testRegionAssignmentAfterMasterRecoveryDueToZKExpiry hangs in admin#createTable() call

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9863:
--

Resolution: Fixed
Status: Resolved  (was: Patch Available)

Already committed, resolving.

 Intermittently 
 TestZooKeeper#testRegionAssignmentAfterMasterRecoveryDueToZKExpiry hangs in 
 admin#createTable() call
 ---

 Key: HBASE-9863
 URL: https://issues.apache.org/jira/browse/HBASE-9863
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
 Fix For: 0.98.0

 Attachments: 9863-v1.txt, 9863-v2.txt, 9863-v3.txt, 9863-v4.txt, 
 9863-v5.txt, 9863-v6.txt


 TestZooKeeper#testRegionAssignmentAfterMasterRecoveryDueToZKExpiry sometimes 
 hung.
 Here were two recent occurrences:
 https://builds.apache.org/job/PreCommit-HBASE-Build/7676/console
 https://builds.apache.org/job/PreCommit-HBASE-Build/7671/console
 There were 9 occurrences of the following in both stack traces:
 {code}
 FifoRpcScheduler.handler1-thread-5 daemon prio=10 tid=0x09df8800 nid=0xc17 
 waiting for monitor entry [0x6fdf8000]
java.lang.Thread.State: BLOCKED (on object monitor)
   at 
 org.apache.hadoop.hbase.master.TableNamespaceManager.isTableAvailableAndInitialized(TableNamespaceManager.java:250)
   - waiting to lock 0x7f69b5f0 (a 
 org.apache.hadoop.hbase.master.TableNamespaceManager)
   at 
 org.apache.hadoop.hbase.master.HMaster.isTableNamespaceManagerReady(HMaster.java:3146)
   at 
 org.apache.hadoop.hbase.master.HMaster.getNamespaceDescriptor(HMaster.java:3105)
   at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1743)
   at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1782)
   at 
 org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:38221)
   at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:1983)
   at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:92)
 {code}
 The test hung here:
 {code}
 pool-1-thread-1 prio=10 tid=0x74f7b800 nid=0x5aa5 in Object.wait() 
 [0x74efe000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
   at java.lang.Object.wait(Native Method)
   - waiting on 0xcc848348 (a org.apache.hadoop.hbase.ipc.RpcClient$Call)
   at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1436)
   - locked 0xcc848348 (a org.apache.hadoop.hbase.ipc.RpcClient$Call)
   at 
 org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1654)
   at 
 org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1712)
   at 
 org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.createTable(MasterProtos.java:40372)
   at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$5.createTable(HConnectionManager.java:1931)
   at org.apache.hadoop.hbase.client.HBaseAdmin$2.call(HBaseAdmin.java:598)
   at org.apache.hadoop.hbase.client.HBaseAdmin$2.call(HBaseAdmin.java:594)
   at 
 org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:116)
   - locked 0x7faa26d0 (a org.apache.hadoop.hbase.client.RpcRetryingCaller)
   at 
 org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:94)
   - locked 0x7faa26d0 (a org.apache.hadoop.hbase.client.RpcRetryingCaller)
   at 
 org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3124)
   at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTableAsync(HBaseAdmin.java:594)
   at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:485)
   at 
 org.apache.hadoop.hbase.TestZooKeeper.testRegionAssignmentAfterMasterRecoveryDueToZKExpiry(TestZooKeeper.java:486)
 {code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9856) Fix some findbugs Performance Warnings

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-9856:
---

Should this be committed?

 Fix some findbugs Performance Warnings
 --

 Key: HBASE-9856
 URL: https://issues.apache.org/jira/browse/HBASE-9856
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Fix For: 0.98.0

 Attachments: 9856-v1.txt


 These are the warnings to be fixed:
 {code}
 SIC Should org.apache.hadoop.hbase.regionserver.HRegion$RowLock be a _static_ 
 inner class?
 UPM Private method 
 org.apache.hadoop.hbase.security.access.AccessController.requirePermission(String,
  String, Permission$Action[]) is never called
 WMI Method 
 org.apache.hadoop.hbase.regionserver.wal.WALEditsReplaySink.replayEntries(List)
  makes inefficient use of keySet iterator instead of entrySet iterator
 {code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9804) Startup option for holding user table deployment

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9804:
--

Affects Version/s: (was: 0.98.0)

 Startup option for holding user table deployment
 

 Key: HBASE-9804
 URL: https://issues.apache.org/jira/browse/HBASE-9804
 Project: HBase
  Issue Type: New Feature
Reporter: Andrew Purtell
Priority: Minor

 Introduce a boolean configuration option, false by default, that if set to 
 'true' will cause the master to set all user tables to disabled state at 
 startup. From there, individual tables can be onlined as normal. Add a new 
 admin method HBA#enableAll for convenience, also a new HBA#disableAll for 
 symmetry. Add shell support for sending those new admin commands.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9856) Fix some findbugs Performance Warnings

2013-12-01 Thread Ted Yu (JIRA)

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

Ted Yu updated HBASE-9856:
--

Attachment: 9856-v2.txt

 Fix some findbugs Performance Warnings
 --

 Key: HBASE-9856
 URL: https://issues.apache.org/jira/browse/HBASE-9856
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Fix For: 0.98.0

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


 These are the warnings to be fixed:
 {code}
 SIC Should org.apache.hadoop.hbase.regionserver.HRegion$RowLock be a _static_ 
 inner class?
 UPM Private method 
 org.apache.hadoop.hbase.security.access.AccessController.requirePermission(String,
  String, Permission$Action[]) is never called
 WMI Method 
 org.apache.hadoop.hbase.regionserver.wal.WALEditsReplaySink.replayEntries(List)
  makes inefficient use of keySet iterator instead of entrySet iterator
 {code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9856) Fix some findbugs Performance Warnings

2013-12-01 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-9856:
---

The change in AccessController.java is no longer needed.

Integrated to trunk.

 Fix some findbugs Performance Warnings
 --

 Key: HBASE-9856
 URL: https://issues.apache.org/jira/browse/HBASE-9856
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Fix For: 0.98.0

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


 These are the warnings to be fixed:
 {code}
 SIC Should org.apache.hadoop.hbase.regionserver.HRegion$RowLock be a _static_ 
 inner class?
 UPM Private method 
 org.apache.hadoop.hbase.security.access.AccessController.requirePermission(String,
  String, Permission$Action[]) is never called
 WMI Method 
 org.apache.hadoop.hbase.regionserver.wal.WALEditsReplaySink.replayEntries(List)
  makes inefficient use of keySet iterator instead of entrySet iterator
 {code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9978) The client retries even if the method is not present on the server

2013-12-01 Thread Elliott Clark (JIRA)

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

Elliott Clark commented on HBASE-9978:
--

+1

 The client retries even if the method is not present on the server
 --

 Key: HBASE-9978
 URL: https://issues.apache.org/jira/browse/HBASE-9978
 Project: HBase
  Issue Type: Bug
  Components: Client
Affects Versions: 0.98.0, 0.96.0
Reporter: Matteo Bertozzi
Assignee: Matteo Bertozzi
Priority: Trivial
 Fix For: 0.98.0, 0.96.1

 Attachments: HBASE-9978-v0.patch


 If the RpcServer is not able to find the method on the server throws an 
 UnsupportedOperationException, but since is not wrapped in a DoNotRetry the 
 client keeps retrying even if the operation doesn't exists.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9762) PutCombiners should add the OperationAttributes if present

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-9762:
---

So sounds like we need OperationAttributeCombiners for the different attributes?

 PutCombiners should add the OperationAttributes if present
 --

 Key: HBASE-9762
 URL: https://issues.apache.org/jira/browse/HBASE-9762
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.98.0, 0.95.2, 0.94.12, 0.96.0
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
 Attachments: HBASE-9762.patch






--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Resolved] (HBASE-9856) Fix some findbugs Performance Warnings

2013-12-01 Thread Ted Yu (JIRA)

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

Ted Yu resolved HBASE-9856.
---

  Resolution: Fixed
Hadoop Flags: Reviewed

 Fix some findbugs Performance Warnings
 --

 Key: HBASE-9856
 URL: https://issues.apache.org/jira/browse/HBASE-9856
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Fix For: 0.98.0

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


 These are the warnings to be fixed:
 {code}
 SIC Should org.apache.hadoop.hbase.regionserver.HRegion$RowLock be a _static_ 
 inner class?
 UPM Private method 
 org.apache.hadoop.hbase.security.access.AccessController.requirePermission(String,
  String, Permission$Action[]) is never called
 WMI Method 
 org.apache.hadoop.hbase.regionserver.wal.WALEditsReplaySink.replayEntries(List)
  makes inefficient use of keySet iterator instead of entrySet iterator
 {code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9754) Eliminate threadlocal from MVCC code

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9754:
--

Resolution: Fixed
Status: Resolved  (was: Patch Available)

This has been committed to trunk, resolving. 

Reopen as necessary when committing to other branches.

 Eliminate threadlocal from MVCC code
 

 Key: HBASE-9754
 URL: https://issues.apache.org/jira/browse/HBASE-9754
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Ted Yu
 Fix For: 0.98.0

 Attachments: 9754-0.94-v2.txt, 9754-0.94.txt, 9754-addendum.txt, 
 9754-rp-0.txt, 9754-rp-1.txt, 9754-rp-hregion-v2.txt, 9754-rp-hregion-v3.txt, 
 9754-rp-hregion.txt


 Brought up by [~vrodionov] and [~yuzhih...@gmail.com].
 Currently we use ThreadLocals to communicate the current readpoint between a 
 RegionScanner and the Store\{File}Scanner's down the stack.
 Since ThreadLocals are not cheap we should consider whether it is possible to 
 pass the readpoint through the call stack instead.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9721) meta assignment did not timeout

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9721:
--

Affects Version/s: 0.98.0
   0.96.0
Fix Version/s: (was: 0.96.1)
   (was: 0.98.0)

 meta assignment did not timeout
 ---

 Key: HBASE-9721
 URL: https://issues.apache.org/jira/browse/HBASE-9721
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.98.0, 0.96.0
Reporter: Enis Soztutar
Assignee: Enis Soztutar

 On a test cluster, this following events happened with ITBLL and CM leading 
 to meta being unavailable until master is restarted. 
 An RS carrying meta died, and master assigned the region to one of the RSs. 
 {code}
 2013-10-03 23:30:06,611 INFO  
 [MASTER_META_SERVER_OPERATIONS-gs-hdp2-secure-1380781860-hbase-12:6-1] 
 master.AssignmentManager: Assigning hbase:meta,,1.1588230740 to 
 gs-hdp2-secure-1380781860-hbase-5.cs1cloud.internal,60020,1380842900820
 2013-10-03 23:30:06,611 INFO  
 [MASTER_META_SERVER_OPERATIONS-gs-hdp2-secure-1380781860-hbase-12:6-1] 
 master.RegionStates: Transitioned {1588230740 state=OFFLINE, 
 ts=1380843006601, server=null} to {1588230740 state=PENDING_OPEN, 
 ts=1380843006611, 
 server=gs-hdp2-secure-1380781860-hbase-5.cs1cloud.internal,60020,1380842900820}
 2013-10-03 23:30:06,611 DEBUG 
 [MASTER_META_SERVER_OPERATIONS-gs-hdp2-secure-1380781860-hbase-12:6-1] 
 master.ServerManager: New admin connection to 
 gs-hdp2-secure-1380781860-hbase-5.cs1cloud.internal,60020,1380842900820
 {code}
 At the same time, the RS that meta recently got assigned also died (due to 
 CM), and restarted: 
 {code}
 2013-10-03 23:30:07,636 DEBUG [RpcServer.handler=17,port=6] 
 master.ServerManager: REPORT: Server 
 gs-hdp2-secure-1380781860-hbase-8.cs1cloud.internal,60020,1380843002494 came 
 back up, removed it from the dead servers list
 2013-10-03 23:30:08,769 INFO  [RpcServer.handler=18,port=6] 
 master.ServerManager: Triggering server recovery; existingServer 
 gs-hdp2-secure-1380781860-hbase-5.cs1cloud.internal,60020,1380842900820 looks 
 stale, new 
 server:gs-hdp2-secure-1380781860-hbase-5.cs1cloud.internal,60020,1380843006362
 2013-10-03 23:30:08,771 DEBUG [RpcServer.handler=18,port=6] 
 master.AssignmentManager: Checking region=hbase:meta,,1.1588230740, zk 
 server=gs-hdp2-secure-1380781860-hbase-5.cs1cloud.internal,60020,1380842900820
  
 current=gs-hdp2-secure-1380781860-hbase-5.cs1cloud.internal,60020,1380842900820,
  matches=true
 2013-10-03 23:30:08,771 DEBUG [RpcServer.handler=18,port=6] 
 master.ServerManager: 
 Added=gs-hdp2-secure-1380781860-hbase-5.cs1cloud.internal,60020,1380842900820 
 to dead servers, submitted shutdown handler to be executed meta=true
 2013-10-03 23:30:08,771 INFO  [RpcServer.handler=18,port=6] 
 master.ServerManager: Registering 
 server=gs-hdp2-secure-1380781860-hbase-5.cs1cloud.internal,60020,1380843006362
 2013-10-03 23:30:08,772 INFO  
 [MASTER_META_SERVER_OPERATIONS-gs-hdp2-secure-1380781860-hbase-12:6-2] 
 handler.MetaServerShutdownHandler: Splitting hbase:meta logs for 
 gs-hdp2-secure-1380781860-hbase-5.cs1cloud.internal,60020,1380842900820
 {code}
 AM/SSH sees that the RS that died was carrying meta, but the assignment RPC 
 request was still not sent:
 {code}
 2013-10-03 23:30:08,791 DEBUG 
 [MASTER_META_SERVER_OPERATIONS-gs-hdp2-secure-1380781860-hbase-12:6-2] 
 master.AssignmentManager: Checking region=hbase:meta,,1.1588230740, zk 
 server=gs-hdp2-secure-1380781860-hbase-5.cs1cloud.internal,60020,1380842900820
  
 current=gs-hdp2-secure-1380781860-hbase-5.cs1cloud.internal,60020,1380842900820,
  matches=true
 2013-10-03 23:30:08,791 INFO  
 [MASTER_META_SERVER_OPERATIONS-gs-hdp2-secure-1380781860-hbase-12:6-2] 
 handler.MetaServerShutdownHandler: Server 
 gs-hdp2-secure-1380781860-hbase-5.cs1cloud.internal,60020,1380842900820 was 
 carrying META. Trying to assign.
 2013-10-03 23:30:08,791 DEBUG 
 [MASTER_META_SERVER_OPERATIONS-gs-hdp2-secure-1380781860-hbase-12:6-2] 
 master.RegionStates: Offline 1588230740 with current state=PENDING_OPEN, 
 expected state=OFFLINE/SPLITTING/MERGING
 2013-10-03 23:30:08,791 INFO  
 [MASTER_META_SERVER_OPERATIONS-gs-hdp2-secure-1380781860-hbase-12:6-2] 
 master.RegionStates: Transitioned {1588230740 state=PENDING_OPEN, 
 ts=1380843006611, 
 server=gs-hdp2-secure-1380781860-hbase-5.cs1cloud.internal,60020,1380842900820}
  to {1588230740 state=OFFLINE, ts=1380843008791, server=null}
 2013-10-03 23:30:09,809 INFO  
 [MASTER_META_SERVER_OPERATIONS-gs-hdp2-secure-1380781860-hbase-12:6-2] 
 zookeeper.ZooKeeperNodeTracker: Unsetting hbase:meta region location in 
 ZooKeeper
 {code}
 Our first attempt at the assign rpc fails, because the new server is now 
 starting. The second attempt though succeeds: 

[jira] [Commented] (HBASE-10061) TableMapReduceUtil.findOrCreateJar calls updateMap(null, ) resulting in thrown NPE

2013-12-01 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-10061:


bq.(like it used to be in previous versions, i.e., 0.94.2) 
You mean this behavior is changed from 94.2?  Know which issue done that change 
any why. Trying to understand the reason for such a change if any.

 TableMapReduceUtil.findOrCreateJar calls updateMap(null, ) resulting in 
 thrown NPE
 --

 Key: HBASE-10061
 URL: https://issues.apache.org/jira/browse/HBASE-10061
 Project: HBase
  Issue Type: Bug
  Components: mapreduce
Affects Versions: 0.94.12
Reporter: Amit Sela

 TableMapReduceUtil.findOrCreateJar line 596:
 jar = getJar(my_class);
 updateMap(jar, packagedClasses);
 In case getJar returns null, updateMap will throw NPE.
 Should check null==jar before calling updateMap.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-4811) Support reverse Scan

2013-12-01 Thread Hudson (JIRA)

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

Hudson commented on HBASE-4811:
---

SUCCESS: Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #859 (See 
[https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/859/])
HBASE-4811 Support reverse Scan (zjushch: rev 1546878)
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionServerCallable.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ReversedClientScanner.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ReversedScannerCallable.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/Filter.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/PrefixFilter.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
* 
/hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java
* 
/hbase/trunk/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java
* /hbase/trunk/hbase-protocol/src/main/protobuf/Client.proto
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/NonReversedNonLazyKeyValueScanner.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ReversedRegionScannerImpl.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/CollectionBackedScanner.java
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilter.java
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/NoOpScanPolicyObserver.java
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompaction.java
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReversibleScanners.java


 Support reverse Scan
 

 Key: HBASE-4811
 URL: https://issues.apache.org/jira/browse/HBASE-4811
 Project: HBase
  Issue Type: New Feature
  Components: Client
Affects Versions: 0.20.6, 0.94.7
Reporter: John Carrino
Assignee: chunhui shen
 Fix For: 0.98.0

 Attachments: 4811-0.94-v22.txt, 4811-0.94-v23.txt, 4811-0.94-v3.txt, 
 4811-trunk-v10.txt, 4811-trunk-v29.patch, 4811-trunk-v5.patch, 
 HBase-4811-0.94-v2.txt, HBase-4811-0.94.3modified.txt, hbase-4811-0.94 
 v21.patch, hbase-4811-0.94-v24.patch, hbase-4811-trunkv1.patch, 
 hbase-4811-trunkv11.patch, hbase-4811-trunkv12.patch, 
 hbase-4811-trunkv13.patch, hbase-4811-trunkv14.patch, 
 hbase-4811-trunkv15.patch, hbase-4811-trunkv16.patch, 
 hbase-4811-trunkv17.patch, hbase-4811-trunkv18.patch, 
 hbase-4811-trunkv19.patch, hbase-4811-trunkv20.patch, 
 hbase-4811-trunkv21.patch, hbase-4811-trunkv24.patch, 
 hbase-4811-trunkv24.patch, hbase-4811-trunkv25.patch, 
 hbase-4811-trunkv26.patch, hbase-4811-trunkv27.patch, 
 hbase-4811-trunkv28.patch, hbase-4811-trunkv4.patch, 
 hbase-4811-trunkv6.patch, hbase-4811-trunkv7.patch, hbase-4811-trunkv8.patch, 
 hbase-4811-trunkv9.patch


 Reversed 

[jira] [Updated] (HBASE-9718) Add a test scope dependency on org.slf4j:slf4j-api to hbase-client

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9718:
--

Priority: Minor  (was: Major)

 Add a test scope dependency on org.slf4j:slf4j-api to hbase-client
 --

 Key: HBASE-9718
 URL: https://issues.apache.org/jira/browse/HBASE-9718
 Project: HBase
  Issue Type: Bug
  Components: Client
Affects Versions: 0.98.0
Reporter: Andrew Purtell
Assignee: Andrew Purtell
Priority: Minor
 Fix For: 0.98.0, 0.96.1

 Attachments: 9718.patch


 hbase-client needs a test scope dependency on org.slf4j:slf4j-api in its POM. 
 Without this change at least Eclipse cannot resolve org.slf4j.Logger from 
 RecoverableZooKeeper - the ZooKeeper classes use it - and so the 
 'hbase-client' project will not build. 



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Resolved] (HBASE-9718) Add a test scope dependency on org.slf4j:slf4j-api to hbase-client

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell resolved HBASE-9718.
---

   Resolution: Fixed
Fix Version/s: 0.96.1
   0.98.0
 Hadoop Flags: Reviewed

I still see this when setting up new Eclipse projects or regenerating them with 
'mvn eclipse:eclipse'. Confirmed again the patch fixes the problem. Committed 
to trunk and 0.96 branch.

 Add a test scope dependency on org.slf4j:slf4j-api to hbase-client
 --

 Key: HBASE-9718
 URL: https://issues.apache.org/jira/browse/HBASE-9718
 Project: HBase
  Issue Type: Bug
  Components: Client
Affects Versions: 0.98.0
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.96.1

 Attachments: 9718.patch


 hbase-client needs a test scope dependency on org.slf4j:slf4j-api in its POM. 
 Without this change at least Eclipse cannot resolve org.slf4j.Logger from 
 RecoverableZooKeeper - the ZooKeeper classes use it - and so the 
 'hbase-client' project will not build. 



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9631) add murmur3 hash

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9631:
--

   Resolution: Fixed
Fix Version/s: 0.98.0
 Release Note: This change provides support for MurmurHash3, the successor 
to MurmurHash2. It is not selected by default but can be used by changing the 
configuration setting hbase.hash.type to murmur3. For new installs only. 
You must not make this change to an existing cluster.
 Hadoop Flags: Reviewed
   Status: Resolved  (was: Patch Available)

Committed to trunk. Thanks for the patch [~xieliang007]

 add murmur3 hash
 

 Key: HBASE-9631
 URL: https://issues.apache.org/jira/browse/HBASE-9631
 Project: HBase
  Issue Type: New Feature
  Components: util
Affects Versions: 0.98.0
Reporter: Liang Xie
Assignee: Liang Xie
 Fix For: 0.98.0

 Attachments: HBase-9631-v2.txt, HBase-9631.txt


 MurmurHash3 is the successor to MurmurHash2. It comes in 3 variants - a 
 32-bit version that targets low latency for hash table use and two 128-bit 
 versions for generating unique identifiers for large blocks of data, one each 
 for x86 and x64 platforms.
 several open source projects have added murmur3 already, like cassandra, 
 mahout, etc.
 I just port the murmur3 from MAHOUT-862. due to compatibility, let's keep the 
 default Hash algo(murmur2) without changing.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9502) HStore.seekToScanner should handle magic value

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-9502:
---

HBASE-9518 has been committed. Based on the above discussion and HadoopQA 
results, this patch is good to go. The patch applies with some fuzz. I'm going 
to regenerate it and submit it to HadoopQA again for another round of tests 
against current trunk. Assuming to commit afterward.

 HStore.seekToScanner should handle magic value
 --

 Key: HBASE-9502
 URL: https://issues.apache.org/jira/browse/HBASE-9502
 Project: HBase
  Issue Type: Bug
  Components: regionserver, Scanners
Affects Versions: 0.98.0, 0.95.2, 0.96.1
Reporter: Liang Xie
Assignee: Liang Xie
 Attachments: HBASE-9502-v2.txt, HBASE-9502.txt


 due to faked key, the seekTo probably reture -2, and HStore.seekToScanner 
 should handle this corner case.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9502) HStore.seekToScanner should handle magic value

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9502:
--

Status: Patch Available  (was: Open)

 HStore.seekToScanner should handle magic value
 --

 Key: HBASE-9502
 URL: https://issues.apache.org/jira/browse/HBASE-9502
 Project: HBase
  Issue Type: Bug
  Components: regionserver, Scanners
Affects Versions: 0.98.0, 0.96.1
Reporter: Liang Xie
Assignee: Liang Xie
 Attachments: 9502-v2.patch, HBASE-9502-v2.txt, HBASE-9502.txt


 due to faked key, the seekTo probably reture -2, and HStore.seekToScanner 
 should handle this corner case.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9502) HStore.seekToScanner should handle magic value

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9502:
--

Affects Version/s: (was: 0.95.2)
   Status: Open  (was: Patch Available)

 HStore.seekToScanner should handle magic value
 --

 Key: HBASE-9502
 URL: https://issues.apache.org/jira/browse/HBASE-9502
 Project: HBase
  Issue Type: Bug
  Components: regionserver, Scanners
Affects Versions: 0.98.0, 0.96.1
Reporter: Liang Xie
Assignee: Liang Xie
 Attachments: 9502-v2.patch, HBASE-9502-v2.txt, HBASE-9502.txt


 due to faked key, the seekTo probably reture -2, and HStore.seekToScanner 
 should handle this corner case.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-4811) Support reverse Scan

2013-12-01 Thread Hudson (JIRA)

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

Hudson commented on HBASE-4811:
---

SUCCESS: Integrated in HBase-TRUNK #4705 (See 
[https://builds.apache.org/job/HBase-TRUNK/4705/])
HBASE-4811 Support reverse Scan (zjushch: rev 1546878)
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionServerCallable.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ReversedClientScanner.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ReversedScannerCallable.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/Filter.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/PrefixFilter.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
* 
/hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java
* 
/hbase/trunk/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java
* /hbase/trunk/hbase-protocol/src/main/protobuf/Client.proto
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/NonReversedNonLazyKeyValueScanner.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ReversedRegionScannerImpl.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/CollectionBackedScanner.java
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilter.java
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/NoOpScanPolicyObserver.java
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompaction.java
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReversibleScanners.java


 Support reverse Scan
 

 Key: HBASE-4811
 URL: https://issues.apache.org/jira/browse/HBASE-4811
 Project: HBase
  Issue Type: New Feature
  Components: Client
Affects Versions: 0.20.6, 0.94.7
Reporter: John Carrino
Assignee: chunhui shen
 Fix For: 0.98.0

 Attachments: 4811-0.94-v22.txt, 4811-0.94-v23.txt, 4811-0.94-v3.txt, 
 4811-trunk-v10.txt, 4811-trunk-v29.patch, 4811-trunk-v5.patch, 
 HBase-4811-0.94-v2.txt, HBase-4811-0.94.3modified.txt, hbase-4811-0.94 
 v21.patch, hbase-4811-0.94-v24.patch, hbase-4811-trunkv1.patch, 
 hbase-4811-trunkv11.patch, hbase-4811-trunkv12.patch, 
 hbase-4811-trunkv13.patch, hbase-4811-trunkv14.patch, 
 hbase-4811-trunkv15.patch, hbase-4811-trunkv16.patch, 
 hbase-4811-trunkv17.patch, hbase-4811-trunkv18.patch, 
 hbase-4811-trunkv19.patch, hbase-4811-trunkv20.patch, 
 hbase-4811-trunkv21.patch, hbase-4811-trunkv24.patch, 
 hbase-4811-trunkv24.patch, hbase-4811-trunkv25.patch, 
 hbase-4811-trunkv26.patch, hbase-4811-trunkv27.patch, 
 hbase-4811-trunkv28.patch, hbase-4811-trunkv4.patch, 
 hbase-4811-trunkv6.patch, hbase-4811-trunkv7.patch, hbase-4811-trunkv8.patch, 
 hbase-4811-trunkv9.patch


 Reversed scan means scan the rows 

[jira] [Updated] (HBASE-9502) HStore.seekToScanner should handle magic value

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9502:
--

Attachment: 9502-v2.patch

 HStore.seekToScanner should handle magic value
 --

 Key: HBASE-9502
 URL: https://issues.apache.org/jira/browse/HBASE-9502
 Project: HBase
  Issue Type: Bug
  Components: regionserver, Scanners
Affects Versions: 0.98.0, 0.96.1
Reporter: Liang Xie
Assignee: Liang Xie
 Attachments: 9502-v2.patch, HBASE-9502-v2.txt, HBASE-9502.txt


 due to faked key, the seekTo probably reture -2, and HStore.seekToScanner 
 should handle this corner case.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Comment Edited] (HBASE-9969) Improve KeyValueHeap using loser tree

2013-12-01 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl edited comment on HBASE-9969 at 12/2/13 6:36 AM:
---

This is not ready to be committed.
In 0.94 I move issues like these to the next point release if I think they are 
generally useful for 0.94 but not quite ready yet, otherwise I unschedule them. 
Unscheduled issues tend to be forgotten.


was (Author: lhofhansl):
This is not ready to be committed.
In 0.94 I generally move issues like these to the next point release if I think 
they are generally useful for 0.94 but not quite ready yet, otherwise I 
unschedule them. Unscheduled issues tend to be forgotten.

 Improve KeyValueHeap using loser tree
 -

 Key: HBASE-9969
 URL: https://issues.apache.org/jira/browse/HBASE-9969
 Project: HBase
  Issue Type: Improvement
  Components: Performance, regionserver
Reporter: Chao Shi
Assignee: Chao Shi
 Fix For: 0.98.0, 0.96.1

 Attachments: 9969-0.94.txt, KeyValueHeapBenchmark_v1.ods, 
 KeyValueHeapBenchmark_v2.ods, hbase-9969-pq-v1.patch, hbase-9969-pq-v2.patch, 
 hbase-9969-v2.patch, hbase-9969-v3.patch, hbase-9969.patch, hbase-9969.patch, 
 kvheap-benchmark.png, kvheap-benchmark.txt


 LoserTree is the better data structure than binary heap. It saves half of the 
 comparisons on each next(), though the time complexity is on O(logN).
 Currently A scan or get will go through two KeyValueHeaps, one is merging KVs 
 read from multiple HFiles in a single store, the other is merging results 
 from multiple stores. This patch should improve the both cases whenever CPU 
 is the bottleneck (e.g. scan with filter over cached blocks, HBASE-9811).
 All of the optimization work is done in KeyValueHeap and does not change its 
 public interfaces. The new code looks more cleaner and simpler to understand.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9969) Improve KeyValueHeap using loser tree

2013-12-01 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-9969:
--

This is not ready to be committed.
In 0.94 I generally move issues like these to the next point release if I think 
they are generally useful for 0.94 but not quite ready yet, otherwise I 
unschedule them. Unscheduled issues tend to be forgotten.

 Improve KeyValueHeap using loser tree
 -

 Key: HBASE-9969
 URL: https://issues.apache.org/jira/browse/HBASE-9969
 Project: HBase
  Issue Type: Improvement
  Components: Performance, regionserver
Reporter: Chao Shi
Assignee: Chao Shi
 Fix For: 0.98.0, 0.96.1

 Attachments: 9969-0.94.txt, KeyValueHeapBenchmark_v1.ods, 
 KeyValueHeapBenchmark_v2.ods, hbase-9969-pq-v1.patch, hbase-9969-pq-v2.patch, 
 hbase-9969-v2.patch, hbase-9969-v3.patch, hbase-9969.patch, hbase-9969.patch, 
 kvheap-benchmark.png, kvheap-benchmark.txt


 LoserTree is the better data structure than binary heap. It saves half of the 
 comparisons on each next(), though the time complexity is on O(logN).
 Currently A scan or get will go through two KeyValueHeaps, one is merging KVs 
 read from multiple HFiles in a single store, the other is merging results 
 from multiple stores. This patch should improve the both cases whenever CPU 
 is the bottleneck (e.g. scan with filter over cached blocks, HBASE-9811).
 All of the optimization work is done in KeyValueHeap and does not change its 
 public interfaces. The new code looks more cleaner and simpler to understand.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9502) HStore.seekToScanner should handle magic value

2013-12-01 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-9502:
--

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12616502/9502-v2.patch
  against trunk revision .

{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 hadoop1.0{color}.  The patch compiles against the hadoop 
1.0 profile.

{color:green}+1 hadoop2.0{color}.  The patch compiles against the hadoop 
2.0 profile.

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

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

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 1.3.9) 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 site goal to 
fail.

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

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8037//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8037//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8037//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8037//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8037//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8037//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8037//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8037//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8037//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8037//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8037//console

This message is automatically generated.

 HStore.seekToScanner should handle magic value
 --

 Key: HBASE-9502
 URL: https://issues.apache.org/jira/browse/HBASE-9502
 Project: HBase
  Issue Type: Bug
  Components: regionserver, Scanners
Affects Versions: 0.98.0, 0.96.1
Reporter: Liang Xie
Assignee: Liang Xie
 Attachments: 9502-v2.patch, HBASE-9502-v2.txt, HBASE-9502.txt


 due to faked key, the seekTo probably reture -2, and HStore.seekToScanner 
 should handle this corner case.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-10000) Initiate lease recovery for outstanding WAL files at the very beginning of recovery

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-1:
---

Fix Version/s: (was: 0.98.0)

Moving out of 0.98

 Initiate lease recovery for outstanding WAL files at the very beginning of 
 recovery
 ---

 Key: HBASE-1
 URL: https://issues.apache.org/jira/browse/HBASE-1
 Project: HBase
  Issue Type: Improvement
Reporter: Ted Yu
Assignee: Ted Yu
 Attachments: 1-recover-ts-with-pb-2.txt, 
 1-recover-ts-with-pb-2.txt, 1-v1.txt, 1-v4.txt, 1-v5.txt, 
 1-v6.txt


 At the beginning of recovery, master can send lease recovery requests 
 concurrently for outstanding WAL files using a thread pool.
 Each split worker would first check whether the WAL file it processes is 
 closed.
 Thanks to Nicolas Liochon and Jeffery discussion with whom gave rise to this 
 idea. 



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-4811) Support reverse Scan

2013-12-01 Thread Liang Xie (JIRA)

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

Liang Xie commented on HBASE-4811:
--

Glad to see it was in trunk now ! will revist our internal reverse scan bug 
fixed list to verify weather existing in trunk version or not, possible need to 
port a bit.

 Support reverse Scan
 

 Key: HBASE-4811
 URL: https://issues.apache.org/jira/browse/HBASE-4811
 Project: HBase
  Issue Type: New Feature
  Components: Client
Affects Versions: 0.20.6, 0.94.7
Reporter: John Carrino
Assignee: chunhui shen
 Fix For: 0.98.0

 Attachments: 4811-0.94-v22.txt, 4811-0.94-v23.txt, 4811-0.94-v3.txt, 
 4811-trunk-v10.txt, 4811-trunk-v29.patch, 4811-trunk-v5.patch, 
 HBase-4811-0.94-v2.txt, HBase-4811-0.94.3modified.txt, hbase-4811-0.94 
 v21.patch, hbase-4811-0.94-v24.patch, hbase-4811-trunkv1.patch, 
 hbase-4811-trunkv11.patch, hbase-4811-trunkv12.patch, 
 hbase-4811-trunkv13.patch, hbase-4811-trunkv14.patch, 
 hbase-4811-trunkv15.patch, hbase-4811-trunkv16.patch, 
 hbase-4811-trunkv17.patch, hbase-4811-trunkv18.patch, 
 hbase-4811-trunkv19.patch, hbase-4811-trunkv20.patch, 
 hbase-4811-trunkv21.patch, hbase-4811-trunkv24.patch, 
 hbase-4811-trunkv24.patch, hbase-4811-trunkv25.patch, 
 hbase-4811-trunkv26.patch, hbase-4811-trunkv27.patch, 
 hbase-4811-trunkv28.patch, hbase-4811-trunkv4.patch, 
 hbase-4811-trunkv6.patch, hbase-4811-trunkv7.patch, hbase-4811-trunkv8.patch, 
 hbase-4811-trunkv9.patch


 Reversed scan means scan the rows backward. 
 And StartRow bigger than StopRow in a reversed scan.
 For example, for the following rows:
 aaa/c1:q1/value1
 aaa/c1:q2/value2
 bbb/c1:q1/value1
 bbb/c1:q2/value2
 ccc/c1:q1/value1
 ccc/c1:q2/value2
 ddd/c1:q1/value1
 ddd/c1:q2/value2
 eee/c1:q1/value1
 eee/c1:q2/value2
 you could do a reversed scan from 'ddd' to 'bbb'(exclude) like this:
 Scan scan = new Scan();
 scan.setStartRow('ddd');
 scan.setStopRow('bbb');
 scan.setReversed(true);
 for(Result result:htable.getScanner(scan)){
  System.out.println(result);
 }
 Aslo you could do the reversed scan with shell like this:
 hbase scan 'table',{REVERSED = true,STARTROW='ddd', STOPROW='bbb'}
 And the output is:
 ddd/c1:q1/value1
 ddd/c1:q2/value2
 ccc/c1:q1/value1
 ccc/c1:q2/value2
 All the documentation I find about HBase says that if you want forward and 
 reverse scans you should just build 2 tables and one be ascending and one 
 descending.  Is there a fundamental reason that HBase only supports forward 
 Scan?  It seems like a lot of extra space overhead and coding overhead (to 
 keep them in sync) to support 2 tables.  
 I am assuming this has been discussed before, but I can't find the 
 discussions anywhere about it or why it would be infeasible.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9969) Improve KeyValueHeap using loser tree

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-9969:
---

Ok. Moved out of 0.98.0.

 Improve KeyValueHeap using loser tree
 -

 Key: HBASE-9969
 URL: https://issues.apache.org/jira/browse/HBASE-9969
 Project: HBase
  Issue Type: Improvement
  Components: Performance, regionserver
Reporter: Chao Shi
Assignee: Chao Shi
 Fix For: 0.96.1, 0.98.1

 Attachments: 9969-0.94.txt, KeyValueHeapBenchmark_v1.ods, 
 KeyValueHeapBenchmark_v2.ods, hbase-9969-pq-v1.patch, hbase-9969-pq-v2.patch, 
 hbase-9969-v2.patch, hbase-9969-v3.patch, hbase-9969.patch, hbase-9969.patch, 
 kvheap-benchmark.png, kvheap-benchmark.txt


 LoserTree is the better data structure than binary heap. It saves half of the 
 comparisons on each next(), though the time complexity is on O(logN).
 Currently A scan or get will go through two KeyValueHeaps, one is merging KVs 
 read from multiple HFiles in a single store, the other is merging results 
 from multiple stores. This patch should improve the both cases whenever CPU 
 is the bottleneck (e.g. scan with filter over cached blocks, HBASE-9811).
 All of the optimization work is done in KeyValueHeap and does not change its 
 public interfaces. The new code looks more cleaner and simpler to understand.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-9613) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-9613:
---

Thanks [~xieliang007]. I will delete this one also. The issues are definitely 
weird, they don't allow me to resolve them, I can only delete them.

 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9613
 URL: https://issues.apache.org/jira/browse/HBASE-9613
 Project: HBase
  Issue Type: New Feature
  Components: regionserver
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-9969) Improve KeyValueHeap using loser tree

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-9969:
--

Fix Version/s: (was: 0.98.0)
   0.98.1

 Improve KeyValueHeap using loser tree
 -

 Key: HBASE-9969
 URL: https://issues.apache.org/jira/browse/HBASE-9969
 Project: HBase
  Issue Type: Improvement
  Components: Performance, regionserver
Reporter: Chao Shi
Assignee: Chao Shi
 Fix For: 0.96.1, 0.98.1

 Attachments: 9969-0.94.txt, KeyValueHeapBenchmark_v1.ods, 
 KeyValueHeapBenchmark_v2.ods, hbase-9969-pq-v1.patch, hbase-9969-pq-v2.patch, 
 hbase-9969-v2.patch, hbase-9969-v3.patch, hbase-9969.patch, hbase-9969.patch, 
 kvheap-benchmark.png, kvheap-benchmark.txt


 LoserTree is the better data structure than binary heap. It saves half of the 
 comparisons on each next(), though the time complexity is on O(logN).
 Currently A scan or get will go through two KeyValueHeaps, one is merging KVs 
 read from multiple HFiles in a single store, the other is merging results 
 from multiple stores. This patch should improve the both cases whenever CPU 
 is the bottleneck (e.g. scan with filter over cached blocks, HBASE-9811).
 All of the optimization work is done in KeyValueHeap and does not change its 
 public interfaces. The new code looks more cleaner and simpler to understand.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Deleted] (HBASE-9613) Add thread which detects JVM pauses like HADOOP's

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell deleted HBASE-9613:
--


 Add thread which detects JVM pauses like HADOOP's
 -

 Key: HBASE-9613
 URL: https://issues.apache.org/jira/browse/HBASE-9613
 Project: HBase
  Issue Type: New Feature
Reporter: Liang Xie
Assignee: Liang Xie

 Todd adds daemon threads for dnnn to indicate the VM or kernel caused pause 
 in application log, it's pretty handy for diagnose, i thought it's great to 
 have similar ability in HBase.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (HBASE-4811) Support reverse Scan

2013-12-01 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-4811:
--

Cool.

 Support reverse Scan
 

 Key: HBASE-4811
 URL: https://issues.apache.org/jira/browse/HBASE-4811
 Project: HBase
  Issue Type: New Feature
  Components: Client
Affects Versions: 0.20.6, 0.94.7
Reporter: John Carrino
Assignee: chunhui shen
 Fix For: 0.98.0

 Attachments: 4811-0.94-v22.txt, 4811-0.94-v23.txt, 4811-0.94-v3.txt, 
 4811-trunk-v10.txt, 4811-trunk-v29.patch, 4811-trunk-v5.patch, 
 HBase-4811-0.94-v2.txt, HBase-4811-0.94.3modified.txt, hbase-4811-0.94 
 v21.patch, hbase-4811-0.94-v24.patch, hbase-4811-trunkv1.patch, 
 hbase-4811-trunkv11.patch, hbase-4811-trunkv12.patch, 
 hbase-4811-trunkv13.patch, hbase-4811-trunkv14.patch, 
 hbase-4811-trunkv15.patch, hbase-4811-trunkv16.patch, 
 hbase-4811-trunkv17.patch, hbase-4811-trunkv18.patch, 
 hbase-4811-trunkv19.patch, hbase-4811-trunkv20.patch, 
 hbase-4811-trunkv21.patch, hbase-4811-trunkv24.patch, 
 hbase-4811-trunkv24.patch, hbase-4811-trunkv25.patch, 
 hbase-4811-trunkv26.patch, hbase-4811-trunkv27.patch, 
 hbase-4811-trunkv28.patch, hbase-4811-trunkv4.patch, 
 hbase-4811-trunkv6.patch, hbase-4811-trunkv7.patch, hbase-4811-trunkv8.patch, 
 hbase-4811-trunkv9.patch


 Reversed scan means scan the rows backward. 
 And StartRow bigger than StopRow in a reversed scan.
 For example, for the following rows:
 aaa/c1:q1/value1
 aaa/c1:q2/value2
 bbb/c1:q1/value1
 bbb/c1:q2/value2
 ccc/c1:q1/value1
 ccc/c1:q2/value2
 ddd/c1:q1/value1
 ddd/c1:q2/value2
 eee/c1:q1/value1
 eee/c1:q2/value2
 you could do a reversed scan from 'ddd' to 'bbb'(exclude) like this:
 Scan scan = new Scan();
 scan.setStartRow('ddd');
 scan.setStopRow('bbb');
 scan.setReversed(true);
 for(Result result:htable.getScanner(scan)){
  System.out.println(result);
 }
 Aslo you could do the reversed scan with shell like this:
 hbase scan 'table',{REVERSED = true,STARTROW='ddd', STOPROW='bbb'}
 And the output is:
 ddd/c1:q1/value1
 ddd/c1:q2/value2
 ccc/c1:q1/value1
 ccc/c1:q2/value2
 All the documentation I find about HBase says that if you want forward and 
 reverse scans you should just build 2 tables and one be ascending and one 
 descending.  Is there a fundamental reason that HBase only supports forward 
 Scan?  It seems like a lot of extra space overhead and coding overhead (to 
 keep them in sync) to support 2 tables.  
 I am assuming this has been discussed before, but I can't find the 
 discussions anywhere about it or why it would be infeasible.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Created] (HBASE-10062) Store the encrypted data length in the block encryption header instead of plaintext length

2013-12-01 Thread Andrew Purtell (JIRA)
Andrew Purtell created HBASE-10062:
--

 Summary: Store the encrypted data length in the block encryption 
header instead of plaintext length
 Key: HBASE-10062
 URL: https://issues.apache.org/jira/browse/HBASE-10062
 Project: HBase
  Issue Type: Improvement
Reporter: Andrew Purtell
Assignee: Andrew Purtell
Priority: Minor
 Fix For: 0.98.0


After HBASE-7544, if an HFile belongs to an encrypted family, it is encrypted 
on a per block basis. The encrypted blocks include the following header:
{noformat}
  // +--+
  // | vint plaintext length|
  // +--+
  // | vint iv length   |
  // +--+
  // | iv data ...  |
  // +--+
  // | encrypted block data ... |
  // +--+
{noformat}

The reason for storing the plaintext length is so we can create an encryption 
stream over the encrypted block data and, no matter the internal details of the 
crypto algorithm (whether it adds padding, etc.) after reading the expected 
plaintext bytes we know the reader is finished. However my colleague Jerry Chen 
pointed out today this construction mandates the block be processed exactly 
that way. Storing and using the encrypted data length instead could provide 
more implementation flexibility down the road.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (HBASE-10062) Store the encrypted data length in the block encryption header instead of plaintext length

2013-12-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-10062:
---

Description: 
After HBASE-7544, if an HFile belongs to an encrypted family, it is encrypted 
on a per block basis. The encrypted blocks include the following header:
{noformat}
  // +--+
  // | vint plaintext length|
  // +--+
  // | vint iv length   |
  // +--+
  // | iv data ...  |
  // +--+
  // | encrypted block data ... |
  // +--+
{noformat}

The reason for storing the plaintext length is so we can create an decryption 
stream over the encrypted block data and, no matter the internal details of the 
crypto algorithm (whether it adds padding, etc.) after reading the expected 
plaintext bytes we know the reader is finished. However my colleague Jerry Chen 
pointed out today this construction mandates the block be processed exactly 
that way. Storing and using the encrypted data length instead could provide 
more implementation flexibility down the road.

  was:
After HBASE-7544, if an HFile belongs to an encrypted family, it is encrypted 
on a per block basis. The encrypted blocks include the following header:
{noformat}
  // +--+
  // | vint plaintext length|
  // +--+
  // | vint iv length   |
  // +--+
  // | iv data ...  |
  // +--+
  // | encrypted block data ... |
  // +--+
{noformat}

The reason for storing the plaintext length is so we can create an encryption 
stream over the encrypted block data and, no matter the internal details of the 
crypto algorithm (whether it adds padding, etc.) after reading the expected 
plaintext bytes we know the reader is finished. However my colleague Jerry Chen 
pointed out today this construction mandates the block be processed exactly 
that way. Storing and using the encrypted data length instead could provide 
more implementation flexibility down the road.


 Store the encrypted data length in the block encryption header instead of 
 plaintext length
 --

 Key: HBASE-10062
 URL: https://issues.apache.org/jira/browse/HBASE-10062
 Project: HBase
  Issue Type: Improvement
Reporter: Andrew Purtell
Assignee: Andrew Purtell
Priority: Minor
 Fix For: 0.98.0


 After HBASE-7544, if an HFile belongs to an encrypted family, it is encrypted 
 on a per block basis. The encrypted blocks include the following header:
 {noformat}
   // +--+
   // | vint plaintext length|
   // +--+
   // | vint iv length   |
   // +--+
   // | iv data ...  |
   // +--+
   // | encrypted block data ... |
   // +--+
 {noformat}
 The reason for storing the plaintext length is so we can create an decryption 
 stream over the encrypted block data and, no matter the internal details of 
 the crypto algorithm (whether it adds padding, etc.) after reading the 
 expected plaintext bytes we know the reader is finished. However my colleague 
 Jerry Chen pointed out today this construction mandates the block be 
 processed exactly that way. Storing and using the encrypted data length 
 instead could provide more implementation flexibility down the road.



--
This message was sent by Atlassian JIRA
(v6.1#6144)