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

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


The following commit(s) were added to refs/heads/master by this push:
     new 744f2a1b6c0 [HUDI-7286] Flink get hudi index type ignore case 
sensitive (#10476)
744f2a1b6c0 is described below

commit 744f2a1b6c08d283b8cd48db39f19091bcc11cfd
Author: akido <[email protected]>
AuthorDate: Tue Jan 16 10:39:14 2024 +0800

    [HUDI-7286] Flink get hudi index type ignore case sensitive (#10476)
---
 .../apache/hudi/configuration/OptionsResolver.java |  2 +-
 .../hudi/configuration/TestOptionsResolver.java    | 56 ++++++++++++++++++++++
 2 files changed, 57 insertions(+), 1 deletion(-)

diff --git 
a/hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/configuration/OptionsResolver.java
 
b/hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/configuration/OptionsResolver.java
index 59c6e79ddc1..fbe8fcdd62b 100644
--- 
a/hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/configuration/OptionsResolver.java
+++ 
b/hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/configuration/OptionsResolver.java
@@ -340,7 +340,7 @@ public class OptionsResolver {
    * Returns the index type.
    */
   public static HoodieIndex.IndexType getIndexType(Configuration conf) {
-    return 
HoodieIndex.IndexType.valueOf(conf.getString(FlinkOptions.INDEX_TYPE));
+    return 
HoodieIndex.IndexType.valueOf(conf.getString(FlinkOptions.INDEX_TYPE).toUpperCase());
   }
 
   /**
diff --git 
a/hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/configuration/TestOptionsResolver.java
 
b/hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/configuration/TestOptionsResolver.java
new file mode 100644
index 00000000000..a68a4ab4d41
--- /dev/null
+++ 
b/hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/configuration/TestOptionsResolver.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hudi.configuration;
+
+import org.apache.flink.configuration.Configuration;
+import org.apache.hudi.common.model.WriteConcurrencyMode;
+import org.apache.hudi.config.HoodieWriteConfig;
+import org.apache.hudi.index.HoodieIndex;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
+
+import java.io.File;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+/**
+ * Test for {@link OptionsResolver}
+ */
+public class TestOptionsResolver {
+  @TempDir
+  File tempFile;
+  
+  @Test
+  void testGetIndexType() {
+    Configuration conf = getConf();
+    // set uppercase index
+    conf.setString(FlinkOptions.INDEX_TYPE, "BLOOM");
+    assertEquals(HoodieIndex.IndexType.BLOOM, 
OptionsResolver.getIndexType(conf));
+    // set lowercase index
+    conf.setString(FlinkOptions.INDEX_TYPE, "bloom");
+    assertEquals(HoodieIndex.IndexType.BLOOM, 
OptionsResolver.getIndexType(conf));
+  }
+  
+  private Configuration getConf() {
+    Configuration conf = new Configuration();
+    conf.setString(HoodieWriteConfig.WRITE_CONCURRENCY_MODE.key(), 
WriteConcurrencyMode.OPTIMISTIC_CONCURRENCY_CONTROL.name());
+    conf.setString(FlinkOptions.PATH, tempFile.getAbsolutePath());
+    return conf;
+  }
+}

Reply via email to