[jira] [Commented] (HBASE-8055) Potentially missing null check in StoreFile.Reader.getMaxTimestamp()

2013-03-11 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-8055:
--

Apparently on our side that happened when a generated HFile somehow bypassed 
our HFile validation.

At the very least I would like to add the simple missing null-check here (as 
suggested in the description).
I will do so, unless I hear objections.

(In that case we might be able to undo the changes in HBASE-7581, but I won't 
do that as part of this jira)

 Potentially missing null check in StoreFile.Reader.getMaxTimestamp()
 

 Key: HBASE-8055
 URL: https://issues.apache.org/jira/browse/HBASE-8055
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
 Fix For: 0.95.0, 0.98.0, 0.94.7


 We just ran into a scenario where we got the following NPE:
 {code}
 13/03/08 11:52:13 INFO regionserver.Store: Successfully loaded store file 
 file:/tmp/hfile-import-00Dxx001lmJ-09CxxJm/COLFAM/file09CxxJm
  into store COLFAM (new location: 
 file:/tmp/localhbase/data/SFDC.ENTITY_HISTORY_ARCHIVE/aeacee43aaf1748c6e60b9cc12bcac3d/COLFAM/120d683414e44478984b50ddd79b6826)
 13/03/08 11:52:13 ERROR regionserver.HRegionServer: Failed openScanner
 java.lang.NullPointerException
 at 
 org.apache.hadoop.hbase.regionserver.StoreFile$Reader.getMaxTimestamp(StoreFile.java:1702)
 at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:301)
 at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:127)
 at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2070)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3383)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1628)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1620)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1596)
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2342)
 at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1400)
 13/03/08 11:52:14 ERROR regionserver.HRegionServer: Failed openScanner
 {code}
 It's not clear, yet, how we got into this situation (we are generating HFiles 
 via HFileOutputFormat and bulk load those). It seems that can only happen 
 when the HFile itself is corrupted.
 Looking at the code, though, I see this is the only place where we access 
 StoreFile.reader.timeRangeTracker without a null check. So it appears we are 
 expecting scenarios in which it can be null.
 A simple fix would be:
 {code}
 public long getMaxTimestamp() {
   return timeRangeTracker == null ? Long.MAX_VALUE : 
 timeRangeTracker.maximumTimestamp;
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8055) Potentially missing null check in StoreFile.Reader.getMaxTimestamp()

2013-03-11 Thread stack (JIRA)

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

stack commented on HBASE-8055:
--

Lets see a patch.  We have a null-check now (NPE -- smile).  Interested to see 
what you will do when you encounter null down here.

 Potentially missing null check in StoreFile.Reader.getMaxTimestamp()
 

 Key: HBASE-8055
 URL: https://issues.apache.org/jira/browse/HBASE-8055
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
 Fix For: 0.95.0, 0.98.0, 0.94.7


 We just ran into a scenario where we got the following NPE:
 {code}
 13/03/08 11:52:13 INFO regionserver.Store: Successfully loaded store file 
 file:/tmp/hfile-import-00Dxx001lmJ-09CxxJm/COLFAM/file09CxxJm
  into store COLFAM (new location: 
 file:/tmp/localhbase/data/SFDC.ENTITY_HISTORY_ARCHIVE/aeacee43aaf1748c6e60b9cc12bcac3d/COLFAM/120d683414e44478984b50ddd79b6826)
 13/03/08 11:52:13 ERROR regionserver.HRegionServer: Failed openScanner
 java.lang.NullPointerException
 at 
 org.apache.hadoop.hbase.regionserver.StoreFile$Reader.getMaxTimestamp(StoreFile.java:1702)
 at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:301)
 at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:127)
 at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2070)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3383)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1628)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1620)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1596)
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2342)
 at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1400)
 13/03/08 11:52:14 ERROR regionserver.HRegionServer: Failed openScanner
 {code}
 It's not clear, yet, how we got into this situation (we are generating HFiles 
 via HFileOutputFormat and bulk load those). It seems that can only happen 
 when the HFile itself is corrupted.
 Looking at the code, though, I see this is the only place where we access 
 StoreFile.reader.timeRangeTracker without a null check. So it appears we are 
 expecting scenarios in which it can be null.
 A simple fix would be:
 {code}
 public long getMaxTimestamp() {
   return timeRangeTracker == null ? Long.MAX_VALUE : 
 timeRangeTracker.maximumTimestamp;
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8055) Potentially missing null check in StoreFile.Reader.getMaxTimestamp()

