[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread James Taylor (JIRA)

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

James Taylor commented on HBASE-9915:
-

+1. Fantastic, [~lhofhansl]! Great work.

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94.txt, profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Jean-Marc Spaggiari (JIRA)

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

Jean-Marc Spaggiari commented on HBASE-9915:


Have you compared the performances with and without? I have a fresh 0.94 perf 
test running, I can try to apply this and re-run to see the difference...

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94.txt, profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-9915:
---

Nice finding.

+1

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94.txt, profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Jimmy Xiang (JIRA)

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

Jimmy Xiang commented on HBASE-9915:


Great. +1.

There is another performance related issue with encoded scanner.  In 
DataBlockEncoding#isCorrectEncoder, it checks the wrong class.  So it ends up 
always return false, a new encoder is created for each encoded data block. I 
will fix this in HBASE-9870.

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94-v2.txt, 9915-0.94.txt, profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-9915:
--

[~jmspaggi] Yeah, did some count queries in Phoenix. Without patch they took 
27s with the patch they take 14s. You'll see the improvement if (1) you use a 
block encoder (like FAST_DIFF, etc) and (2) you added some columns to you scan 
object (so that the ExplicitColumnTracker is used under the hood). I am not 
sure any the the performance evaluation tests do that (and if not, we should 
probably add that).

Making a trunk patch now for a full test run.

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94-v2.txt, 9915-0.94.txt, profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Jean-Marc Spaggiari (JIRA)

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

Jean-Marc Spaggiari commented on HBASE-9915:


Is it possible to add some comments for isSeeked ? Like, what it's based on, 
and why, etc.?

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94-v2.txt, 9915-0.94.txt, profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread stack (JIRA)

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

stack commented on HBASE-9915:
--

Good one [~lhofhansl].  You ain't just a pretty face.

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94-v2.txt, 9915-0.94.txt, profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-9915:
--

Checked again. My first patch should be safer. block == null should be 
equivalent to seeker == null, but at other places we change block != null, so 
it's better to do this here as well.

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94.txt, 9915-trunk.txt, profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Sergey Shelukhin (JIRA)

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

Sergey Shelukhin commented on HBASE-9915:
-

looks good!

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94.txt, 9915-trunk.txt, profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-9915:
---

Wow

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94.txt, 9915-trunk-v2.txt, 9915-trunk.txt, 
 profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-9915:
---

+1

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94.txt, 9915-trunk-v2.txt, 9915-trunk.txt, 
 profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-9915:
--

Will commit if HadoopQA does not find any problems.

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94.txt, 9915-trunk-v2.txt, 9915-trunk.txt, 
 profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-9915:
--

Some number with Phoenix. 5m rows, 5 long columns, 8 byte rowkeys, FAST_DIFF 
encoding, table fully flushed and major compacted, everything in the blockcache.
(some weirdly named columns, this was a preexisting table that I mapped into 
Phoenix - with CREATE TABLE).

||Query||Without Patch||With Patch||
|select count\(*) from my5|12.8s|9.7s|
|select count\(*) from my5 where 3 = 1|23.5s|11.8s|
|select count\(*) from my5 where 3  1|34.8s|15.6s|
|select avg(3) from my5|35.6s|17.4s|
|select avg(0), avg(3) from my5|36.5s|20.2s|
|select avg(0), avg(3) from my5 where 4 = 1|31.8s|15.4s|
|select avg(0), avg(3) from my5 where 4  1|46.4s|25.1s|

Note that Phoenix adds a fake column to each row (so each row has a known KV 
for things like COUNT) and (almost) always uses the ExplicitColumnTracker.


 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94.txt, 9915-trunk-v2.txt, 9915-trunk.txt, 
 profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-9915:
--

HadoopQA just failed due an environment issue.

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94.txt, 9915-trunk-v2.txt, 9915-trunk-v2.txt, 
 9915-trunk.txt, profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-9915:
--

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12612716/9915-trunk-v2.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:green}+1 hadoop2.0{color}.  The patch compiles against the hadoop 
2.0 profile.

{color:red}-1 javadoc{color}.  The javadoc tool appears to have generated 1 
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/7784//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7784//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7784//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7784//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7784//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7784//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7784//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7784//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7784//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7784//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7784//console

This message is automatically generated.

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94.txt, 9915-trunk-v2.txt, 9915-trunk-v2.txt, 
 9915-trunk.txt, profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-9915:
---

The 0.94 patch passed a private Jenkins run.

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94.txt, 9915-trunk-v2.txt, 9915-trunk-v2.txt, 
 9915-trunk.txt, profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-9915:
--

Thanks Andy. Looks like HadoopQA was OK after all. Will check the Javadoc 
warning.

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94.txt, 9915-trunk-v2.txt, 9915-trunk-v2.txt, 
 9915-trunk.txt, profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-9915:
--

The Javadoc warning is not from this. Going to commit a bit later. Nice 
improvement from a 10 line change :)

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94.txt, 9915-trunk-v2.txt, 9915-trunk-v2.txt, 
 9915-trunk.txt, profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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


[jira] [Commented] (HBASE-9915) Severe performance bug: isSeeked() in EncodedScannerV2 is always false

2013-11-07 Thread stack (JIRA)

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

stack commented on HBASE-9915:
--

It is 9 lines two of which are empty lines and a third is '@Override'.  Nice 
numbers.

 Severe performance bug: isSeeked() in EncodedScannerV2 is always false
 --

 Key: HBASE-9915
 URL: https://issues.apache.org/jira/browse/HBASE-9915
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.98.0, 0.96.1, 0.94.14

 Attachments: 9915-0.94.txt, 9915-trunk-v2.txt, 9915-trunk-v2.txt, 
 9915-trunk.txt, profile.png


 While debugging why reseek is so slow I found that it is quite broken for 
 encoded scanners.
 The problem is this:
 AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was 
 seeked or not. If it was it checks whether the KV we want to seek to is in 
 the current block, if not it always consults the index blocks again.
 isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 
 and thus always returns false, which in turns causes an index lookup for each 
 reseek.



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