You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by yo...@apache.org on 2023/01/12 16:12:09 UTC

[iotdb] branch Move-ConfigNodeConfig-into-CommonConfig updated: For test

This is an automated email from the ASF dual-hosted git repository.

yongzao pushed a commit to branch Move-ConfigNodeConfig-into-CommonConfig
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/Move-ConfigNodeConfig-into-CommonConfig by this push:
     new 0b7ad9f977 For test
0b7ad9f977 is described below

commit 0b7ad9f977fc8c740fc84be2d17c9e4c5cf66a3f
Author: YongzaoDan <53...@qq.com>
AuthorDate: Fri Jan 13 00:11:56 2023 +0800

    For test
---
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |  4 ++--
 .../confignode/persistence/node/NodeInfo.java      |  6 ++---
 .../procedure/env/ConfigNodeProcedureEnv.java      |  7 ++++--
 .../procedure/env/DataNodeRemoveHandler.java       | 14 +++++------
 .../service/thrift/ConfigNodeRPCService.java       |  2 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |  7 +++---
 .../db/integration/IoTDBQueryWithIDTableIT.java    |  3 ++-
 .../apache/iotdb/commons/conf/CommonConfig.java    | 16 ++++++-------
 .../iotdb/commons/conf/CommonDescriptor.java       |  3 ++-
 .../apache/iotdb/commons/conf/PropertiesUtils.java |  2 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  | 27 ++++-----------------
 .../iotdb/tsfile/common/conf/TSFileConfig.java     |  2 +-
 .../file/metadata/enums/CompressionType.java       | 28 ++++++++++++++++++++++
 13 files changed, 67 insertions(+), 54 deletions(-)

diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
index 33efe45e6d..dc597e8125 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
@@ -102,8 +102,8 @@ public class ConfigNodeConfig {
 
   public void formulateFolders() {
     String homeDir = System.getProperty(ConfigNodeConstant.CONFIGNODE_HOME, null);
-    cnSystemDir = PropertiesUtils.addHomeDir(cnSystemDir, homeDir);
-    cnConsensusDir = PropertiesUtils.addHomeDir(cnConsensusDir, homeDir);
+    cnSystemDir = PropertiesUtils.addHomeDir(homeDir, cnSystemDir);
+    cnConsensusDir = PropertiesUtils.addHomeDir(homeDir, cnConsensusDir);
   }
 
   public String getCnInternalAddress() {
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/node/NodeInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/node/NodeInfo.java
index 67790476ff..90787aaa81 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/node/NodeInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/node/NodeInfo.java
@@ -21,8 +21,8 @@ package org.apache.iotdb.confignode.persistence.node;
 import org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation;
 import org.apache.iotdb.common.rpc.thrift.TDataNodeConfiguration;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
+import org.apache.iotdb.commons.conf.CommonDescriptor;
 import org.apache.iotdb.commons.snapshot.SnapshotProcessor;
-import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
 import org.apache.iotdb.confignode.conf.SystemPropertiesUtils;
 import org.apache.iotdb.confignode.consensus.request.read.datanode.GetDataNodeConfigurationPlan;
 import org.apache.iotdb.confignode.consensus.request.write.confignode.ApplyConfigNodePlan;
@@ -71,8 +71,8 @@ public class NodeInfo implements SnapshotProcessor {
 
   private static final int MINIMUM_DATANODE =
       Math.max(
-          ConfigNodeDescriptor.getInstance().getConf().getSchemaReplicationFactor(),
-          ConfigNodeDescriptor.getInstance().getConf().getDataReplicationFactor());
+          CommonDescriptor.getInstance().getConf().getSchemaReplicationFactor(),
+          CommonDescriptor.getInstance().getConf().getDataReplicationFactor());
 
   // Registered ConfigNodes
   private final ReentrantReadWriteLock configNodeInfoReadWriteLock;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
index 4ef8c1d401..106e2e271f 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
@@ -28,6 +28,7 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.cluster.NodeStatus;
 import org.apache.iotdb.commons.cluster.RegionStatus;
+import org.apache.iotdb.commons.conf.CommonDescriptor;
 import org.apache.iotdb.commons.trigger.TriggerInformation;
 import org.apache.iotdb.confignode.client.ConfigNodeRequestType;
 import org.apache.iotdb.confignode.client.DataNodeRequestType;
@@ -35,7 +36,6 @@ import org.apache.iotdb.confignode.client.async.AsyncDataNodeClientPool;
 import org.apache.iotdb.confignode.client.async.handlers.AsyncClientHandler;
 import org.apache.iotdb.confignode.client.sync.SyncConfigNodeClientPool;
 import org.apache.iotdb.confignode.client.sync.SyncDataNodeClientPool;
-import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
 import org.apache.iotdb.confignode.consensus.request.write.confignode.RemoveConfigNodePlan;
 import org.apache.iotdb.confignode.consensus.request.write.region.CreateRegionGroupsPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteStorageGroupPlan;
@@ -549,7 +549,10 @@ public class ConfigNodeProcedureEnv {
     // Select leader greedily for iot consensus protocol
     if (TConsensusGroupType.DataRegion.equals(regionGroupId.getType())
         && ConsensusFactory.IOT_CONSENSUS.equals(
-            ConfigNodeDescriptor.getInstance().getConf().getDataRegionConsensusProtocolClass())) {
+            CommonDescriptor.getInstance()
+                .getConf()
+                .getDataRegionConsensusProtocolClass()
+                .getProtocol())) {
       List<Integer> availableDataNodes = new ArrayList<>();
       for (Map.Entry<Integer, RegionStatus> statusEntry : regionStatusMap.entrySet()) {
         if (RegionStatus.isNormalStatus(statusEntry.getValue())) {
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/DataNodeRemoveHandler.java b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/DataNodeRemoveHandler.java
index 5e9478b49c..8339d027f9 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/DataNodeRemoveHandler.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/DataNodeRemoveHandler.java
@@ -25,10 +25,10 @@ import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
 import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.cluster.NodeStatus;
+import org.apache.iotdb.commons.conf.CommonConfig;
+import org.apache.iotdb.commons.conf.CommonDescriptor;
 import org.apache.iotdb.confignode.client.DataNodeRequestType;
 import org.apache.iotdb.confignode.client.sync.SyncDataNodeClientPool;
-import org.apache.iotdb.confignode.conf.ConfigNodeConfig;
-import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
 import org.apache.iotdb.confignode.consensus.request.write.datanode.RemoveDataNodePlan;
 import org.apache.iotdb.confignode.consensus.request.write.partition.UpdateRegionLocationPlan;
 import org.apache.iotdb.confignode.consensus.response.DataNodeToStatusResp;
@@ -58,7 +58,7 @@ import static org.apache.iotdb.consensus.ConsensusFactory.SIMPLE_CONSENSUS;
 public class DataNodeRemoveHandler {
   private static final Logger LOGGER = LoggerFactory.getLogger(DataNodeRemoveHandler.class);
 
-  private static final ConfigNodeConfig CONF = ConfigNodeDescriptor.getInstance().getConf();
+  private static final CommonConfig CONF = CommonDescriptor.getInstance().getConf();
 
   private final ConfigManager configManager;
 
@@ -181,7 +181,7 @@ public class DataNodeRemoveHandler {
 
     List<TDataNodeLocation> currentPeerNodes;
     if (TConsensusGroupType.DataRegion.equals(regionId.getType())
-        && IOT_CONSENSUS.equals(CONF.getDataRegionConsensusProtocolClass())) {
+        && IOT_CONSENSUS.equals(CONF.getDataRegionConsensusProtocolClass().getProtocol())) {
       // parameter of createPeer for MultiLeader should be all peers
       currentPeerNodes = new ArrayList<>(regionReplicaNodes);
       currentPeerNodes.add(destDataNode);
@@ -578,7 +578,7 @@ public class DataNodeRemoveHandler {
         filterDataNodeWithOtherRegionReplica(regionId, originalDataNode);
 
     if (TConsensusGroupType.DataRegion.equals(regionId.getType())
-        && IOT_CONSENSUS.equals(CONF.getDataRegionConsensusProtocolClass())) {
+        && IOT_CONSENSUS.equals(CONF.getDataRegionConsensusProtocolClass().getProtocol())) {
       if (CONF.getDataReplicationFactor() == 1) {
         newLeaderNode = Optional.of(migrateDestDataNode);
       }
@@ -661,8 +661,8 @@ public class DataNodeRemoveHandler {
    */
   private TSStatus checkClusterProtocol() {
     TSStatus status = new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    if (CONF.getDataRegionConsensusProtocolClass().equals(SIMPLE_CONSENSUS)
-        || CONF.getSchemaRegionConsensusProtocolClass().equals(SIMPLE_CONSENSUS)) {
+    if (CONF.getDataRegionConsensusProtocolClass().getProtocol().equals(SIMPLE_CONSENSUS)
+        || CONF.getSchemaRegionConsensusProtocolClass().getProtocol().equals(SIMPLE_CONSENSUS)) {
       status.setCode(TSStatusCode.REMOVE_DATANODE_ERROR.getStatusCode());
       status.setMessage("SimpleConsensus protocol is not supported to remove data node");
     }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCService.java b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCService.java
index 07ba7ac1b7..7c65225481 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCService.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCService.java
@@ -74,7 +74,7 @@ public class ConfigNodeRPCService extends ThriftService implements ConfigNodeRPC
               configConf.getCnRpcMaxConcurrentClientNum(),
               configConf.getCnConnectionTimeoutMs() / 1000,
               new ConfigNodeRPCServiceHandler(),
-              commonConfig.isRpcThriftCompressionEnabled());
+              configConf.isCnRpcThriftCompressionEnable());
     } catch (RPCServiceException e) {
       throw new IllegalAccessException(e.getMessage());
     }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
index 646bae2e1f..809038da38 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
@@ -31,7 +31,6 @@ import org.apache.iotdb.commons.path.PathPatternTree;
 import org.apache.iotdb.commons.utils.StatusUtils;
 import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.confignode.conf.ConfigNodeConstant;
-import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
 import org.apache.iotdb.confignode.conf.SystemPropertiesUtils;
 import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
@@ -280,15 +279,15 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
     }
     if (!storageGroupSchema.isSetSchemaReplicationFactor()) {
       storageGroupSchema.setSchemaReplicationFactor(
-          ConfigNodeDescriptor.getInstance().getConf().getSchemaReplicationFactor());
+          CommonDescriptor.getInstance().getConf().getSchemaReplicationFactor());
     }
     if (!storageGroupSchema.isSetDataReplicationFactor()) {
       storageGroupSchema.setDataReplicationFactor(
-          ConfigNodeDescriptor.getInstance().getConf().getDataReplicationFactor());
+          CommonDescriptor.getInstance().getConf().getDataReplicationFactor());
     }
     if (!storageGroupSchema.isSetTimePartitionInterval()) {
       storageGroupSchema.setTimePartitionInterval(
-          ConfigNodeDescriptor.getInstance().getConf().getTimePartitionInterval());
+          CommonDescriptor.getInstance().getConf().getTimePartitionInterval());
     }
 
     // Initialize the maxSchemaRegionGroupCount and maxDataRegionGroupCount as 0
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryWithIDTableIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryWithIDTableIT.java
index 892f6ef43c..21d9ac64aa 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryWithIDTableIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryWithIDTableIT.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.integration;
 
+import org.apache.iotdb.commons.conf.CommonDescriptor;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.metadata.idtable.entry.DeviceIDFactory;
 import org.apache.iotdb.integration.env.ConfigFactory;
@@ -108,7 +109,7 @@ public class IoTDBQueryWithIDTableIT {
 
   @BeforeClass
   public static void setUp() throws Exception {
-    IoTDBDescriptor.getInstance().getConf().setAutoCreateSchemaEnabled(true);
+    CommonDescriptor.getInstance().getConf().setEnableAutoCreateSchema(true);
     isEnableIDTable = IoTDBDescriptor.getInstance().getConf().isEnableIDTable();
     originalDeviceIDTransformationMethod =
         IoTDBDescriptor.getInstance().getConf().getDeviceIDTransformationMethod();
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonConfig.java b/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonConfig.java
index e3ef286ed3..a7f21f47dc 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonConfig.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonConfig.java
@@ -649,14 +649,14 @@ public class CommonConfig {
       homeDir = System.getProperty(IoTDBConstant.CONFIGNODE_HOME, null);
     }
 
-    udfDir = PropertiesUtils.addHomeDir(udfDir, homeDir);
-    udfTemporaryLibDir = PropertiesUtils.addHomeDir(udfTemporaryLibDir, homeDir);
-    triggerDir = PropertiesUtils.addHomeDir(triggerDir, homeDir);
-    triggerTemporaryLibDir = PropertiesUtils.addHomeDir(triggerTemporaryLibDir, homeDir);
-
-    userFolder = PropertiesUtils.addHomeDir(userFolder, homeDir);
-    roleFolder = PropertiesUtils.addHomeDir(roleFolder, homeDir);
-    procedureWalFolder = PropertiesUtils.addHomeDir(procedureWalFolder, homeDir);
+    udfDir = PropertiesUtils.addHomeDir(homeDir, udfDir);
+    udfTemporaryLibDir = PropertiesUtils.addHomeDir(homeDir, udfTemporaryLibDir);
+    triggerDir = PropertiesUtils.addHomeDir(homeDir, triggerDir);
+    triggerTemporaryLibDir = PropertiesUtils.addHomeDir(homeDir, triggerTemporaryLibDir);
+
+    userFolder = PropertiesUtils.addHomeDir(homeDir, userFolder);
+    roleFolder = PropertiesUtils.addHomeDir(homeDir, roleFolder);
+    procedureWalFolder = PropertiesUtils.addHomeDir(homeDir, procedureWalFolder);
   }
 
   public String getClusterName() {
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonDescriptor.java b/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonDescriptor.java
index 464967f200..5bcb43083c 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonDescriptor.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonDescriptor.java
@@ -1087,7 +1087,8 @@ public class CommonDescriptor {
     tsFileConfig.setValueEncoder(
         properties.getProperty("value_encoder", tsFileConfig.getValueEncoder()));
 
-    tsFileConfig.setCompressor(properties.getProperty("compressor", tsFileConfig.toString()));
+    tsFileConfig.setCompressor(
+        properties.getProperty("compressor", tsFileConfig.getCompressor().getName()));
 
     tsFileConfig.setMaxDegreeOfIndexNode(
         Integer.parseInt(
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/conf/PropertiesUtils.java b/node-commons/src/main/java/org/apache/iotdb/commons/conf/PropertiesUtils.java
index 3a96edf058..25c64f072e 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/conf/PropertiesUtils.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/conf/PropertiesUtils.java
@@ -101,7 +101,7 @@ public class PropertiesUtils {
     }
   }
 
-  public static String addHomeDir(String dir, String homeDir) {
+  public static String addHomeDir(String homeDir, String dir) {
     if (!new File(dir).isAbsolute() && homeDir != null && homeDir.length() > 0) {
       if (!homeDir.endsWith(File.separator)) {
         dir = homeDir + File.separatorChar + dir;
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
index e65b443d8f..4a5f320ac3 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
@@ -126,32 +126,13 @@ public class IoTDBDescriptor {
   /** load an property file and set TsfileDBConfig variables. */
   @SuppressWarnings("squid:S3776") // Suppress high Cognitive Complexity warning
   private void loadProps() {
-    URL url = getPropsUrl(CommonConfig.CONF_FILE_NAME);
-    Properties commonProperties = new Properties();
-    if (url != null) {
-      try (InputStream inputStream = url.openStream()) {
-        LOGGER.info("Start to read config file {}", url);
-        commonProperties.load(inputStream);
-      } catch (FileNotFoundException e) {
-        LOGGER.warn("Fail to find config file {}", url, e);
-      } catch (IOException e) {
-        LOGGER.warn("Cannot load config file, use default configuration", e);
-      } catch (Exception e) {
-        LOGGER.warn("Incorrect format in config file, use default configuration", e);
-      }
-    } else {
-      LOGGER.warn(
-          "Couldn't load the configuration {} from any of the known sources.",
-          CommonConfig.CONF_FILE_NAME);
-    }
-    url = getPropsUrl(IoTDBConfig.CONFIG_NAME);
+    URL url = getPropsUrl(IoTDBConfig.CONFIG_NAME);
+    Properties properties = new Properties();
     if (url != null) {
       try (InputStream inputStream = url.openStream()) {
         LOGGER.info("Start to read config file {}", url);
-        Properties properties = new Properties();
         properties.load(inputStream);
-        commonProperties.putAll(properties);
-        loadProperties(commonProperties);
+        loadProperties(properties);
       } catch (FileNotFoundException e) {
         LOGGER.warn("Fail to find config file {}", url, e);
       } catch (IOException e) {
@@ -164,7 +145,7 @@ public class IoTDBDescriptor {
 
         CommonDescriptor.getInstance().initCommonConfigDir(CONF.getDnSystemDir());
 
-        MetricConfigDescriptor.getInstance().loadProps(commonProperties);
+        MetricConfigDescriptor.getInstance().loadProps(properties);
         MetricConfigDescriptor.getInstance()
             .getMetricConfig()
             .updateRpcInstance(CONF.getDnInternalAddress(), CONF.getDnInternalPort());
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/common/conf/TSFileConfig.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/common/conf/TSFileConfig.java
index 1ab214e62c..bfc6119d92 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/common/conf/TSFileConfig.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/common/conf/TSFileConfig.java
@@ -299,7 +299,7 @@ public class TSFileConfig implements Serializable {
   }
 
   public void setCompressor(String compressor) {
-    this.compressor = CompressionType.valueOf(compressor);
+    this.compressor = CompressionType.parse(compressor);
   }
 
   public int getPageCheckSizeThreshold() {
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/CompressionType.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/CompressionType.java
index 1187d0376d..1ed41a1af6 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/CompressionType.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/CompressionType.java
@@ -40,6 +40,34 @@ public enum CompressionType {
     this.index = index;
   }
 
+  public static CompressionType parse(String compressor) {
+    switch (compressor) {
+      case "UNCOMPRESSED":
+        return UNCOMPRESSED;
+      case "GZIP":
+        return GZIP;
+      case "LZ4":
+        return LZ4;
+      case "SNAPPY":
+      default:
+        return SNAPPY;
+    }
+  }
+
+  public String getName() {
+    switch (index) {
+      case 0:
+        return "UNCOMPRESSED";
+      case 2:
+        return "GZIP";
+      case 7:
+        return "LZ4";
+      case 1:
+      default:
+        return "SNAPPY";
+    }
+  }
+
   /**
    * deserialize byte number.
    *