2013-03-11 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-8055:
---

Patch looks good.

 Potentially missing null check in StoreFile.Reader.getMaxTimestamp()
 

 Key: HBASE-8055
 URL: https://issues.apache.org/jira/browse/HBASE-8055
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
 Fix For: 0.95.0, 0.98.0, 0.94.7

 Attachments: 8055-0.94.txt


 We just ran into a scenario where we got the following NPE:
 {code}
 13/03/08 11:52:13 INFO regionserver.Store: Successfully loaded store file 
 file:/tmp/hfile-import-00Dxx001lmJ-09CxxJm/COLFAM/file09CxxJm
  into store COLFAM (new location: 
 file:/tmp/localhbase/data/SFDC.ENTITY_HISTORY_ARCHIVE/aeacee43aaf1748c6e60b9cc12bcac3d/COLFAM/120d683414e44478984b50ddd79b6826)
 13/03/08 11:52:13 ERROR regionserver.HRegionServer: Failed openScanner
 java.lang.NullPointerException
 at 
 org.apache.hadoop.hbase.regionserver.StoreFile$Reader.getMaxTimestamp(StoreFile.java:1702)
 at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:301)
 at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:127)
 at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2070)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3383)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1628)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1620)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1596)
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2342)
 at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1400)
 13/03/08 11:52:14 ERROR regionserver.HRegionServer: Failed openScanner
 {code}
 It's not clear, yet, how we got into this situation (we are generating HFiles 
 via HFileOutputFormat and bulk load those). It seems that can only happen 
 when the HFile itself is corrupted.
 Looking at the code, though, I see this is the only place where we access 
 StoreFile.reader.timeRangeTracker without a null check. So it appears we are 
 expecting scenarios in which it can be null.
 A simple fix would be:
 {code}
 public long getMaxTimestamp() {
   return timeRangeTracker == null ? Long.MAX_VALUE : 
 timeRangeTracker.maximumTimestamp;
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8055) Potentially missing null check in StoreFile.Reader.getMaxTimestamp()

2013-03-11 Thread stack (JIRA)

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

stack commented on HBASE-8055:
--

+1

 Potentially missing null check in StoreFile.Reader.getMaxTimestamp()
 

 Key: HBASE-8055
 URL: https://issues.apache.org/jira/browse/HBASE-8055
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
 Fix For: 0.95.0, 0.98.0, 0.94.7

 Attachments: 8055-0.94.txt


 We just ran into a scenario where we got the following NPE:
 {code}
 13/03/08 11:52:13 INFO regionserver.Store: Successfully loaded store file 
 file:/tmp/hfile-import-00Dxx001lmJ-09CxxJm/COLFAM/file09CxxJm
  into store COLFAM (new location: 
 file:/tmp/localhbase/data/SFDC.ENTITY_HISTORY_ARCHIVE/aeacee43aaf1748c6e60b9cc12bcac3d/COLFAM/120d683414e44478984b50ddd79b6826)
 13/03/08 11:52:13 ERROR regionserver.HRegionServer: Failed openScanner
 java.lang.NullPointerException
 at 
 org.apache.hadoop.hbase.regionserver.StoreFile$Reader.getMaxTimestamp(StoreFile.java:1702)
 at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:301)
 at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:127)
 at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2070)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3383)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1628)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1620)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1596)
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2342)
 at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1400)
 13/03/08 11:52:14 ERROR regionserver.HRegionServer: Failed openScanner
 {code}
 It's not clear, yet, how we got into this situation (we are generating HFiles 
 via HFileOutputFormat and bulk load those). It seems that can only happen 
 when the HFile itself is corrupted.
 Looking at the code, though, I see this is the only place where we access 
 StoreFile.reader.timeRangeTracker without a null check. So it appears we are 
 expecting scenarios in which it can be null.
 A simple fix would be:
 {code}
 public long getMaxTimestamp() {
   return timeRangeTracker == null ? Long.MAX_VALUE : 
 timeRangeTracker.maximumTimestamp;
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8055) Potentially missing null check in StoreFile.Reader.getMaxTimestamp()

