You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org> on 2010/04/29 22:52:56 UTC
[jira] Created: (HBASE-2503) PriorityQueue isn't thread safe,
KeyValueHeap uses it that way
PriorityQueue isn't thread safe, KeyValueHeap uses it that way
--------------------------------------------------------------
Key: HBASE-2503
URL: https://issues.apache.org/jira/browse/HBASE-2503
Project: Hadoop HBase
Issue Type: Bug
Affects Versions: 0.20.3
Reporter: Jean-Daniel Cryans
Assignee: Jean-Daniel Cryans
Priority: Critical
Fix For: 0.20.5, 0.21.0
In the same spirit as HBASE-2077, but a bit different (at least to me). Dave Latham had the following NPE killing a RS:
{code}
Exception in thread "regionserver/192.168.41.2:60020.leaseChecker" java.lang.NullPointerException
at org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:127)
at org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:117)
at java.util.PriorityQueue.siftDownUsingComparator(PriorityQueue.java:644)
at java.util.PriorityQueue.siftDown(PriorityQueue.java:612)
at java.util.PriorityQueue.poll(PriorityQueue.java:523)
at org.apache.hadoop.hbase.regionserver.KeyValueHeap.close(KeyValueHeap.java:151)
at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.close(HRegion.java:1862)
at org.apache.hadoop.hbase.regionserver.HRegionServer$ScannerListener.leaseExpired(HRegionServer.java:1959)
at org.apache.hadoop.hbase.Leases.run(Leases.java:98)
{code}
He also has the same stack traces from 2077. The PQ javadoc says this class is not thread safe, but it is used by the leaseChecker thread and the client threads. We need to use something like the BlockingPriorityQueue instead.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (HBASE-2503) PriorityQueue isn't thread safe,
KeyValueHeap uses it that way
Posted by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-2503?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jean-Daniel Cryans resolved HBASE-2503.
---------------------------------------
Hadoop Flags: [Reviewed]
Resolution: Fixed
Thanks for the reviewed Todd.
It passes the test, committed to branch and trunk.
> PriorityQueue isn't thread safe, KeyValueHeap uses it that way
> --------------------------------------------------------------
>
> Key: HBASE-2503
> URL: https://issues.apache.org/jira/browse/HBASE-2503
> Project: Hadoop HBase
> Issue Type: Bug
> Affects Versions: 0.20.3
> Reporter: Jean-Daniel Cryans
> Assignee: Jean-Daniel Cryans
> Priority: Critical
> Fix For: 0.20.5, 0.21.0
>
> Attachments: HBASE-2503.patch
>
>
> In the same spirit as HBASE-2077, but a bit different (at least to me). Dave Latham had the following NPE killing a RS:
> {code}
> Exception in thread "regionserver/192.168.41.2:60020.leaseChecker" java.lang.NullPointerException
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:127)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:117)
> at java.util.PriorityQueue.siftDownUsingComparator(PriorityQueue.java:644)
> at java.util.PriorityQueue.siftDown(PriorityQueue.java:612)
> at java.util.PriorityQueue.poll(PriorityQueue.java:523)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.close(KeyValueHeap.java:151)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.close(HRegion.java:1862)
> at org.apache.hadoop.hbase.regionserver.HRegionServer$ScannerListener.leaseExpired(HRegionServer.java:1959)
> at org.apache.hadoop.hbase.Leases.run(Leases.java:98)
> {code}
> He also has the same stack traces from 2077. The PQ javadoc says this class is not thread safe, but it is used by the leaseChecker thread and the client threads. We need to use something like the BlockingPriorityQueue instead.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.