[
https://issues.apache.org/jira/browse/HBASE-17887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15987115#comment-15987115
]
Chia-Ping Tsai commented on HBASE-17887:
----------------------------------------
The store file created by lastest MemStore flush may not be loaded when the
StoreScanner updates the scanner.
{code}
@Override
public void updateReaders(List<StoreFile> sfs) throws IOException {
flushed = true;
flushLock.lock();
try {
flushedStoreFiles.addAll(sfs);
} finally {
flushLock.unlock();
}
// Let the next() call handle re-creating and seeking
}
{code}
{code}
protected void resetScannerStack(Cell lastTopKey) throws IOException {
List<KeyValueScanner> scanners = null;
try {
flushLock.lock();
scanners = selectScannersFrom(store.getScanners(flushedStoreFiles,
cacheBlocks, get,
scanUsePread, false, matcher, scan.getStartRow(), scan.getStopRow(),
this.readPt, true));
// Clear the current set of flushed store files so that they don't get
added again
flushedStoreFiles.clear();
} finally {
flushLock.unlock();
}
{code}
If the flush size is smaller, the memStore may be flushed again before the
StoreScanner calls resetScannerStack. The hfile of the latest MemStore isn't in
flushedStoreFiles, so the data located in the latest MemStore will be lost in
current scan.
> TestAcidGuarantees fails frequently
> -----------------------------------
>
> Key: HBASE-17887
> URL: https://issues.apache.org/jira/browse/HBASE-17887
> Project: HBase
> Issue Type: Bug
> Components: regionserver
> Affects Versions: 2.0.0
> Reporter: Umesh Agashe
> Priority: Blocker
>
> As per the flaky tests dashboard here:
> https://builds.apache.org/job/HBASE-Find-Flaky-Tests/lastSuccessfulBuild/artifact/dashboard.html,
> It fails 30% of the time.
> While working on HBASE-17863, a few verification builds on patch failed due
> to TestAcidGuarantees didn't pass. IMHO, the changes for HBASE-17863 are
> unlikely to affect get/ put path.
> I ran the test with and without the patch several times locally and found
> that TestAcidGuarantees fails without the patch similar number of times.
> Opening blocker, considering acid guarantees are critical to HBase.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)