Skip to content

HBASE-25395 Introduce PersistedStoreEngine and PersistedStoreFileManager#2931

Merged
taklwu merged 15 commits intoapache:HBASE-24749from
taklwu:HBASE-25395
Mar 16, 2021
Merged

HBASE-25395 Introduce PersistedStoreEngine and PersistedStoreFileManager#2931
taklwu merged 15 commits intoapache:HBASE-24749from
taklwu:HBASE-25395

Conversation

@taklwu
Copy link
Contributor

@taklwu taklwu commented Feb 6, 2021

Create a new wrapper store engine on top of the default store engine, as well as, introducing a new store file manager that keep tracking path of HFiles of user tables into a hbase self-managed system table (further will have a different tasks to merge into hbase:meta table)

TAK LON WU added 4 commits February 5, 2021 17:43
- first commit and define interface StoreFilePathAccessor for reading and persisting path tracking data of StoreFileManager into hbase:storefile
- refactor and add loadInitialFiles to the base interface,
  such each store file manager implementation could have their
  own way to discovery a list of available files instead of
  just calling fs.getStoreFiles()
- add store instance to each store file manager implementation
Fork the in-memory object in store file manager to
a off-memory structure that is going to be used when
region reassign, (re)open, cluster restart and etc.
This improvement aims for better object store (e.g. S3)
support without calling LIST to get storefiles from
a given column family.

* Details
 * Create PersistedStoreFileManager by extending DefaultStoreFileManager
 * Use PersistedStoreFileManager expect master region, hbase:meta, and
   hbase:storefile
 * if tracking information isn't available, always refresh the file
   storage for version upgrade and migration
 * add PersistedStoreEngine and integrate with HMaster when initializing
