[hbase] 01/16: HBASE-26064 Introduce a StoreFileTracker to abstract the store file tracking logic

2021-12-22 Thread elserj
This is an automated email from the ASF dual-hosted git repository.

elserj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 6aaef89789792cd7dd1483d10276273b20a35fa3
Author: Duo Zhang 
AuthorDate: Thu Jul 29 18:35:19 2021 +0800

HBASE-26064 Introduce a StoreFileTracker to abstract the store file 
tracking logic

Signed-off-by: Wellington Chevreuil 
---
 .../hadoop/hbase/mob/DefaultMobStoreCompactor.java |  22 +-
 .../hadoop/hbase/mob/DefaultMobStoreFlusher.java   |   4 +-
 .../regionserver/CreateStoreFileWriterParams.java  | 134 
 .../hbase/regionserver/DateTieredStoreEngine.java  |   5 +-
 .../hbase/regionserver/DefaultStoreEngine.java |   5 +-
 .../hbase/regionserver/DefaultStoreFlusher.java|  11 +-
 .../hadoop/hbase/regionserver/HMobStore.java   |   3 +-
 .../hbase/regionserver/HRegionFileSystem.java  |  10 +-
 .../apache/hadoop/hbase/regionserver/HStore.java   | 729 +
 .../hadoop/hbase/regionserver/StoreContext.java|   9 +
 .../hadoop/hbase/regionserver/StoreEngine.java | 461 -
 .../hbase/regionserver/StoreFileManager.java   |   9 +
 .../hadoop/hbase/regionserver/StoreFlusher.java|   9 +-
 .../hadoop/hbase/regionserver/StoreUtils.java  |  37 +-
 .../hbase/regionserver/StripeStoreEngine.java  |   9 +-
 .../hbase/regionserver/StripeStoreFlusher.java |   9 +-
 .../compactions/AbstractMultiOutputCompactor.java  |   7 +-
 .../hbase/regionserver/compactions/Compactor.java  |  36 +-
 .../regionserver/compactions/DefaultCompactor.java |  16 +-
 .../storefiletracker/DefaultStoreFileTracker.java  |  61 ++
 .../storefiletracker/StoreFileTracker.java |  75 +++
 .../storefiletracker/StoreFileTrackerBase.java | 178 +
 .../storefiletracker/StoreFileTrackerFactory.java  |  35 +
 .../util/compaction/MajorCompactionRequest.java|   1 -
 .../org/apache/hadoop/hbase/TestIOFencing.java |  12 +-
 .../regionserver/TestCacheOnWriteInSchema.java |   6 +-
 .../hbase/regionserver/TestDefaultStoreEngine.java |   5 +-
 .../hadoop/hbase/regionserver/TestHRegion.java |   4 +-
 .../hadoop/hbase/regionserver/TestHStore.java  |  33 +-
 .../TestRegionMergeTransactionOnCluster.java   |   6 +-
 .../regionserver/TestStoreFileRefresherChore.java  |   3 +-
 .../regionserver/TestStoreScannerClosure.java  |   6 +-
 .../hbase/regionserver/TestStripeStoreEngine.java  |   2 +
 .../compactions/TestDateTieredCompactor.java   |  12 +-
 .../compactions/TestStripeCompactionPolicy.java|  12 +-
 .../compactions/TestStripeCompactor.java   |  12 +-
 36 files changed, 1261 insertions(+), 727 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java
index c45fdff..01fe000 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java
@@ -29,7 +29,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map.Entry;
 import java.util.Optional;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;
@@ -144,17 +143,16 @@ public class DefaultMobStoreCompactor extends 
DefaultCompactor {
   };
 
   private final CellSinkFactory writerFactory =
