[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-11 Thread Hudson (JIRA)

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

Hudson commented on HBASE-10117:


SUCCESS: Integrated in HBase-TRUNK-on-Hadoop-1.1 #4 (See 
[https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-1.1/4/])
HBASE-10117 Avoid synchronization in HRegionScannerImpl.isFilterDone (larsh: 
rev 1549920)
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java


 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-11 Thread Hudson (JIRA)

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

Hudson commented on HBASE-10117:


SUCCESS: Integrated in HBase-0.98-on-Hadoop-1.1 #6 (See 
[https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/6/])
HBASE-10117 Avoid synchronization in HRegionScannerImpl.isFilterDone (larsh: 
rev 1549921)
* 
/hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java


 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-11 Thread Hudson (JIRA)

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

Hudson commented on HBASE-10117:


SUCCESS: Integrated in hbase-0.96-hadoop2 #147 (See 
[https://builds.apache.org/job/hbase-0.96-hadoop2/147/])
HBASE-10117 Avoid synchronization in HRegionScannerImpl.isFilterDone (larsh: 
rev 1549922)
* 
/hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java


 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-10 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-10117:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12618003/10117-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 hadoop1.1{color}.  The patch compiles against the hadoop 
1.1 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:red}-1 findbugs{color}.  The patch appears to introduce 2 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.TestSplitTransactionOnCluster

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

This message is automatically generated.

 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-10 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-10117:
---

The test failure is unrelated. Will commit this afternoon. (the Phoenix change 
is already integrated :) )

 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-10 Thread stack (JIRA)

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

stack commented on HBASE-10117:
---

+1 on change.

 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-10 Thread Nick Dimiduk (JIRA)

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

Nick Dimiduk commented on HBASE-10117:
--

Nice one Lars.

 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-10 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-10117:


Ran TestSplitTransactionOnCluster with patch and it passed.

+1

 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-10117:


SUCCESS: Integrated in HBase-0.94 #1223 (See 
[https://builds.apache.org/job/HBase-0.94/1223/])
HBASE-10117 Avoid synchronization in HRegionScannerImpl.isFilterDone (larsh: 
rev 1549917)
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java


 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-10117:


SUCCESS: Integrated in HBase-0.94-security #356 (See 
[https://builds.apache.org/job/HBase-0.94-security/356/])
HBASE-10117 Avoid synchronization in HRegionScannerImpl.isFilterDone (larsh: 
rev 1549917)
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java


 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-10117:


SUCCESS: Integrated in HBase-TRUNK #4719 (See 
[https://builds.apache.org/job/HBase-TRUNK/4719/])
HBASE-10117 Avoid synchronization in HRegionScannerImpl.isFilterDone (larsh: 
rev 1549920)
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java


 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-10117:


SUCCESS: Integrated in HBase-0.98 #7 (See 
[https://builds.apache.org/job/HBase-0.98/7/])
HBASE-10117 Avoid synchronization in HRegionScannerImpl.isFilterDone (larsh: 
rev 1549921)
* 
/hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java


 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-10 Thread Hudson (JIRA)

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

Hudson commented on HBASE-10117:


SUCCESS: Integrated in hbase-0.96 #221 (See 
[https://builds.apache.org/job/hbase-0.96/221/])
HBASE-10117 Avoid synchronization in HRegionScannerImpl.isFilterDone (larsh: 
rev 1549922)
* 
/hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java


 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-10 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-10117:
---

Numbers... 20m rows, 1 col. simple {{select count(1) ...}}

||without patch|| with patch || with patch + Phoenix patch||
|8.8s|8.1s|7.4s|

 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-09 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-10117:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12617988/10117-trunk.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 hadoop1.1{color}.  The patch compiles against the hadoop 
1.1 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:red}-1 findbugs{color}.  The patch appears to introduce 2 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/8116//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8116//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8116//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8116//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8116//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8116//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8116//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8116//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8116//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8116//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8116//console

This message is automatically generated.

 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-09 Thread stack (JIRA)

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

stack commented on HBASE-10117:
---

bq. Now, why is RegionScannerImpl synchronized at all? Do we ever have multiple 
client threads at the same time call next() on the same RegionScanner?

You the man [~lhofhansl]  Can we do anything to ensure multiple threads from 
same client is just not possible?


 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

2013-12-09 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-10117:
---

Was thinking that in next() (0.94) we remove the scanner from the set of 
current scanners; when next() is done we'd put it back. That way all 
synchronization is handled by the scanners map, and we can still ensure that 
no two client threads can ever use the same scanner at the same time.

Would be a bit tricky to reason about leases then (a lease could expire before 
we put the scanner back into the scanners map).

That all said, if a scanner is used with scanner caching  1 and this simple 
change is committed I do not expect any great improvements from removing 
synchronization from the remaining methods.


 Avoid synchronization in HRegionScannerImpl.isFilterDone
 

 Key: HBASE-10117
 URL: https://issues.apache.org/jira/browse/HBASE-10117
 Project: HBase
  Issue Type: Bug
  Components: Performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0

 Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
 10117-trunk-v2.txt, 10117-trunk.txt


 A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
 and scanners with caching  1 to avoid repeated synchronization during 
 scanning (which puts up memory fences, which in turn slows things down on 
 multi core machines).
 Looking at the code again I see that isFilterDone() is called from nextRaw() 
 and isFilterDone() is synchronized.
 The caller of nextRaw is required to ensure single threaded access to 
 nextRaw() anyway, we can call an unsynchronized internal version of 
 isFilterDone().



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)