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:42 UTC

[hbase] branch branch-2.5 updated (4f50c305378 -> cbdf2f2d16a)

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

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


    from 4f50c305378 HBASE-27870 Eliminate the 'WARNING: package jdk.internal.util.random not in java.base' when running UTs with jdk11 (#5242)
     new 91dd29e869c HBASE-27848:Should fast-fail if unmatched column family exists when using ImportTsv (#5225)
     new cbdf2f2d16a 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.5
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit cbdf2f2d16a4c914f8eb6dbe714241f3960b2eb3
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 b92c85acacf..ada7bef530d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2549,7 +2549,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.5
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 91dd29e869cd9e35c264ac90b1246d95f8f64cd8
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 665ff93a977..d7833fabeaf 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.EnvironmentEdgeManager;
 import org.apache.hadoop.hbase.util.Pair;
@@ -554,6 +555,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 737ae178b63..8a30e404cff 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" };