Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HBASE-21905: [FIFOCompaction] Don't compact already inflight store files #1829

Merged
merged 1 commit into from
Jun 3, 2020

Conversation

bharathv
Copy link
Contributor

@bharathv bharathv commented Jun 2, 2020

This one surfaced as a flake test but turns out to be a legit bug
in FIFOCompaction code. FifoCompaction does not check if an empty
store file is already being compacted by an in-flight compaction
request and still enqueues. It can potentially race with a running
compaction (as in this test case, see jira for the exact exception).

Fixes the edge case and cleans up the test code a bit.

This one surfaced as a flake test but turns out to be a legit bug
in FIFOCompaction code. FifoCompaction does not check if an empty
store file is already being compacted by an in-flight compaction
request and still enqueues. It can potentially race with a running
compaction (as in this test case, see jira for the exact exception).

Fixes the edge case and cleanes up the test code a bit.
@bharathv bharathv requested a review from openinx June 2, 2020 08:03
@bharathv
Copy link
Contributor Author

bharathv commented Jun 2, 2020

@openinx you added the relevant code and the test, can you please take a look when you get a chance? Thanks.

While the PR is for branch-1, it also applies to other branches. Will forward-port once it is committed.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 32s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 1 new or modified test files.
_ branch-1 Compile Tests _
+1 💚 mvninstall 10m 14s branch-1 passed
+1 💚 compile 0m 53s branch-1 passed with JDK v1.8.0_252
+1 💚 compile 0m 48s branch-1 passed with JDK v1.7.0_262
+1 💚 checkstyle 1m 53s branch-1 passed
+1 💚 shadedjars 3m 17s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 49s branch-1 passed with JDK v1.8.0_252
+1 💚 javadoc 0m 41s branch-1 passed with JDK v1.7.0_262
+0 🆗 spotbugs 3m 13s Used deprecated FindBugs config; considering switching to SpotBugs.
+1 💚 findbugs 3m 9s branch-1 passed
_ Patch Compile Tests _
+1 💚 mvninstall 2m 3s the patch passed
+1 💚 compile 0m 48s the patch passed with JDK v1.8.0_252
+1 💚 javac 0m 48s the patch passed
+1 💚 compile 0m 47s the patch passed with JDK v1.7.0_262
+1 💚 javac 0m 47s the patch passed
+1 💚 checkstyle 1m 43s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 shadedjars 3m 5s patch has no errors when building our shaded downstream artifacts.
+1 💚 hadoopcheck 5m 2s Patch does not cause any errors with Hadoop 2.8.5 2.9.2.
+1 💚 javadoc 0m 33s the patch passed with JDK v1.8.0_252
+1 💚 javadoc 0m 43s the patch passed with JDK v1.7.0_262
+1 💚 findbugs 3m 5s the patch passed
_ Other Tests _
-1 ❌ unit 153m 24s hbase-server in the patch failed.
+1 💚 asflicense 0m 30s The patch does not generate ASF License warnings.
198m 49s
Reason Tests
Failed junit tests hadoop.hbase.client.TestAdmin1
Subsystem Report/Notes
Docker Client=19.03.11 Server=19.03.11 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1829/1/artifact/out/Dockerfile
GITHUB PR #1829
JIRA Issue HBASE-21905
Optional Tests dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
uname Linux ab1aca1e8c9f 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality /home/jenkins/jenkins-slave/workspace/Base-PreCommit-GitHub-PR_PR-1829/out/precommit/personality/provided.sh
git revision branch-1 / d889c7b
Default Java 1.7.0_262
Multi-JDK versions /usr/lib/jvm/zulu-8-amd64:1.8.0_252 /usr/lib/jvm/zulu-7-amd64:1.7.0_262
unit https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1829/1/artifact/out/patch-unit-hbase-server.txt
Test Results https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1829/1/testReport/
Max. process+thread count 5038 (vs. ulimit of 10000)
modules C: hbase-server U: hbase-server
Console output https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1829/1/console
versions git=1.9.1 maven=3.0.5 findbugs=3.0.1
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@bharathv
Copy link
Contributor Author

bharathv commented Jun 2, 2020

Test failure doesn't seem related to the patch and is occasionally failing with similar symptoms on branch-1 (which is a separate issue)..

@bharathv bharathv merged commit 26828ac into apache:branch-1 Jun 3, 2020
@bharathv bharathv deleted the HBASE-21905-branch-1 branch June 3, 2020 23:22
bharathv added a commit that referenced this pull request Jun 3, 2020
…les (#1829)

This one surfaced as a flake test but turns out to be a legit bug
in FIFOCompaction code. FifoCompaction does not check if an empty
store file is already being compacted by an in-flight compaction
request and still enqueues. It can potentially race with a running
compaction (as in this test case, see jira for the exact exception).

Fixes the edge case and cleans up the test code a bit.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
bharathv added a commit that referenced this pull request Jun 4, 2020
…les (#1829)

This one surfaced as a flake test but turns out to be a legit bug
in FIFOCompaction code. FifoCompaction does not check if an empty
store file is already being compacted by an in-flight compaction
request and still enqueues. It can potentially race with a running
compaction (as in this test case, see jira for the exact exception).

Fixes the edge case and cleans up the test code a bit.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
asfgit pushed a commit that referenced this pull request Jun 4, 2020
…les (#1829)

This one surfaced as a flake test but turns out to be a legit bug
in FIFOCompaction code. FifoCompaction does not check if an empty
store file is already being compacted by an in-flight compaction
request and still enqueues. It can potentially race with a running
compaction (as in this test case, see jira for the exact exception).

Fixes the edge case and cleans up the test code a bit.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
asfgit pushed a commit that referenced this pull request Jun 4, 2020
…les (#1829)

This one surfaced as a flake test but turns out to be a legit bug
in FIFOCompaction code. FifoCompaction does not check if an empty
store file is already being compacted by an in-flight compaction
request and still enqueues. It can potentially race with a running
compaction (as in this test case, see jira for the exact exception).

Fixes the edge case and cleans up the test code a bit.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
HomminLee pushed a commit to HomminLee/hbase that referenced this pull request Jun 12, 2020
…les (apache#1829)

This one surfaced as a flake test but turns out to be a legit bug
in FIFOCompaction code. FifoCompaction does not check if an empty
store file is already being compacted by an in-flight compaction
request and still enqueues. It can potentially race with a running
compaction (as in this test case, see jira for the exact exception).

Fixes the edge case and cleans up the test code a bit.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
infraio pushed a commit to infraio/hbase that referenced this pull request Aug 17, 2020
…les (apache#1829)

This one surfaced as a flake test but turns out to be a legit bug
in FIFOCompaction code. FifoCompaction does not check if an empty
store file is already being compacted by an in-flight compaction
request and still enqueues. It can potentially race with a running
compaction (as in this test case, see jira for the exact exception).

Fixes the edge case and cleans up the test code a bit.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
clarax pushed a commit to clarax/hbase that referenced this pull request Nov 15, 2020
…les (apache#1829)

This one surfaced as a flake test but turns out to be a legit bug
in FIFOCompaction code. FifoCompaction does not check if an empty
store file is already being compacted by an in-flight compaction
request and still enqueues. It can potentially race with a running
compaction (as in this test case, see jira for the exact exception).

Fixes the edge case and cleans up the test code a bit.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
wchevreuil pushed a commit to wchevreuil/hbase that referenced this pull request May 24, 2021
…les (apache#1829)

This one surfaced as a flake test but turns out to be a legit bug
in FIFOCompaction code. FifoCompaction does not check if an empty
store file is already being compacted by an in-flight compaction
request and still enqueues. It can potentially race with a running
compaction (as in this test case, see jira for the exact exception).

Fixes the edge case and cleans up the test code a bit.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
(cherry picked from commit 92bfd92)

Change-Id: Ib23320b8570d635ae461f5f6fe4b382b94013bc0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants