hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-12274) Race between RegionScannerImpl#nextInternal() and RegionScannerImpl#close() may produce null pointer exception
Date Wed, 15 Oct 2014 21:27:34 GMT

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

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

> Race between RegionScannerImpl#nextInternal() and RegionScannerImpl#close() may produce
null pointer exception
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-12274
>                 URL: https://issues.apache.org/jira/browse/HBASE-12274
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.98.6.1
>            Reporter: Ted Yu
>         Attachments: 12274-v1.txt, 12274-v2.txt
>
>
> I saw the following in region server log:
> {code}
> 2014-10-15 03:28:36,976 ERROR [B.DefaultRpcServer.handler=0,queue=0,port=60020] ipc.RpcServer:
Unexpected throwable object
> java.lang.NullPointerException
>   at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextInternal(HRegion.java:5023)
>   at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextRaw(HRegion.java:4932)
>   at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextRaw(HRegion.java:4923)
>   at org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3245)
>   at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29994)
>   at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2078)
>   at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108)
>   at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114)
>   at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:94)
>   at java.lang.Thread.run(Thread.java:745)
> {code}
> This is where the NPE happened:
> {code}
>         // Let's see what we have in the storeHeap.
>         KeyValue current = this.storeHeap.peek();
> {code}
> The cause was race between nextInternal(called through nextRaw) and close methods.
> nextRaw() is not synchronized.



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

Mime
View raw message