2013-03-09 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-8055:
--

I spent some time looking through the code. I can't see where this goes wrong.
Checked the following:
* bulk load will open the reader in all code paths (if the open was missing the 
metadata would not have been loaded)
* in all circumstances the StoreFile's metadata is written. I had initially 
suspected the adhoc splitting in bulk load, but that code copies the metadata 
from the original file.
* record writer in HFileOutputFormat writes the metadata

Not sure where else to look. In any case, we should either remove all the other 
null-checks for timeRangeTracker or add the same null-check to the only methods 
where this is not done.
Even then, I'd be worried about how this came about.


 Potentially missing null check in StoreFile.Reader.getMaxTimestamp()
 

 Key: HBASE-8055
 URL: https://issues.apache.org/jira/browse/HBASE-8055
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
 Fix For: 0.95.0, 0.98.0, 0.94.7


 We just ran into a scenario where we got the following NPE:
 {code}
 13/03/08 11:52:13 INFO regionserver.Store: Successfully loaded store file 
 file:/tmp/hfile-import-00Dxx001lmJ-09CxxJm/COLFAM/file09CxxJm
  into store COLFAM (new location: 
 file:/tmp/localhbase/data/SFDC.ENTITY_HISTORY_ARCHIVE/aeacee43aaf1748c6e60b9cc12bcac3d/COLFAM/120d683414e44478984b50ddd79b6826)
 13/03/08 11:52:13 ERROR regionserver.HRegionServer: Failed openScanner
 java.lang.NullPointerException
 at 
 org.apache.hadoop.hbase.regionserver.StoreFile$Reader.getMaxTimestamp(StoreFile.java:1702)
 at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:301)
 at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:127)
 at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2070)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3383)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1628)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1620)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1596)
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2342)
 at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1400)
 13/03/08 11:52:14 ERROR regionserver.HRegionServer: Failed openScanner
 {code}
 It's not clear, yet, how we got into this situation (we are generating HFiles 
 via HFileOutputFormat and bulk load those). It seems that can only happen 
 when the HFile itself is corrupted.
 Looking at the code, though, I see this is the only place where we access 
 StoreFile.reader.timeRangeTracker without a null check. So it appears we are 
 expecting scenarios in which it can be null.
 A simple fix would be:
 {code}
 public long getMaxTimestamp() {
   return timeRangeTracker == null ? Long.MAX_VALUE : 
 timeRangeTracker.maximumTimestamp;
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8055) Potentially missing null check in StoreFile.Reader.getMaxTimestamp()

2013-03-09 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-8055:
--

