[
https://issues.apache.org/jira/browse/HBASE-16012?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15340855#comment-15340855
]
Duo Zhang commented on HBASE-16012:
-----------------------------------
[~lhofhansl] The exception is thrown inside the constructor. We haven't setup a
lease yet at that time...
And yes, there are some design patterns say that you should not put much code
in the constructor, especially if it throws exceptions, instead, use an 'init'
method. But this is not the target of this issue I think.
Thanks.
> Major compaction can't work because left scanner read point in RegionServer
> ---------------------------------------------------------------------------
>
> Key: HBASE-16012
> URL: https://issues.apache.org/jira/browse/HBASE-16012
> Project: HBase
> Issue Type: Bug
> Components: Compaction, Scanners
> Affects Versions: 2.0.0, 0.94.27, 1.1.6, 1.3.1, 0.98.21, 1.2.3
> Reporter: Guanghao Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-16012-v1.patch, HBASE-16012-v2.patch,
> HBASE-16012-v3.patch, HBASE-16012-v4.patch, HBASE-16012.patch
>
>
> When new RegionScanner, it will add a scanner read point in
> scannerReadPoints. But if we got a exception after add read point, the read
> point will keep in regions server and the delete after this mvcc number will
> never be compacted.
> Our hbase version is base 0.94. If it throws other exception when initialize
> RegionScanner, the master branch has this bug, too.
> ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: Failed openScanner
> java.io.IOException: Could not seek StoreFileScanner
> at
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek(StoreFileScanner.java:160)
> at
> org.apache.hadoop.hbase.regionserver.StoreScanner.seekScanners(StoreScanner.java:268)
> at
> org.apache.hadoop.hbase.regionserver.StoreScanner.<init>(StoreScanner.java:168)
> at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2232)
> at
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.<init>(HRegion.java:4026)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1895)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1879)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1854)
> at
> org.apache.hadoop.hbase.regionserver.HRegionServer.internalOpenScanner(HRegionServer.java:3032)
> at
> org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2995)
> at sun.reflect.GeneratedMethodAccessor67.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.SecureRpcEngine$Server.call(SecureRpcEngine.java:338)
> at
> org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1595)
> Caused by: org.apache.hadoop.hbase.ipc.CallerDisconnectedException: Aborting
> call openScanner, since caller disconnected
> at
> org.apache.hadoop.hbase.ipc.HBaseServer$Call.throwExceptionIfCallerDisconnected(HBaseServer.java:475)
> at
> org.apache.hadoop.hbase.io.hfile.HFileBlock$AbstractFSReader.readAtOffset(HFileBlock.java:1443)
> at
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderV2.readBlockDataInternal(HFileBlock.java:1902)
> at
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderV2.readBlockData(HFileBlock.java:1766)
> at
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2.readBlock(HFileReaderV2.java:345)
> at
> org.apache.hadoop.hbase.io.hfile.HFileBlockIndex$BlockIndexReader.loadDataBlockWithScanInfo(HFileBlockIndex.java:254)
> at
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2$AbstractScannerV2.seekTo(HFileReaderV2.java:499)
> at
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2$AbstractScannerV2.seekTo(HFileReaderV2.java:520)
> at
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekAtOrAfter(StoreFileScanner.java:235)
> at
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek(StoreFileScanner.java:148)
> ... 14 more
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)