@taklwu taklwu requested review from joshelser and z-york February 6, 2021 02:24
@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 17s 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.
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 22s Maven dependency ordering for branch
+1 💚 mvninstall 4m 6s HBASE-24749 passed
+1 💚 compile 4m 4s HBASE-24749 passed
+1 💚 checkstyle 1m 38s HBASE-24749 passed
+1 💚 spotbugs 2m 52s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 11s Maven dependency ordering for patch
+1 💚 mvninstall 3m 51s the patch passed
+1 💚 compile 4m 6s the patch passed
+1 💚 javac 4m 6s the patch passed
-0 ⚠️ checkstyle 1m 14s hbase-server: The patch generated 22 new + 109 unchanged - 0 fixed = 131 total (was 109)
+1 💚 whitespace 0m 1s The patch has no whitespace issues.
+1 💚 hadoopcheck 18m 59s Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚 spotbugs 3m 10s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 22s The patch does not generate ASF License warnings.
54m 34s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2931
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux 0f9d9cb6d522 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count 86 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/1/console
versions git=2.17.1 maven=3.6.3 spotbugs=3.1.12
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 32s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 24s Maven dependency ordering for branch
+1 💚 mvninstall 4m 44s HBASE-24749 passed
+1 💚 compile 1m 34s HBASE-24749 passed
+1 💚 shadedjars 6m 44s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 7s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 4m 13s the patch passed
+1 💚 compile 1m 37s the patch passed
+1 💚 javac 1m 37s the patch passed
+1 💚 shadedjars 6m 42s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 4s the patch passed
_ Other Tests _
+1 💚 unit 1m 34s hbase-common in the patch passed.
+1 💚 unit 135m 53s hbase-server in the patch passed.
168m 47s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux 4159204a74be 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-11.0.6+10
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/1/testReport/
Max. process+thread count 4239 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/1/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 27s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 24s Maven dependency ordering for branch
+1 💚 mvninstall 3m 41s HBASE-24749 passed
+1 💚 compile 1m 21s HBASE-24749 passed
+1 💚 shadedjars 6m 39s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 1s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 3m 34s the patch passed
+1 💚 compile 1m 21s the patch passed
+1 💚 javac 1m 21s the patch passed
+1 💚 shadedjars 6m 35s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 59s the patch passed
_ Other Tests _
+1 💚 unit 1m 26s hbase-common in the patch passed.
+1 💚 unit 145m 39s hbase-server in the patch passed.
175m 41s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux bb2a09814507 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/1/testReport/
Max. process+thread count 4932 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/1/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 28s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 25s Maven dependency ordering for branch
+1 💚 mvninstall 3m 44s HBASE-24749 passed
+1 💚 compile 1m 20s HBASE-24749 passed
+1 💚 shadedjars 6m 32s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 0s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
-1 ❌ mvninstall 1m 46s root in the patch failed.
-1 ❌ compile 0m 37s hbase-server in the patch failed.
-0 ⚠️ javac 0m 37s hbase-server in the patch failed.
-1 ❌ shadedjars 4m 50s patch has 22 errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 37s hbase-server generated 1 new + 16 unchanged - 0 fixed = 17 total (was 16)
_ Other Tests _
+1 💚 unit 1m 26s hbase-common in the patch passed.
-1 ❌ unit 0m 37s hbase-server in the patch failed.
25m 37s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux a0f770152949 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
mvninstall https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-jdk8-hadoop3-check/output/patch-mvninstall-root.txt
compile https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-jdk8-hadoop3-check/output/patch-compile-hbase-server.txt
javac https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-jdk8-hadoop3-check/output/patch-compile-hbase-server.txt
shadedjars https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-jdk8-hadoop3-check/output/patch-shadedjars.txt
javadoc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-jdk8-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/testReport/
Max. process+thread count 341 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 31s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 23s Maven dependency ordering for branch
+1 💚 mvninstall 4m 17s HBASE-24749 passed
+1 💚 compile 1m 31s HBASE-24749 passed
+1 💚 shadedjars 6m 39s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 8s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
-1 ❌ mvninstall 2m 6s root in the patch failed.
-1 ❌ compile 0m 39s hbase-server in the patch failed.
-0 ⚠️ javac 0m 39s hbase-server in the patch failed.
-1 ❌ shadedjars 5m 1s patch has 18 errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 24s hbase-server in the patch failed.
_ Other Tests _
+1 💚 unit 1m 31s hbase-common in the patch passed.
-1 ❌ unit 0m 41s hbase-server in the patch failed.
27m 17s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux 048cd619fb5c 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-11.0.6+10
mvninstall https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-jdk11-hadoop3-check/output/patch-mvninstall-root.txt
compile https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-hbase-server.txt
javac https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-hbase-server.txt
shadedjars https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-jdk11-hadoop3-check/output/patch-shadedjars.txt
javadoc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/testReport/
Max. process+thread count 264 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 8s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s 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.
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 26s Maven dependency ordering for branch
+1 💚 mvninstall 3m 48s HBASE-24749 passed
+1 💚 compile 4m 5s HBASE-24749 passed
+1 💚 checkstyle 1m 36s HBASE-24749 passed
+1 💚 spotbugs 2m 48s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
-1 ❌ mvninstall 1m 56s root in the patch failed.
-1 ❌ compile 0m 41s hbase-server in the patch failed.
-0 ⚠️ javac 0m 41s hbase-server in the patch failed.
+1 💚 checkstyle 0m 23s The patch passed checkstyle in hbase-common
+1 💚 checkstyle 1m 11s hbase-server: The patch generated 0 new + 107 unchanged - 2 fixed = 107 total (was 109)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
-1 ❌ hadoopcheck 2m 2s The patch causes 22 errors with Hadoop v3.1.2.
-1 ❌ hadoopcheck 4m 9s The patch causes 22 errors with Hadoop v3.2.1.
-1 ❌ hadoopcheck 6m 9s The patch causes 22 errors with Hadoop v3.3.0.
-1 ❌ spotbugs 0m 36s hbase-server in the patch failed.
_ Other Tests _
+1 💚 asflicense 0m 18s The patch does not generate ASF License warnings.
28m 27s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2931
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux 157e14233ae1 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
mvninstall https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-general-check/output/patch-mvninstall-root.txt
compile https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
javac https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
hadoopcheck https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-general-check/output/patch-javac-3.1.2.txt
hadoopcheck https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-general-check/output/patch-javac-3.2.1.txt
hadoopcheck https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-general-check/output/patch-javac-3.3.0.txt
spotbugs https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/artifact/yetus-general-check/output/patch-spotbugs-hbase-server.txt
Max. process+thread count 86 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/2/console
versions git=2.17.1 maven=3.6.3 spotbugs=3.1.12
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 2m 34s 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.
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for branch
+1 💚 mvninstall 4m 3s HBASE-24749 passed
+1 💚 compile 4m 18s HBASE-24749 passed
+1 💚 checkstyle 1m 37s HBASE-24749 passed
+1 💚 spotbugs 2m 57s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 3m 56s the patch passed
+1 💚 compile 4m 4s the patch passed
+1 💚 javac 4m 4s the patch passed
+1 💚 checkstyle 0m 24s The patch passed checkstyle in hbase-common
+1 💚 checkstyle 1m 13s hbase-server: The patch generated 0 new + 107 unchanged - 2 fixed = 107 total (was 109)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 19m 1s Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚 spotbugs 3m 10s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 21s The patch does not generate ASF License warnings.
56m 6s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2931
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux 3e6564be7caa 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
Max. process+thread count 86 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/3/console
versions git=2.17.1 maven=3.6.3 spotbugs=3.1.12
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 4m 49s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for branch
+1 💚 mvninstall 4m 18s HBASE-24749 passed
+1 💚 compile 1m 37s HBASE-24749 passed
+1 💚 shadedjars 6m 59s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 3s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 4m 8s the patch passed
+1 💚 compile 1m 36s the patch passed
+1 💚 javac 1m 36s the patch passed
+1 💚 shadedjars 7m 23s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 8s the patch passed
_ Other Tests _
+1 💚 unit 1m 31s hbase-common in the patch passed.
+1 💚 unit 137m 38s hbase-server in the patch passed.
175m 2s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/3/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux bb1399090ab8 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-11.0.6+10
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/3/testReport/
Max. process+thread count 4503 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/3/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 34s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 31s Maven dependency ordering for branch
+1 💚 mvninstall 4m 5s HBASE-24749 passed
+1 💚 compile 1m 27s HBASE-24749 passed
+1 💚 shadedjars 7m 20s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 0s HBASE-24749 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for patch
+1 💚 mvninstall 4m 4s the patch passed
+1 💚 compile 1m 31s the patch passed
+1 💚 javac 1m 31s the patch passed
+1 💚 shadedjars 7m 18s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 1s the patch passed
_ Other Tests _
+1 💚 unit 1m 27s hbase-common in the patch passed.
+1 💚 unit 149m 50s hbase-server in the patch passed.
182m 51s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/3/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux 5d1654fc43e8 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/3/testReport/
Max. process+thread count 4111 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/3/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@taklwu
Copy link
Contributor Author

taklwu commented Feb 9, 2021

@joshelser this patch is ready for review, and if you have any person in your mind could review it, please tag them as well, thanks a lot.

Copy link
Member

@joshelser joshelser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to go through the unit tests, but I wanted to get my initial review published.

Good stuff!

long timeout = masterServices.getConfiguration()
.getLong(HConstants.STOREFILE_TRACKING_INIT_TIMEOUT,
HConstants.DEFAULT_STOREFILE_TRACKING_INIT_TIMEOUT);
while (!isStoreFileTableAssignedAndEnabled(masterServices)) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm having nightmares about the hbase:namespace table not getting assigned and getting into cycles where the HBase master would just crashloop when the table wasn't getting assigned.

Not something that needs to be handled right now, but we should make sure we think about this later (rather than reintroduce old problems)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed. this is an optional feature but if this is enabled, the order will be master-region > hbase:meta -> hbase:storefile > any other tables, so the best way is to merge into hbase:meta (will be done in HBASE-25397 ).

the only blocker/concern is if hbase:meta will be splittable by the time we hit that task.

void initialize(final MasterServices masterServices) throws IOException;

/**
* GET storefile paths from the 'included' data set
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Get

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

final String storeName) throws IOException;

/**
* Writes the specified updates to the tracking
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is a "write" in this context? Defining what the total set of files for this Region+Store is supposed to be? Not clear from javadoc.

storeFilePathUpdateargument javadoc is also a little vague (i.e. what's an "update"?)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my understanding StoreFilePathUpdate represents a single entity which should be persisted by the Accessor. This could happen is some cases like results of a compaction, flush, recovered HFile, etc.
Essentially list of Paths decorated with hasStoreFilesUpdate() property which I don't fully understand what it's good for.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @anmolnar and you're right on the entity of StoreFilePathUpdate, I will adjust the comments.

also I will remove the hasStoreFilesUpdate (some old code left behind)

Comment on lines 85 to 86
* Returns the families being tracked in the storefile tracking data for the given
* table/region
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For user-regions (not meta), is there a reason that we'd only want a subset of Stores to be using tracking data?

Copy link
Contributor Author

@taklwu taklwu Mar 2, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mmm, we want all stores of a region server to be tracked e.g. when supporting snapshot and restoring region from the tracking data, we need to get it per family , maybe just this comment is confusing , I will update it and said this will be used by snapshot feature.

    for (Path familyDir: FSUtils.getFamilyDirs(fs, regionDir)) {

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

at the end, I removed it and will add it back when supporting snapshot (restore snapshot) feature

* the row key.
* @throws IOException if a remote or network exception occurs during delete
*/
void deleteStoreFilePaths(final String tableName, final String regionName, final String storeName)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How does this method relate to deleteRegion? Would this be used for a truncate like operation?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will remove this function first in this PR, but this will be used by snapshot restoreSnapshot when we remove regions in regionsToRemove and tracking data needs to be updated

}

@Override
public void addCompactionResults(Collection<HStoreFile> newCompactedfiles,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit newCompactedFiles

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed and refactored to use a abstract base class

return storeFileComparator;
}

void setStorefiles(ImmutableList<HStoreFile> storefiles) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit setStoreFiles

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

refactor to use a abstract base class

this.storefiles = storefiles;
}

void setCompactedfiles(ImmutableList<HStoreFile> compactedfiles) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit setCompactedFiles

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd challenge you to see if there's a better API we could add to DefaultStoreFileManager than this. It's a little brittle in that PersistedStoreFileManager has to be knowing when to call these setters. Maybe there's API in which there can be one method in this class which computes and sets the compactedFiles and "current" files which both this implementation and the new implementation can leverage?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm. My previous review has been lost in Github.

I would rather create an abstract base class for DefaultStoreFileManager and PersistedStoreFileManager and put everything which is common in there.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

abstract base class is good idea, I will give a try as a last thing (another commit at the end) as that will take longer.

Comment on lines 182 to 186
String message = "Failed to update Path list of " + tableName + "-" + regionName +
"-" + storeName + ", on " + TableName.STOREFILE_STR + ". The new files are not "
+ "persistent and will be removed from " + regionName + "," + storeName +
".\nFailed update: " + storeFilePathUpdate;
LOG.warn(message);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

