guluo created HBASE-28828:
-----------------------------

             Summary: Should check if table exists firstly when executing 
ExpiredMobFileCleaner
                 Key: HBASE-28828
                 URL: https://issues.apache.org/jira/browse/HBASE-28828
             Project: HBase
          Issue Type: Improvement
          Components: mob
    Affects Versions: 2.4.13
         Environment: hbase 2.4.13

Centos
            Reporter: guluo


We would get the following error message when specifing an non_existing table 
whild executing ExpiredMobFileCleaner.

./bin/hbase org.apache.hadoop.hbase.mob.ExpiredMobFileCleaner  t04_mob01 info

Exception in thread "main" org.apache.hadoop.hbase.TableNotFoundException: 
t04_mob01
        at java.base/java.lang.Thread.getStackTrace(Thread.java:1610)
        at 
org.apache.hadoop.hbase.util.FutureUtils.setStackTrace(FutureUtils.java:144)
        at 
org.apache.hadoop.hbase.util.FutureUtils.rethrow(FutureUtils.java:163)
        at org.apache.hadoop.hbase.util.FutureUtils.get(FutureUtils.java:186)
        at 
org.apache.hadoop.hbase.client.AdminOverAsyncAdmin.getDescriptor(AdminOverAsyncAdmin.java:172)
        at 
org.apache.hadoop.hbase.mob.ExpiredMobFileCleaner.run(ExpiredMobFileCleaner.java:99)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:82)
        at 
org.apache.hadoop.hbase.mob.ExpiredMobFileCleaner.main(ExpiredMobFileCleaner.java:75)
        at --------Future.get--------(Unknown Source)
        at 
org.apache.hadoop.hbase.client.RawAsyncHBaseAdmin.lambda$getDescriptor$24(RawAsyncHBaseAdmin.java:654)
        at 
org.apache.hadoop.hbase.util.FutureUtils.lambda$addListener$0(FutureUtils.java:71)
        at 
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
        at 
java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
        at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
        at 
java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
        at 
org.apache.hadoop.hbase.client.AsyncMasterRequestRpcRetryingCaller.lambda$doCall$4(AsyncMasterRequestRpcRetryingCaller.java:80)
        at 
org.apache.hadoop.hbase.util.FutureUtils.lambda$addListener$0(FutureUtils.java:71)
        at 
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
        at 
java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
        at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
        at 
java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
        at 
org.apache.hadoop.hbase.client.RawAsyncHBaseAdmin$1.run(RawAsyncHBaseAdmin.java:467)
        at 
org.apache.hbase.thirdparty.com.google.protobuf.RpcUtil$1.run(RpcUtil.java:56)

Maybe it is better to return concise information when table does not exist by 
checking table exists firstly.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to