You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2023/05/21 12:00:31 UTC

[hbase] branch branch-2.4 updated (364cb370df4 -> d196e63aaf7)

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

zhangduo pushed a change to branch branch-2.4
in repository https://gitbox.apache.org/repos/asf/hbase.git


    from 364cb370df4 HBASE-27870 Eliminate the 'WARNING: package jdk.internal.util.random not in java.base' when running UTs with jdk11 (#5242)
     new fd4a1c63837 HBASE-27848:Should fast-fail if unmatched column family exists when using ImportTsv (#5225)
     new d196e63aaf7 HBASE-27634 Builds emit errors related to SBOM parsing (#5246)

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/hadoop/hbase/mapreduce/ImportTsv.java   | 17 +++++++++++++++++
 .../hadoop/hbase/mapreduce/TestImportTsv.java      | 22 ++++++++++++++++++++++
 pom.xml                                            |  2 +-
 3 files changed, 40 insertions(+), 1 deletion(-)


[hbase] 02/02: HBASE-27634 Builds emit errors related to SBOM parsing (#5246)

Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit d196e63aaf7728be6c41cb6db4e06a9541ea9d12
Author: Shuhei Yamasaki <ya...@oss.nttdata.com>
AuthorDate: Sun May 21 20:52:07 2023 +0900

    HBASE-27634 Builds emit errors related to SBOM parsing (#5246)
    
    Update CycloneDX version
    
    Signed-off-by: Duo Zhang <zh...@apache.org>
    (cherry picked from commit 49bdf6140eabcdbe2b1619bfb0f4de7f69b32c15)
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 3aa12fc7ae4..6ecdc3285b5 100755
--- a/pom.xml
+++ b/pom.xml
@@ -2351,7 +2351,7 @@
       <plugin>
         <groupId>org.cyclonedx</groupId>
         <artifactId>cyclonedx-maven-plugin</artifactId>
-        <version>2.7.3</version>
+        <version>2.7.6</version>
         <executions>
           <execution>
             <goals>


[hbase] 01/02: HBASE-27848:Should fast-fail if unmatched column family exists when using ImportTsv (#5225)

Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit fd4a1c638378b92f281b8c8a1278bc3a9d54b19b
Author: guluo <lu...@qq.com>
AuthorDate: Sun May 21 19:47:27 2023 +0800

    HBASE-27848:Should fast-fail if unmatched column family exists when using ImportTsv (#5225)
    
    Signed-off-by: Duo Zhang <zh...@apache.org>
    (cherry picked from commit ce29f97a809a849bf067fa3571fd775fb596fc10)
---
 .../apache/hadoop/hbase/mapreduce/ImportTsv.java   | 17 +++++++++++++++++
 .../hadoop/hbase/mapreduce/TestImportTsv.java      | 22 ++++++++++++++++++++++
 2 files changed, 39 insertions(+)

diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/ImportTsv.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/ImportTsv.java
index 2c1a2ddae24..3318dd3cc11 100644
--- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/ImportTsv.java
+++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/ImportTsv.java
@@ -45,6 +45,7 @@ import org.apache.hadoop.hbase.client.RegionLocator;
 import org.apache.hadoop.hbase.client.Table;
 import org.apache.hadoop.hbase.client.TableDescriptor;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
+import org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.Pair;
 import org.apache.hadoop.io.Text;
@@ -553,6 +554,22 @@ public class ImportTsv extends Configured implements Tool {
             LOG.error(errorMsg);
             throw new TableNotFoundException(errorMsg);
           }
+          try (Table table = connection.getTable(tableName)) {
+            ArrayList<String> unmatchedFamilies = new ArrayList<>();
+            Set<String> cfSet = getColumnFamilies(columns);
+            TableDescriptor tDesc = table.getDescriptor();
+            for (String cf : cfSet) {
+              if (!tDesc.hasColumnFamily(Bytes.toBytes(cf))) {
+                unmatchedFamilies.add(cf);
+              }
+            }
+            if (unmatchedFamilies.size() > 0) {
+              String noSuchColumnFamiliesMsg =
+                format("Column families: %s do not exist.", unmatchedFamilies);
+              LOG.error(noSuchColumnFamiliesMsg);
+              throw new NoSuchColumnFamilyException(noSuchColumnFamiliesMsg);
+            }
+          }
           if (mapperClass.equals(TsvImporterTextMapper.class)) {
             usage(TsvImporterTextMapper.class.toString()
               + " should not be used for non bulkloading case. use "
diff --git a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
index 43516f20e84..374f444a711 100644
--- a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
+++ b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
@@ -51,6 +51,7 @@ import org.apache.hadoop.hbase.client.Table;
 import org.apache.hadoop.hbase.io.hfile.CacheConfig;
 import org.apache.hadoop.hbase.io.hfile.HFile;
 import org.apache.hadoop.hbase.io.hfile.HFileScanner;
+import org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException;
 import org.apache.hadoop.hbase.testclassification.LargeTests;
 import org.apache.hadoop.hbase.testclassification.VerySlowMapReduceTests;
 import org.apache.hadoop.hbase.util.Bytes;
@@ -241,6 +242,27 @@ public class TestImportTsv implements Configurable {
       }, args));
   }
 
+  @Test
+  public void testMRNoMatchedColumnFamily() throws Exception {
+    util.createTable(tn, FAMILY);
+
+    String[] args = new String[] {
+      "-D" + ImportTsv.COLUMNS_CONF_KEY
+        + "=HBASE_ROW_KEY,FAM:A,FAM01_ERROR:A,FAM01_ERROR:B,FAM02_ERROR:C",
+      tn.getNameAsString(), "/inputFile" };
+    exception.expect(NoSuchColumnFamilyException.class);
+    assertEquals("running test job configuration failed.", 0,
+      ToolRunner.run(new Configuration(util.getConfiguration()), new ImportTsv() {
+        @Override
+        public int run(String[] args) throws Exception {
+          createSubmittableJob(getConf(), args);
+          return 0;
+        }
+      }, args));
+
+    util.deleteTable(tn);
+  }
+
   @Test
   public void testMRWithoutAnExistingTable() throws Exception {
     String[] args = new String[] { tn.getNameAsString(), "/inputFile" };