String.format or the parameterized log message, please.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:( sure (FYI we don't allow to use String.format because of performance concern)

Comment on lines 53 to 57
protected static String REGION_NAME = UUID.randomUUID().toString().replaceAll("-", "");
protected static String STORE_NAME = UUID.randomUUID().toString();
protected static List<Path> EMPTY_PATH = Collections.emptyList();
protected static List<Path> INCLUDE_EXAMPLE_PATH =
Lists.newArrayList(new Path("hdfs://foo/bar1"), new Path("hdfs://foo/bar2"));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

final?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

Copy link
Contributor

@anmolnar anmolnar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.

Copy link
Contributor

@anmolnar anmolnar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+0 lgtm.

//
// this should be rarely happened on a real cluster and RS with meta table should be the last
// to be shutdown normally.
TEST_UTIL.killMiniHBaseCluster();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I understand the reasoning. Is that not the case in the other mini-cluster test TestPersistedStoreFileManager where you just shutdown the cluster without killing it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry, we can remove this now.

it was something old from my local branch that tried to write one last record for compactedFiles to hbase:storefile table, but we have simplified the logic in this commit that only storefiles are being tracked. The test here has already flushed and should not have any new update to the table hbase:storefile when closing.

if we merge into hbase:meta (will be done in HBASE-25397) , this will definitely not a issue anymore as well.

* @param masterServices {@link MasterServices}
* @throws IOException if failures
*/
private static void cleanup(MasterServices masterServices) throws IOException {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to IntelliJ this method is not used.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

* @param masterServices instance of HMaster
* @throws IOException if Master is not running or connection has been lost
*/
void initialize(final MasterServices masterServices) throws IOException;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this method only used in tests?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, but after rethinking about along with StorefileTrackingUtils.init(masterService); we can remove it.

return this;
}

Builder withStorePaths(List<Path> storeFiles) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Testing only?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed with using @RestrictedApi

final String storeName) throws IOException;

/**
* Writes the specified updates to the tracking
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my understanding StoreFilePathUpdate represents a single entity which should be persisted by the Accessor. This could happen is some cases like results of a compaction, flush, recovered HFile, etc.
Essentially list of Paths decorated with hasStoreFilesUpdate() property which I don't fully understand what it's good for.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 2m 46s 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.
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 29s Maven dependency ordering for branch
+1 💚 mvninstall 3m 53s HBASE-24749 passed
+1 💚 compile 4m 3s HBASE-24749 passed
+1 💚 checkstyle 1m 38s HBASE-24749 passed
+1 💚 spotbugs 2m 48s HBASE-24749 passed
-0 ⚠️ patch 2m 21s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 11s Maven dependency ordering for patch
+1 💚 mvninstall 3m 53s the patch passed
+1 💚 compile 4m 6s the patch passed
+1 💚 javac 4m 6s the patch passed
-0 ⚠️ checkstyle 1m 13s hbase-server: The patch generated 2 new + 107 unchanged - 2 fixed = 109 total (was 109)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 19m 2s Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
-1 ❌ spotbugs 2m 19s hbase-server generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
_ Other Tests _
+1 💚 asflicense 0m 21s The patch does not generate ASF License warnings.
56m 2s
Reason Tests
FindBugs module:hbase-server
Format string should use %n rather than n in org.apache.hadoop.hbase.regionserver.PersistedStoreFileManager.updatePathListToTracker(StoreFilePathUpdate) At PersistedStoreFileManager.java:rather than n in org.apache.hadoop.hbase.regionserver.PersistedStoreFileManager.updatePathListToTracker(StoreFilePathUpdate) At PersistedStoreFileManager.java:[line 156]
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/4/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2931
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux 689c3f5a9e4f 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/4/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
spotbugs https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/4/artifact/yetus-general-check/output/new-spotbugs-hbase-server.html
Max. process+thread count 86 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/4/console
versions git=2.17.1 maven=3.6.3 spotbugs=3.1.12
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 2m 7s Docker mode activated.
-0 ⚠️ yetus 0m 4s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 31s Maven dependency ordering for branch
+1 💚 mvninstall 3m 31s HBASE-24749 passed
+1 💚 compile 1m 22s HBASE-24749 passed
+1 💚 shadedjars 6m 47s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 3s HBASE-24749 passed
-0 ⚠️ patch 8m 11s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for patch
+1 💚 mvninstall 3m 48s the patch passed
+1 💚 compile 1m 26s the patch passed
+1 💚 javac 1m 26s the patch passed
+1 💚 shadedjars 6m 56s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 0s the patch passed
_ Other Tests _
+1 💚 unit 1m 25s hbase-common in the patch passed.
+1 💚 unit 147m 3s hbase-server in the patch passed.
179m 36s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/4/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux e6df3ac3a0db 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/4/testReport/
Max. process+thread count 4289 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/4/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 40s Docker mode activated.
-0 ⚠️ yetus 0m 5s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 31s Maven dependency ordering for branch
+1 💚 mvninstall 4m 7s HBASE-24749 passed
+1 💚 compile 1m 33s HBASE-24749 passed
+1 💚 shadedjars 7m 35s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 7s HBASE-24749 passed
-0 ⚠️ patch 9m 3s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 4m 10s the patch passed
+1 💚 compile 1m 34s the patch passed
+1 💚 javac 1m 34s the patch passed
+1 💚 shadedjars 6m 45s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 6s the patch passed
_ Other Tests _
+1 💚 unit 1m 33s hbase-common in the patch passed.
+1 💚 unit 160m 20s hbase-server in the patch passed.
194m 37s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/4/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux 6da49f79faaa 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-11.0.6+10
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/4/testReport/
Max. process+thread count 3850 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/4/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 2m 2s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s 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.
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 26s Maven dependency ordering for branch
+1 💚 mvninstall 4m 52s HBASE-24749 passed
+1 💚 compile 4m 42s HBASE-24749 passed
+1 💚 checkstyle 2m 2s HBASE-24749 passed
+1 💚 spotbugs 3m 24s HBASE-24749 passed
-0 ⚠️ patch 2m 43s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 4m 24s the patch passed
+1 💚 compile 4m 41s the patch passed
+1 💚 javac 4m 41s the patch passed
-0 ⚠️ checkstyle 1m 18s hbase-server: The patch generated 2 new + 107 unchanged - 2 fixed = 109 total (was 109)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 21m 27s Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚 spotbugs 3m 34s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 23s The patch does not generate ASF License warnings.
62m 49s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/5/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2931
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux f01c3fc78d52 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/5/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count 86 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/5/console
versions git=2.17.1 maven=3.6.3 spotbugs=3.1.12
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor Author

@taklwu taklwu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should have addressed all the comments, thanks @joshelser and @anmolnar

List<Path> paths = new ArrayList<>();
if (data != null && data.length != 0) {
String pathString = Bytes.toString(data);
String[] pathStrings = pathString.split(LIST_SEPARATOR);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed and used StringUtils.split(pathString, LIST_SEPARATOR)

new Get(Bytes.toBytes(getKey(tableName, regionName, storeName)));
get.addColumn(colFamilyBytes, STOREFILE_QUALIFIER);
Result result = doGet(get);
if (result == null || result.isEmpty()) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from the API java doc it should be non-null and result.isEmpty() should be the indicator for no result for a given GET, I will remove the null check.

Comment on lines 209 to 212
if (connection == null) {
throw new IOException("Connection should be provided by region server "
+ "and should not be null after initialized.");
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed and removed this getConnection() function after making connection final


import java.util.List;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, and I confirmed by searching the code base and the shading setting.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 35s Docker mode activated.
-0 ⚠️ yetus 0m 4s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 29s Maven dependency ordering for branch
+1 💚 mvninstall 4m 13s HBASE-24749 passed
+1 💚 compile 1m 38s HBASE-24749 passed
+1 💚 shadedjars 6m 50s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 5s HBASE-24749 passed
-0 ⚠️ patch 8m 18s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 4m 3s the patch passed
+1 💚 compile 1m 34s the patch passed
+1 💚 javac 1m 34s the patch passed
+1 💚 shadedjars 6m 36s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 4s the patch passed
_ Other Tests _
+1 💚 unit 1m 31s hbase-common in the patch passed.
+1 💚 unit 136m 7s hbase-server in the patch passed.
168m 20s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/5/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux 1e4e1ebbab82 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-11.0.6+10
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/5/testReport/
Max. process+thread count 4426 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/5/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 34s Docker mode activated.
-0 ⚠️ yetus 0m 4s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 28s Maven dependency ordering for branch
+1 💚 mvninstall 3m 27s HBASE-24749 passed
+1 💚 compile 1m 21s HBASE-24749 passed
+1 💚 shadedjars 6m 38s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 58s HBASE-24749 passed
-0 ⚠️ patch 7m 59s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 3m 32s the patch passed
+1 💚 compile 1m 22s the patch passed
+1 💚 javac 1m 22s the patch passed
+1 💚 shadedjars 6m 36s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 59s the patch passed
_ Other Tests _
+1 💚 unit 1m 26s hbase-common in the patch passed.
+1 💚 unit 145m 39s hbase-server in the patch passed.
175m 38s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/5/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux 30010afa38cb 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/5/testReport/
Max. process+thread count 4899 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/5/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 35s 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.
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for branch
+1 💚 mvninstall 3m 29s HBASE-24749 passed
+1 💚 compile 4m 11s HBASE-24749 passed
+1 💚 checkstyle 1m 27s HBASE-24749 passed
+1 💚 spotbugs 2m 49s HBASE-24749 passed
-0 ⚠️ patch 2m 19s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 3m 38s the patch passed
+1 💚 compile 4m 1s the patch passed
+1 💚 javac 4m 1s the patch passed
+1 💚 checkstyle 0m 26s The patch passed checkstyle in hbase-common
+1 💚 checkstyle 1m 4s hbase-server: The patch generated 0 new + 107 unchanged - 2 fixed = 107 total (was 109)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 21m 27s Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚 spotbugs 3m 53s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 26s The patch does not generate ASF License warnings.
57m 28s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/6/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2931
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux d4ad85180df4 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
Max. process+thread count 96 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/6/console
versions git=2.17.1 maven=3.6.3 spotbugs=3.1.12
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 35s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 24s Maven dependency ordering for branch
+1 💚 mvninstall 4m 23s HBASE-24749 passed
+1 💚 compile 1m 38s HBASE-24749 passed
+1 💚 shadedjars 6m 57s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 9s HBASE-24749 passed
-0 ⚠️ patch 8m 27s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 4m 11s the patch passed
+1 💚 compile 1m 34s the patch passed
+1 💚 javac 1m 34s the patch passed
+1 💚 shadedjars 6m 46s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 6s the patch passed
_ Other Tests _
+1 💚 unit 1m 36s hbase-common in the patch passed.
-1 ❌ unit 136m 54s hbase-server in the patch failed.
169m 52s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/6/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux 3a361f1a2948 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-11.0.6+10
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/6/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/6/testReport/
Max. process+thread count 3997 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/6/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 43s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 29s Maven dependency ordering for branch
+1 💚 mvninstall 3m 37s HBASE-24749 passed
+1 💚 compile 1m 21s HBASE-24749 passed
+1 💚 shadedjars 7m 7s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 0s HBASE-24749 passed
-0 ⚠️ patch 8m 27s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 3m 26s the patch passed
+1 💚 compile 1m 21s the patch passed
+1 💚 javac 1m 21s the patch passed
+1 💚 shadedjars 6m 42s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 1s the patch passed
_ Other Tests _
+1 💚 unit 1m 30s hbase-common in the patch passed.
+1 💚 unit 149m 4s hbase-server in the patch passed.
179m 51s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/6/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux e9b67fefad5b 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/6/testReport/
Max. process+thread count 4776 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/6/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 26s 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.
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 27s Maven dependency ordering for branch
+1 💚 mvninstall 3m 56s HBASE-24749 passed
+1 💚 compile 4m 6s HBASE-24749 passed
+1 💚 checkstyle 1m 38s HBASE-24749 passed
+1 💚 spotbugs 2m 47s HBASE-24749 passed
-0 ⚠️ patch 2m 20s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 3m 56s the patch passed
+1 💚 compile 4m 6s the patch passed
+1 💚 javac 4m 6s the patch passed
+1 💚 checkstyle 0m 25s The patch passed checkstyle in hbase-common
+1 💚 checkstyle 1m 12s hbase-server: The patch generated 0 new + 107 unchanged - 2 fixed = 107 total (was 109)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 19m 3s Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚 spotbugs 3m 11s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 23s The patch does not generate ASF License warnings.
54m 53s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/7/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2931
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux 496df7cd78bf 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
Max. process+thread count 86 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/7/console
versions git=2.17.1 maven=3.6.3 spotbugs=3.1.12
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 30s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for branch
+1 💚 mvninstall 4m 2s HBASE-24749 passed
+1 💚 compile 1m 30s HBASE-24749 passed
+1 💚 shadedjars 6m 48s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 5s HBASE-24749 passed
-0 ⚠️ patch 8m 17s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 4m 2s the patch passed
+1 💚 compile 1m 30s the patch passed
+1 💚 javac 1m 30s the patch passed
+1 💚 shadedjars 6m 37s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 5s the patch passed
_ Other Tests _
+1 💚 unit 1m 31s hbase-common in the patch passed.
-1 ❌ unit 135m 36s hbase-server in the patch failed.
167m 6s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/7/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux 896a135986ed 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-11.0.6+10
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/7/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/7/testReport/
Max. process+thread count 4328 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/7/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 29s Docker mode activated.
-0 ⚠️ yetus 0m 4s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for branch
+1 💚 mvninstall 3m 31s HBASE-24749 passed
+1 💚 compile 1m 19s HBASE-24749 passed
+1 💚 shadedjars 6m 38s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 58s HBASE-24749 passed
-0 ⚠️ patch 7m 59s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for patch
+1 💚 mvninstall 3m 27s the patch passed
+1 💚 compile 1m 22s the patch passed
+1 💚 javac 1m 22s the patch passed
+1 💚 shadedjars 6m 36s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 59s the patch passed
_ Other Tests _
+1 💚 unit 1m 25s hbase-common in the patch passed.
+1 💚 unit 144m 56s hbase-server in the patch passed.
174m 37s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/7/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux 572d1ef3cfc5 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/7/testReport/
Max. process+thread count 4719 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/7/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@taklwu
Copy link
Contributor Author

taklwu commented Mar 4, 2021

I checked locally with the jdk8 environment and it passed. I checked the code of the unit test grantGlobal should not be related since this should be using DefaultStoreFileManager

[ERROR] Failures: 
[ERROR]   TestRSGroupsWithACL.setupBeforeClass:135->SecureTestUtil.grantGlobal:345->SecureTestUtil.updateACLs:313 Waiting timed out after [10,000] msec
  • local test result from a jdk8 build
[INFO] Running org.apache.hadoop.hbase.rsgroup.TestRSGroupsWithACL
[INFO] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.645 s - in org.apache.hadoop.hbase.rsgroup.TestRSGroupsWithACL
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0

@anmolnar
Copy link
Contributor

@taklwu I'm checking your commit which introduced the abstract class AbstractStoreFileManager. You introduced 2 things here: an abstract base class and hooks. Inheritence graph looks like AbstractStoreFileManager -> DefaultStoreFileManager -> PersistedStoreFileManager. On the top of that you essentially moved all code from the Default impl to the Abstract.

Revisiting my idea about the abstract class I think we don't need that. Let's revert to your original DefaultStoreFileManager -> PersistedStoreFileManager inheritence with the following modifications:

  • PersistedStoreFileManager needs to override method loadFiles(), call the super at the beginning and do what you have in the hook now. No need to hook here.
  • Similarly in insertNewFilesHook() the extra logic is at the end, so instead of the hook, just override -> call super() -> do the rest.
  • addCompactionResultsHook() - This is where the hook magic comes in handy, because the extra logic happens in the middle. Nice as it is now.
  • loadInitialFiles() - This method has to be completely overriden by PersistedStoreFileManager, no shared logic here.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 4m 26s 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.
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 34s Maven dependency ordering for branch
+1 💚 mvninstall 3m 55s HBASE-24749 passed
+1 💚 compile 4m 10s HBASE-24749 passed
+1 💚 checkstyle 1m 37s HBASE-24749 passed
+1 💚 spotbugs 2m 51s HBASE-24749 passed
-0 ⚠️ patch 2m 23s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 3m 55s the patch passed
+1 💚 compile 4m 3s the patch passed
+1 💚 javac 4m 3s the patch passed
+1 💚 checkstyle 0m 25s The patch passed checkstyle in hbase-common
+1 💚 checkstyle 1m 10s hbase-server: The patch generated 0 new + 107 unchanged - 2 fixed = 107 total (was 109)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 19m 0s Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚 spotbugs 3m 10s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 22s The patch does not generate ASF License warnings.
57m 52s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/8/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2931
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux cee86fadbce9 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
Max. process+thread count 86 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/8/console
versions git=2.17.1 maven=3.6.3 spotbugs=3.1.12
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 28s Docker mode activated.
-0 ⚠️ yetus 0m 4s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 22s Maven dependency ordering for branch
+1 💚 mvninstall 4m 17s HBASE-24749 passed
+1 💚 compile 1m 34s HBASE-24749 passed
+1 💚 shadedjars 6m 50s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 7s HBASE-24749 passed
-0 ⚠️ patch 8m 21s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 4m 4s the patch passed
+1 💚 compile 1m 31s the patch passed
+1 💚 javac 1m 31s the patch passed
+1 💚 shadedjars 6m 41s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 4s the patch passed
_ Other Tests _
+1 💚 unit 1m 46s hbase-common in the patch passed.
+1 💚 unit 136m 16s hbase-server in the patch passed.
168m 37s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/8/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux 17cdb9b459f5 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-11.0.6+10
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/8/testReport/
Max. process+thread count 3855 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/8/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@anmolnar anmolnar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the changes. Lgtm.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 3m 55s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 21s Maven dependency ordering for branch
+1 💚 mvninstall 4m 5s HBASE-24749 passed
+1 💚 compile 1m 21s HBASE-24749 passed
+1 💚 shadedjars 7m 13s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 0s HBASE-24749 passed
-0 ⚠️ patch 8m 31s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for patch
+1 💚 mvninstall 3m 54s the patch passed
+1 💚 compile 1m 20s the patch passed
+1 💚 javac 1m 20s the patch passed
+1 💚 shadedjars 7m 8s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 57s the patch passed
_ Other Tests _
+1 💚 unit 1m 56s hbase-common in the patch passed.
+1 💚 unit 208m 44s hbase-server in the patch passed.
244m 6s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/8/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux 780c2f556e5c 4.15.0-126-generic #129-Ubuntu SMP Mon Nov 23 18:53:38 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/8/testReport/
Max. process+thread count 3329 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/8/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 19s 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.
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 27s Maven dependency ordering for branch
+1 💚 mvninstall 3m 56s HBASE-24749 passed
+1 💚 compile 4m 7s HBASE-24749 passed
+1 💚 checkstyle 1m 36s HBASE-24749 passed
+1 💚 spotbugs 2m 54s HBASE-24749 passed
-0 ⚠️ patch 2m 26s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 3m 48s the patch passed
+1 💚 compile 4m 6s the patch passed
+1 💚 javac 4m 6s the patch passed
+1 💚 checkstyle 0m 24s The patch passed checkstyle in hbase-common
+1 💚 checkstyle 1m 11s hbase-server: The patch generated 0 new + 107 unchanged - 2 fixed = 107 total (was 109)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 19m 10s Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.
+1 💚 spotbugs 3m 6s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 23s The patch does not generate ASF License warnings.
54m 43s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/9/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2931
Optional Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
uname Linux 2ef22a36da35 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
Max. process+thread count 86 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/9/console
versions git=2.17.1 maven=3.6.3 spotbugs=3.1.12
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 3m 25s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 24s Maven dependency ordering for branch
+1 💚 mvninstall 4m 18s HBASE-24749 passed
+1 💚 compile 1m 32s HBASE-24749 passed
+1 💚 shadedjars 6m 45s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 7s HBASE-24749 passed
-0 ⚠️ patch 8m 15s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 4m 8s the patch passed
+1 💚 compile 1m 30s the patch passed
+1 💚 javac 1m 30s the patch passed
+1 💚 shadedjars 6m 42s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 4s the patch passed
_ Other Tests _
+1 💚 unit 1m 35s hbase-common in the patch passed.
+1 💚 unit 142m 7s hbase-server in the patch passed.
177m 16s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/9/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux 19e47e870020 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-11.0.6+10
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/9/testReport/
Max. process+thread count 3958 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/9/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 4m 6s Docker mode activated.
-0 ⚠️ yetus 0m 4s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-24749 Compile Tests _
+0 🆗 mvndep 0m 31s Maven dependency ordering for branch
+1 💚 mvninstall 3m 34s HBASE-24749 passed
+1 💚 compile 1m 21s HBASE-24749 passed
+1 💚 shadedjars 6m 38s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 57s HBASE-24749 passed
-0 ⚠️ patch 7m 57s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 3m 32s the patch passed
+1 💚 compile 1m 21s the patch passed
+1 💚 javac 1m 21s the patch passed
+1 💚 shadedjars 6m 39s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 59s the patch passed
_ Other Tests _
+1 💚 unit 1m 26s hbase-common in the patch passed.
+1 💚 unit 157m 47s hbase-server in the patch passed.
191m 16s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/9/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #2931
Optional Tests javac javadoc unit shadedjars compile
uname Linux c0d9d2420496 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-24749 / 3043796
Default Java AdoptOpenJDK-1.8.0_232-b09
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/9/testReport/
Max. process+thread count 4697 (vs. ulimit of 30000)
modules C: hbase-common hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2931/9/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@taklwu
Copy link
Contributor Author

taklwu commented Mar 12, 2021

thanks @anmolnar , @joshelser do you have any other comments?

Copy link
Contributor

@z-york z-york left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor comments, approved.

Comment on lines +1650 to +1661
/**
* Configuration for storefile tracking feature
*/
public static final String STOREFILE_TRACKING_PERSIST_ENABLED =
"hbase.storefile.tracking.persist.enabled";
public static final boolean DEFAULT_STOREFILE_TRACKING_PERSIST_ENABLED = false;

public static final String STOREFILE_TRACKING_INIT_TIMEOUT =
"hbase.storefile.tracking.init.timeout";
public static final long DEFAULT_STOREFILE_TRACKING_INIT_TIMEOUT =
TimeUnit.MINUTES.toMillis(5);

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a bit of an anti-pattern now to put constants in HConstants, but not a major issue IMO.

Comment on lines +56 to +59
* TODO we will need a followup change to introduce in-memory temporarily file, such that further
* we can introduce a non-tracking temporarily storefiles left from a flush or compaction when
* a regionserver crashes without closing the store properly
*/
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The in-memory tmp tracking won't touch the Accessor as nothing will be persisted. I think you can remove this.

private static final byte[] STOREFILE_QUALIFIER = Bytes.toBytes(STOREFILE_QUALIFIER_STR);
private static final int STOREFILE_TABLE_VERSIONS = 3;

// TODO find a way for system table to support region split at table creation or remove this
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

link to a JIRA?

// 3. After table clone and create new HFiles directly into data directory
//
// Also we don't handle the inconsistency between storefile tracking and file system, which
// will be handled by a HBCK command
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JIRA?

ArrayList<StoreFileInfo> storeFiles = new ArrayList<>();
for (Path storeFilePath : pathList) {
if (!StoreFileInfo.isValid(getRegionFs().getFileSystem().getFileStatus(storeFilePath))) {
LOG.warn("Invalid StoreFile: {}, and archiving it", storeFilePath);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: remove 'and'

@taklwu
Copy link
Contributor Author

taklwu commented Mar 16, 2021

Minor comments, approved.

Hey Zach @z-york since your comment are minor and I will implement them in the upcoming JIRA, I will push the commit AS IS to save another around of CI build

In addition, @joshelser I didn't hear back from you so I think the reviewed by @anmolnar should be good enough, and if you want to come back and ask more change, we can have it in a addendum PR/JIRA. I'm pushing this to the feature branch HBASE-24749 and continues on other PRs this week.

@taklwu taklwu merged commit fd649ce into apache:HBASE-24749 Mar 16, 2021
taklwu added a commit that referenced this pull request Mar 16, 2021
taklwu added a commit that referenced this pull request Mar 16, 2021
…ger (#2931)

* HBASE-25395 Introduce PersistedStoreEngine and PersistedStoreFileManager

- Implement HTableStoreFilePathAccessor
- Add loadInitialFiles to StoreFileManager Interface
- refactor and add loadInitialFiles to the base interface,
  such each store file manager implementation could have their
  own way to discovery a list of available files instead of
  just calling fs.getStoreFiles()
- add store instance to each store file manager implementation
- Add PersistedStoreEngine and PersistedStoreFileManager
   that fork the in-memory object in store file manager to
   a off-memory structure that is going to be used when
   region reassign, (re)open, cluster restart and etc.
   This improvement aims for better object store (e.g. S3)
   support without calling LIST to get storefiles from
   a given column family.

Reviewed-by: Andor Molnár <andor@apache.org>
Signed-off-by: Zach York <zyork@apache.org>
@taklwu
Copy link
Contributor Author

taklwu commented Mar 16, 2021

fixed the commit from fd649ce to cca4cbf with adding Reviewed-by: and Signed-off-by: to branch HBASE-24749 , and rebased on master 5457554

taklwu added a commit that referenced this pull request Mar 16, 2021
…ger (#2931)

* HBASE-25395 Introduce PersistedStoreEngine and PersistedStoreFileManager

- Implement HTableStoreFilePathAccessor
- Add loadInitialFiles to StoreFileManager Interface
- refactor and add loadInitialFiles to the base interface,
  such each store file manager implementation could have their
  own way to discovery a list of available files instead of
  just calling fs.getStoreFiles()
- add store instance to each store file manager implementation
- Add PersistedStoreEngine and PersistedStoreFileManager
   that fork the in-memory object in store file manager to
   a off-memory structure that is going to be used when
   region reassign, (re)open, cluster restart and etc.
   This improvement aims for better object store (e.g. S3)
   support without calling LIST to get storefiles from
   a given column family.

Reviewed-by: Andor Molnár <andor@apache.org>
Signed-off-by: Zach York <zyork@apache.org>
wchevreuil pushed a commit to wchevreuil/hbase that referenced this pull request May 19, 2021
…ger (apache#2931)

* HBASE-25395 Introduce PersistedStoreEngine and PersistedStoreFileManager

- Implement HTableStoreFilePathAccessor
- Add loadInitialFiles to StoreFileManager Interface
- refactor and add loadInitialFiles to the base interface,
  such each store file manager implementation could have their
  own way to discovery a list of available files instead of
  just calling fs.getStoreFiles()
- add store instance to each store file manager implementation
- Add PersistedStoreEngine and PersistedStoreFileManager
   that fork the in-memory object in store file manager to
   a off-memory structure that is going to be used when
   region reassign, (re)open, cluster restart and etc.
   This improvement aims for better object store (e.g. S3)
   support without calling LIST to get storefiles from
   a given column family.

Reviewed-by: Andor Molnár <andor@apache.org>
Signed-off-by: Zach York <zyork@apache.org>
wchevreuil pushed a commit to wchevreuil/hbase that referenced this pull request May 24, 2021
…ger (apache#2931)

* HBASE-25395 Introduce PersistedStoreEngine and PersistedStoreFileManager

- Implement HTableStoreFilePathAccessor
- Add loadInitialFiles to StoreFileManager Interface
- refactor and add loadInitialFiles to the base interface,
  such each store file manager implementation could have their
  own way to discovery a list of available files instead of
  just calling fs.getStoreFiles()
- add store instance to each store file manager implementation
- Add PersistedStoreEngine and PersistedStoreFileManager
   that fork the in-memory object in store file manager to
   a off-memory structure that is going to be used when
   region reassign, (re)open, cluster restart and etc.
   This improvement aims for better object store (e.g. S3)
   support without calling LIST to get storefiles from
   a given column family.

Reviewed-by: Andor Molnár <andor@apache.org>
Signed-off-by: Zach York <zyork@apache.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants