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)