[
https://issues.apache.org/jira/browse/HBASE-17887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16002373#comment-16002373
]
ramkrishna.s.vasudevan commented on HBASE-17887:
------------------------------------------------
I spent some time understanding the fix and what was the existing problem.
After increasing the timeout the test case did fail.
{code}
for (int i = 0; i < currentScanners.size(); i++) {
if (!currentScanners.get(i).isFileScanner()) {
currentScanners.remove(i);
break;
}
}
{code}
This was the code that was removing the curretScanners that are of
memstoreScanner type. The idea was that the current flush would have loaded the
actual store file. So having that will unnecessarily hold on to the Scanner
object and also may lead to multiple scans on the same data. When memstore size
is big that is going to be waste of scan.
One existing problem was that I think this scanner was not getting closed and
only getting removed. So that could be an issue.
So in your latest patch also you may have to do it.
Other part is that with the ScannerTicket and doing the merge operation now -
should we really have the currentScanners? If so then the point above of
closing it does not apply.
This is great work. Thanks [~chia7712].
> 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
> Assignee: Chia-Ping Tsai
> Priority: Blocker
> Fix For: 2.0.0, 1.4.0, 1.2.6, 1.3.2, 1.4.1
>
> Attachments: HBASE-17887.branch-1.v0.patch,
> HBASE-17887.branch-1.v1.patch, HBASE-17887.branch-1.v1.patch,
> HBASE-17887.branch-1.v2.patch, HBASE-17887.branch-1.v2.patch,
> HBASE-17887.branch-1.v3.patch, HBASE-17887.branch-1.v4.patch,
> HBASE-17887.branch-1.v4.patch, HBASE-17887.branch-1.v4.patch,
> HBASE-17887.ut.patch, HBASE-17887.v0.patch, HBASE-17887.v1.patch,
> HBASE-17887.v2.patch, HBASE-17887.v3.patch
>
>
> 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)