-  new CellSinkFactory() {
-@Override
-public StoreFileWriter createWriter(InternalScanner scanner,
-
org.apache.hadoop.hbase.regionserver.compactions.Compactor.FileDetails fd,
-boolean shouldDropBehind, boolean major) throws IOException {
-  // make this writer with tags always because of possible new cells 
with tags.
-  return store.createWriterInTmp(fd.maxKeyCount,
-major ? majorCompactionCompression : minorCompactionCompression,
-true, true, true, shouldDropBehind);
-}
-  };
+new CellSinkFactory() {
+  @Override
+  public StoreFileWriter createWriter(InternalScanner scanner,
+org.apache.hadoop.hbase.regionserver.compactions.Compactor.FileDetails 
fd,
+boolean shouldDropBehind, boolean major) throws IOException {
+// make this writer with tags always because of possible new cells 
with tags.
+return store.getStoreEngine().createWriter(
+  createParams(fd, shouldDropBehind, 
major).includeMVCCReadpoint(true).includesTag(true));
+  }
+};
 
   public DefaultMobStoreCompactor(Configuration conf, HStore store) {
 super(conf, store);
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreFlusher.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreFlusher.java
index 480b85c..4a1dc7b 100644
--- 

[hbase] 01/16: HBASE-26064 Introduce a StoreFileTracker to abstract the store file tracking logic

2021-12-17 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch HBASE-26067
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 00b02c40821a93afd71ba86fad3e9c336c06bf2e
Author: Duo Zhang 
AuthorDate: Thu Jul 29 18:35:19 2021 +0800

HBASE-26064 Introduce a StoreFileTracker to abstract the store file 
tracking logic

Signed-off-by: Wellington Chevreuil 
---
 .../hadoop/hbase/mob/DefaultMobStoreCompactor.java |  22 +-
 .../hadoop/hbase/mob/DefaultMobStoreFlusher.java   |   4 +-
 .../regionserver/CreateStoreFileWriterParams.java  | 134 
 .../hbase/regionserver/DateTieredStoreEngine.java  |   5 +-
 .../hbase/regionserver/DefaultStoreEngine.java |   5 +-
 .../hbase/regionserver/DefaultStoreFlusher.java|  11 +-
 .../hadoop/hbase/regionserver/HMobStore.java   |   3 +-
 .../hbase/regionserver/HRegionFileSystem.java  |  10 +-
 .../apache/hadoop/hbase/regionserver/HStore.java   | 729 +
 .../hadoop/hbase/regionserver/StoreContext.java|   9 +
 .../hadoop/hbase/regionserver/StoreEngine.java | 461 -
 .../hbase/regionserver/StoreFileManager.java   |   9 +
 .../hadoop/hbase/regionserver/StoreFlusher.java|   9 +-
 .../hadoop/hbase/regionserver/StoreUtils.java  |  37 +-
 .../hbase/regionserver/StripeStoreEngine.java  |   9 +-
 .../hbase/regionserver/StripeStoreFlusher.java |   9 +-
 .../compactions/AbstractMultiOutputCompactor.java  |   7 +-
 .../hbase/regionserver/compactions/Compactor.java  |  36 +-
 .../regionserver/compactions/DefaultCompactor.java |  16 +-
 .../storefiletracker/DefaultStoreFileTracker.java  |  61 ++
 .../storefiletracker/StoreFileTracker.java |  75 +++
 .../storefiletracker/StoreFileTrackerBase.java | 178 +
 .../storefiletracker/StoreFileTrackerFactory.java  |  35 +
 .../util/compaction/MajorCompactionRequest.java|   1 -
 .../org/apache/hadoop/hbase/TestIOFencing.java |  12 +-
 .../regionserver/TestCacheOnWriteInSchema.java |   6 +-
 .../hbase/regionserver/TestDefaultStoreEngine.java |   5 +-
 .../hadoop/hbase/regionserver/TestHRegion.java |   4 +-
 .../hadoop/hbase/regionserver/TestHStore.java  |  33 +-
 .../TestRegionMergeTransactionOnCluster.java   |   6 +-
 .../regionserver/TestStoreFileRefresherChore.java  |   3 +-
 .../regionserver/TestStoreScannerClosure.java  |   6 +-
 .../hbase/regionserver/TestStripeStoreEngine.java  |   2 +
 .../compactions/TestDateTieredCompactor.java   |  12 +-
 .../compactions/TestStripeCompactionPolicy.java|  12 +-
 .../compactions/TestStripeCompactor.java   |  12 +-
 36 files changed, 1261 insertions(+), 727 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java
index c45fdff..01fe000 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java
@@ -29,7 +29,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map.Entry;
 import java.util.Optional;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;
@@ -144,17 +143,16 @@ public class DefaultMobStoreCompactor extends 
DefaultCompactor {
   };
 
   private final CellSinkFactory writerFactory =
-  new CellSinkFactory() {
-@Override
-public StoreFileWriter createWriter(InternalScanner scanner,
-
org.apache.hadoop.hbase.regionserver.compactions.Compactor.FileDetails fd,
-boolean shouldDropBehind, boolean major) throws IOException {
-  // make this writer with tags always because of possible new cells 
with tags.
-  return store.createWriterInTmp(fd.maxKeyCount,
-major ? majorCompactionCompression : minorCompactionCompression,
-true, true, true, shouldDropBehind);
-}
-  };
+new CellSinkFactory() {
+  @Override
+  public StoreFileWriter createWriter(InternalScanner scanner,
+org.apache.hadoop.hbase.regionserver.compactions.Compactor.FileDetails 
fd,
+boolean shouldDropBehind, boolean major) throws IOException {
+// make this writer with tags always because of possible new cells 
with tags.
+return store.getStoreEngine().createWriter(
+  createParams(fd, shouldDropBehind, 
major).includeMVCCReadpoint(true).includesTag(true));
+  }
+};
 
   public DefaultMobStoreCompactor(Configuration conf, HStore store) {
 super(conf, store);
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreFlusher.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreFlusher.java
index 480b85c..4a1dc7b 100644
---