Oh and one more comment - just so it's all here: If a table disable/re-enable 
fixed the problem in HBASE-7581 that would point to a problem during bulk load.


 Potentially missing null check in StoreFile.Reader.getMaxTimestamp()
 

 Key: HBASE-8055
 URL: https://issues.apache.org/jira/browse/HBASE-8055
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
 Fix For: 0.95.0, 0.98.0, 0.94.7


 We just ran into a scenario where we got the following NPE:
 {code}
 13/03/08 11:52:13 INFO regionserver.Store: Successfully loaded store file 
 file:/tmp/hfile-import-00Dxx001lmJ-09CxxJm/COLFAM/file09CxxJm
  into store COLFAM (new location: 
 file:/tmp/localhbase/data/SFDC.ENTITY_HISTORY_ARCHIVE/aeacee43aaf1748c6e60b9cc12bcac3d/COLFAM/120d683414e44478984b50ddd79b6826)
 13/03/08 11:52:13 ERROR regionserver.HRegionServer: Failed openScanner
 java.lang.NullPointerException
 at 
 org.apache.hadoop.hbase.regionserver.StoreFile$Reader.getMaxTimestamp(StoreFile.java:1702)
 at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:301)
 at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:127)
 at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2070)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3383)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1628)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1620)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1596)
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2342)
 at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1400)
 13/03/08 11:52:14 ERROR regionserver.HRegionServer: Failed openScanner
 {code}
 It's not clear, yet, how we got into this situation (we are generating HFiles 
 via HFileOutputFormat and bulk load those). It seems that can only happen 
 when the HFile itself is corrupted.
 Looking at the code, though, I see this is the only place where we access 
 StoreFile.reader.timeRangeTracker without a null check. So it appears we are 
 expecting scenarios in which it can be null.
 A simple fix would be:
 {code}
 public long getMaxTimestamp() {
   return timeRangeTracker == null ? Long.MAX_VALUE : 
 timeRangeTracker.maximumTimestamp;
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8055) Potentially missing null check in StoreFile.Reader.getMaxTimestamp()

2013-03-08 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-8055:
--

If anybody has any ideas of why we can encounter a null timeRangeTracker here, 
I would love to hear them.
(By the way, this code has been around for a while - since HBASE-4465)


 Potentially missing null check in StoreFile.Reader.getMaxTimestamp()
 

 Key: HBASE-8055
 URL: https://issues.apache.org/jira/browse/HBASE-8055
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
 Fix For: 0.94.7


 We just ran into a scenario where we got the following NPE:
 {code}
 13/03/08 11:52:13 INFO regionserver.Store: Successfully loaded store file 
 file:/tmp/hfile-import-00Dxx001lmJ-09CxxJm/COLFAM/file09CxxJm
  into store COLFAM (new location: 
 file:/tmp/localhbase/data/SFDC.ENTITY_HISTORY_ARCHIVE/aeacee43aaf1748c6e60b9cc12bcac3d/COLFAM/120d683414e44478984b50ddd79b6826)
 13/03/08 11:52:13 ERROR regionserver.HRegionServer: Failed openScanner
 java.lang.NullPointerException
 at 
 org.apache.hadoop.hbase.regionserver.StoreFile$Reader.getMaxTimestamp(StoreFile.java:1702)
 at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:301)
 at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:127)
 at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2070)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3383)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1628)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1620)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1596)
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2342)
 at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1400)
 13/03/08 11:52:14 ERROR regionserver.HRegionServer: Failed openScanner
 {code}
 It's not clear, yet, how we got into this situation (we are generating HFiles 
 via HFileOutputFormat and bulk load those). It seems that can only happen 
 when the HFile itself is corrupted.
 Looking at the code, though, I see this is the only place where we access 
 StoreFile.reader.timeRangeTracker without a null check. So it appears we are 
 expecting scenarios in which it can be null.
 A simple fix would be:
 {code}
 public long getMaxTimestamp() {
   return timeRangeTracker == null ? Long.MAX_VALUE : 
 timeRangeTracker.maximumTimestamp;
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8055) Potentially missing null check in StoreFile.Reader.getMaxTimestamp()

2013-03-08 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-8055:
--

Looks like HBASE-7581 is related.

 Potentially missing null check in StoreFile.Reader.getMaxTimestamp()
 

 Key: HBASE-8055
 URL: https://issues.apache.org/jira/browse/HBASE-8055
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
 Fix For: 0.94.7


 We just ran into a scenario where we got the following NPE:
 {code}
 13/03/08 11:52:13 INFO regionserver.Store: Successfully loaded store file 
 file:/tmp/hfile-import-00Dxx001lmJ-09CxxJm/COLFAM/file09CxxJm
  into store COLFAM (new location: 
 file:/tmp/localhbase/data/SFDC.ENTITY_HISTORY_ARCHIVE/aeacee43aaf1748c6e60b9cc12bcac3d/COLFAM/120d683414e44478984b50ddd79b6826)
 13/03/08 11:52:13 ERROR regionserver.HRegionServer: Failed openScanner
 java.lang.NullPointerException
 at 
 org.apache.hadoop.hbase.regionserver.StoreFile$Reader.getMaxTimestamp(StoreFile.java:1702)
 at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:301)
 at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:127)
 at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2070)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3383)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1628)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1620)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1596)
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2342)
 at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1400)
 13/03/08 11:52:14 ERROR regionserver.HRegionServer: Failed openScanner
 {code}
 It's not clear, yet, how we got into this situation (we are generating HFiles 
 via HFileOutputFormat and bulk load those). It seems that can only happen 
 when the HFile itself is corrupted.
 Looking at the code, though, I see this is the only place where we access 
 StoreFile.reader.timeRangeTracker without a null check. So it appears we are 
 expecting scenarios in which it can be null.
 A simple fix would be:
 {code}
 public long getMaxTimestamp() {
   return timeRangeTracker == null ? Long.MAX_VALUE : 
 timeRangeTracker.maximumTimestamp;
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8055) Potentially missing null check in StoreFile.Reader.getMaxTimestamp()

2013-03-08 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-8055:
---

HBASE-7581 was about TestAccessController.
Could there be a typo above ?

 Potentially missing null check in StoreFile.Reader.getMaxTimestamp()
 

 Key: HBASE-8055
 URL: https://issues.apache.org/jira/browse/HBASE-8055
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
 Fix For: 0.94.7


 We just ran into a scenario where we got the following NPE:
 {code}
 13/03/08 11:52:13 INFO regionserver.Store: Successfully loaded store file 
 file:/tmp/hfile-import-00Dxx001lmJ-09CxxJm/COLFAM/file09CxxJm
  into store COLFAM (new location: 
 file:/tmp/localhbase/data/SFDC.ENTITY_HISTORY_ARCHIVE/aeacee43aaf1748c6e60b9cc12bcac3d/COLFAM/120d683414e44478984b50ddd79b6826)
 13/03/08 11:52:13 ERROR regionserver.HRegionServer: Failed openScanner
 java.lang.NullPointerException
 at 
 org.apache.hadoop.hbase.regionserver.StoreFile$Reader.getMaxTimestamp(StoreFile.java:1702)
 at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:301)
 at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:127)
 at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2070)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3383)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1628)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1620)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1596)
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2342)
 at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1400)
 13/03/08 11:52:14 ERROR regionserver.HRegionServer: Failed openScanner
 {code}
 It's not clear, yet, how we got into this situation (we are generating HFiles 
 via HFileOutputFormat and bulk load those). It seems that can only happen 
 when the HFile itself is corrupted.
 Looking at the code, though, I see this is the only place where we access 
 StoreFile.reader.timeRangeTracker without a null check. So it appears we are 
 expecting scenarios in which it can be null.
 A simple fix would be:
 {code}
 public long getMaxTimestamp() {
   return timeRangeTracker == null ? Long.MAX_VALUE : 
 timeRangeTracker.maximumTimestamp;
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8055) Potentially missing null check in StoreFile.Reader.getMaxTimestamp()

2013-03-08 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-8055:
--

[~yuzhih...@gmail.com] Check the stack trace on HBASE-7581. :)

 Potentially missing null check in StoreFile.Reader.getMaxTimestamp()
 

 Key: HBASE-8055
 URL: https://issues.apache.org/jira/browse/HBASE-8055
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
 Fix For: 0.94.7


 We just ran into a scenario where we got the following NPE:
 {code}
 13/03/08 11:52:13 INFO regionserver.Store: Successfully loaded store file 
 file:/tmp/hfile-import-00Dxx001lmJ-09CxxJm/COLFAM/file09CxxJm
  into store COLFAM (new location: 
 file:/tmp/localhbase/data/SFDC.ENTITY_HISTORY_ARCHIVE/aeacee43aaf1748c6e60b9cc12bcac3d/COLFAM/120d683414e44478984b50ddd79b6826)
 13/03/08 11:52:13 ERROR regionserver.HRegionServer: Failed openScanner
 java.lang.NullPointerException
 at 
 org.apache.hadoop.hbase.regionserver.StoreFile$Reader.getMaxTimestamp(StoreFile.java:1702)
 at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:301)
 at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:127)
 at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2070)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3383)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1628)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1620)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1596)
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2342)
 at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1400)
 13/03/08 11:52:14 ERROR regionserver.HRegionServer: Failed openScanner
 {code}
 It's not clear, yet, how we got into this situation (we are generating HFiles 
 via HFileOutputFormat and bulk load those). It seems that can only happen 
 when the HFile itself is corrupted.
 Looking at the code, though, I see this is the only place where we access 
 StoreFile.reader.timeRangeTracker without a null check. So it appears we are 
 expecting scenarios in which it can be null.
 A simple fix would be:
 {code}
 public long getMaxTimestamp() {
   return timeRangeTracker == null ? Long.MAX_VALUE : 
 timeRangeTracker.maximumTimestamp;
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8055) Potentially missing null check in StoreFile.Reader.getMaxTimestamp()

2013-03-08 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-8055:
--

I do not understand the fix in HBASE-7581. Are we saying after a bulk load we 
have to disable/enable the table?!

 Potentially missing null check in StoreFile.Reader.getMaxTimestamp()
 

 Key: HBASE-8055
 URL: https://issues.apache.org/jira/browse/HBASE-8055
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
 Fix For: 0.94.7


 We just ran into a scenario where we got the following NPE:
 {code}
 13/03/08 11:52:13 INFO regionserver.Store: Successfully loaded store file 
 file:/tmp/hfile-import-00Dxx001lmJ-09CxxJm/COLFAM/file09CxxJm
  into store COLFAM (new location: 
 file:/tmp/localhbase/data/SFDC.ENTITY_HISTORY_ARCHIVE/aeacee43aaf1748c6e60b9cc12bcac3d/COLFAM/120d683414e44478984b50ddd79b6826)
 13/03/08 11:52:13 ERROR regionserver.HRegionServer: Failed openScanner
 java.lang.NullPointerException
 at 
 org.apache.hadoop.hbase.regionserver.StoreFile$Reader.getMaxTimestamp(StoreFile.java:1702)
 at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:301)
 at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:127)
 at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2070)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3383)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1628)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1620)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1596)
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2342)
 at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1400)
 13/03/08 11:52:14 ERROR regionserver.HRegionServer: Failed openScanner
 {code}
 It's not clear, yet, how we got into this situation (we are generating HFiles 
 via HFileOutputFormat and bulk load those). It seems that can only happen 
 when the HFile itself is corrupted.
 Looking at the code, though, I see this is the only place where we access 
 StoreFile.reader.timeRangeTracker without a null check. So it appears we are 
 expecting scenarios in which it can be null.
 A simple fix would be:
 {code}
 public long getMaxTimestamp() {
   return timeRangeTracker == null ? Long.MAX_VALUE : 
 timeRangeTracker.maximumTimestamp;
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8055) Potentially missing null check in StoreFile.Reader.getMaxTimestamp()

2013-03-08 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-8055:
---

{code}
try {
  byte [] timerangeBytes = metadataMap.get(TIMERANGE_KEY);
  if (timerangeBytes != null) {
this.reader.timeRangeTracker = new TimeRangeTracker();
Writables.copyWritable(timerangeBytes, this.reader.timeRangeTracker);
  }
} catch (IllegalArgumentException e) {
  LOG.error(Error reading timestamp range data from meta --  +
  proceeding without, e);
  this.reader.timeRangeTracker = null;
{code}
If you don't find Error reading timestamp range data from meta --  in log 
file, I guess metadataMap.get(TIMERANGE_KEY) returned null.

 Potentially missing null check in StoreFile.Reader.getMaxTimestamp()
 

 Key: HBASE-8055
 URL: https://issues.apache.org/jira/browse/HBASE-8055
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
 Fix For: 0.95.0, 0.98.0, 0.94.7


 We just ran into a scenario where we got the following NPE:
 {code}
 13/03/08 11:52:13 INFO regionserver.Store: Successfully loaded store file 
 file:/tmp/hfile-import-00Dxx001lmJ-09CxxJm/COLFAM/file09CxxJm
  into store COLFAM (new location: 
 file:/tmp/localhbase/data/SFDC.ENTITY_HISTORY_ARCHIVE/aeacee43aaf1748c6e60b9cc12bcac3d/COLFAM/120d683414e44478984b50ddd79b6826)
 13/03/08 11:52:13 ERROR regionserver.HRegionServer: Failed openScanner
 java.lang.NullPointerException
 at 
 org.apache.hadoop.hbase.regionserver.StoreFile$Reader.getMaxTimestamp(StoreFile.java:1702)
 at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:301)
 at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:127)
 at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2070)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3383)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1628)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1620)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1596)
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2342)
 at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1400)
 13/03/08 11:52:14 ERROR regionserver.HRegionServer: Failed openScanner
 {code}
 It's not clear, yet, how we got into this situation (we are generating HFiles 
 via HFileOutputFormat and bulk load those). It seems that can only happen 
 when the HFile itself is corrupted.
 Looking at the code, though, I see this is the only place where we access 
 StoreFile.reader.timeRangeTracker without a null check. So it appears we are 
 expecting scenarios in which it can be null.
 A simple fix would be:
 {code}
 public long getMaxTimestamp() {
   return timeRangeTracker == null ? Long.MAX_VALUE : 
 timeRangeTracker.maximumTimestamp;
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8055) Potentially missing null check in StoreFile.Reader.getMaxTimestamp()

2013-03-08 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-8055:
--

Yep. That was my conclusion as well.
 Still not sure how that happened. HBASE-7581 seems to show one such scenario

 Potentially missing null check in StoreFile.Reader.getMaxTimestamp()
 

 Key: HBASE-8055
 URL: https://issues.apache.org/jira/browse/HBASE-8055
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
 Fix For: 0.95.0, 0.98.0, 0.94.7


 We just ran into a scenario where we got the following NPE:
 {code}
 13/03/08 11:52:13 INFO regionserver.Store: Successfully loaded store file 
 file:/tmp/hfile-import-00Dxx001lmJ-09CxxJm/COLFAM/file09CxxJm
  into store COLFAM (new location: 
 file:/tmp/localhbase/data/SFDC.ENTITY_HISTORY_ARCHIVE/aeacee43aaf1748c6e60b9cc12bcac3d/COLFAM/120d683414e44478984b50ddd79b6826)
 13/03/08 11:52:13 ERROR regionserver.HRegionServer: Failed openScanner
 java.lang.NullPointerException
 at 
 org.apache.hadoop.hbase.regionserver.StoreFile$Reader.getMaxTimestamp(StoreFile.java:1702)
 at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:301)
 at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:127)
 at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2070)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3383)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1628)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1620)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1596)
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2342)
 at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1400)
 13/03/08 11:52:14 ERROR regionserver.HRegionServer: Failed openScanner
 {code}
 It's not clear, yet, how we got into this situation (we are generating HFiles 
 via HFileOutputFormat and bulk load those). It seems that can only happen 
 when the HFile itself is corrupted.
 Looking at the code, though, I see this is the only place where we access 
 StoreFile.reader.timeRangeTracker without a null check. So it appears we are 
 expecting scenarios in which it can be null.
 A simple fix would be:
 {code}
 public long getMaxTimestamp() {
   return timeRangeTracker == null ? Long.MAX_VALUE : 
 timeRangeTracker.maximumTimestamp;
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8055) Potentially missing null check in StoreFile.Reader.getMaxTimestamp()

2013-03-08 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-8055:
---

I think reader.timeRangeTracker shouldn't be null upon exiting open().
reader.timeRangeTracker should be initialized in the above two cases.

 Potentially missing null check in StoreFile.Reader.getMaxTimestamp()
 

 Key: HBASE-8055
 URL: https://issues.apache.org/jira/browse/HBASE-8055
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
 Fix For: 0.95.0, 0.98.0, 0.94.7


 We just ran into a scenario where we got the following NPE:
 {code}
 13/03/08 11:52:13 INFO regionserver.Store: Successfully loaded store file 
 file:/tmp/hfile-import-00Dxx001lmJ-09CxxJm/COLFAM/file09CxxJm
  into store COLFAM (new location: 
 file:/tmp/localhbase/data/SFDC.ENTITY_HISTORY_ARCHIVE/aeacee43aaf1748c6e60b9cc12bcac3d/COLFAM/120d683414e44478984b50ddd79b6826)
 13/03/08 11:52:13 ERROR regionserver.HRegionServer: Failed openScanner
 java.lang.NullPointerException
 at 
 org.apache.hadoop.hbase.regionserver.StoreFile$Reader.getMaxTimestamp(StoreFile.java:1702)
 at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:301)
 at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:127)
 at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2070)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3383)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1628)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1620)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1596)
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2342)
 at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1400)
 13/03/08 11:52:14 ERROR regionserver.HRegionServer: Failed openScanner
 {code}
 It's not clear, yet, how we got into this situation (we are generating HFiles 
 via HFileOutputFormat and bulk load those). It seems that can only happen 
 when the HFile itself is corrupted.
 Looking at the code, though, I see this is the only place where we access 
 StoreFile.reader.timeRangeTracker without a null check. So it appears we are 
 expecting scenarios in which it can be null.
 A simple fix would be:
 {code}
 public long getMaxTimestamp() {
   return timeRangeTracker == null ? Long.MAX_VALUE : 
 timeRangeTracker.maximumTimestamp;
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8055) Potentially missing null check in StoreFile.Reader.getMaxTimestamp()

2013-03-08 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-8055:
--

I'd agree. I wonder why there are all the other null checks, though.

 Potentially missing null check in StoreFile.Reader.getMaxTimestamp()
 

 Key: HBASE-8055
 URL: https://issues.apache.org/jira/browse/HBASE-8055
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
 Fix For: 0.95.0, 0.98.0, 0.94.7


 We just ran into a scenario where we got the following NPE:
 {code}
 13/03/08 11:52:13 INFO regionserver.Store: Successfully loaded store file 
 file:/tmp/hfile-import-00Dxx001lmJ-09CxxJm/COLFAM/file09CxxJm
  into store COLFAM (new location: 
 file:/tmp/localhbase/data/SFDC.ENTITY_HISTORY_ARCHIVE/aeacee43aaf1748c6e60b9cc12bcac3d/COLFAM/120d683414e44478984b50ddd79b6826)
 13/03/08 11:52:13 ERROR regionserver.HRegionServer: Failed openScanner
 java.lang.NullPointerException
 at 
 org.apache.hadoop.hbase.regionserver.StoreFile$Reader.getMaxTimestamp(StoreFile.java:1702)
 at 
 org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:301)
 at 
 org.apache.hadoop.hbase.regionserver.StoreScanner.init(StoreScanner.java:127)
 at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2070)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.init(HRegion.java:3383)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1628)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1620)
 at 
 org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1596)
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2342)
 at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1400)
 13/03/08 11:52:14 ERROR regionserver.HRegionServer: Failed openScanner
 {code}
 It's not clear, yet, how we got into this situation (we are generating HFiles 
 via HFileOutputFormat and bulk load those). It seems that can only happen 
 when the HFile itself is corrupted.
 Looking at the code, though, I see this is the only place where we access 
 StoreFile.reader.timeRangeTracker without a null check. So it appears we are 
 expecting scenarios in which it can be null.
 A simple fix would be:
 {code}
 public long getMaxTimestamp() {
   return timeRangeTracker == null ? Long.MAX_VALUE : 
 timeRangeTracker.maximumTimestamp;
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira