Wellington Chevreuil created HBASE-26326:
--------------------------------------------
Summary: CreateTableProcedure fails when FileBasedStoreFileTracker
is set in global config
Key: HBASE-26326
URL: https://issues.apache.org/jira/browse/HBASE-26326
Project: HBase
Issue Type: Sub-task
Reporter: Wellington Chevreuil
Assignee: Wellington Chevreuil
CreateTableProcedure tries to instantiate SFT impl in its preCreate method so
that the give SFT impl can update the tbl descriptor with all its required
configs. When global config is set to FILE, FileBasedStoreFileTracker currently
needs store dir path at it's constructor, but we don't have this info at this
stage, so FileBasedStoreFileTracker get's an NPE:
{noformat}
2021-10-01 14:28:21,310 ERROR
org.apache.hadoop.hbase.procedure2.ProcedureExecutor: CODE-BUG: Uncaught
runtime exception: pid=54, state=RUNNABLE:CREATE_TABLE_PRE_OPERATION,
locked=true; CreateTableProcedure table=test-3
java.lang.UnsupportedOperationException: Constructor threw an exception for
org.apache.hadoop.hbase.regionserver.storefiletracker.MigrationStoreFileTracker
at
org.apache.hadoop.hbase.util.ReflectionUtils.instantiate(ReflectionUtils.java:66)
at
org.apache.hadoop.hbase.util.ReflectionUtils.newInstance(ReflectionUtils.java:72)
at
org.apache.hadoop.hbase.regionserver.storefiletracker.StoreFileTrackerFactory.create(StoreFileTrackerFactory.java:107)
at
org.apache.hadoop.hbase.regionserver.storefiletracker.StoreFileTrackerFactory.persistTrackerConfig(StoreFileTrackerFactory.java:164)
at
org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.preCreate(CreateTableProcedure.java:274)
at
org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:102)
at
org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:58)
at
org.apache.hadoop.hbase.procedure2.StateMachineProcedure.execute(StateMachineProcedure.java:194)
at
org.apache.hadoop.hbase.procedure2.Procedure.doExecute(Procedure.java:962)
at
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execProcedure(ProcedureExecutor.java:1662)
at
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.executeProcedure(ProcedureExecutor.java:1409)
at
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.access$1100(ProcedureExecutor.java:78)
at
org.apache.hadoop.hbase.procedure2.ProcedureExecutor$WorkerThread.run(ProcedureExecutor.java:1979)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at
org.apache.hadoop.hbase.util.ReflectionUtils.instantiate(ReflectionUtils.java:58)
... 12 more
Caused by: java.lang.UnsupportedOperationException: Constructor threw an
exception for
org.apache.hadoop.hbase.regionserver.storefiletracker.FileBasedStoreFileTracker
at
org.apache.hadoop.hbase.util.ReflectionUtils.instantiate(ReflectionUtils.java:66)
at
org.apache.hadoop.hbase.util.ReflectionUtils.newInstance(ReflectionUtils.java:72)
at
org.apache.hadoop.hbase.regionserver.storefiletracker.StoreFileTrackerFactory.createForMigration(StoreFileTrackerFactory.java:157)
at
org.apache.hadoop.hbase.regionserver.storefiletracker.MigrationStoreFileTracker.<init>(MigrationStoreFileTracker.java:50)
... 17 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at
org.apache.hadoop.hbase.util.ReflectionUtils.instantiate(ReflectionUtils.java:58)
... 20 more
Caused by: java.lang.NullPointerException
at org.apache.hadoop.fs.Path.<init>(Path.java:146)
at org.apache.hadoop.fs.Path.<init>(Path.java:125)
at
org.apache.hadoop.hbase.regionserver.storefiletracker.StoreFileListFile.<init>(StoreFileListFile.java:70)
at
org.apache.hadoop.hbase.regionserver.storefiletracker.FileBasedStoreFileTracker.<init>(FileBasedStoreFileTracker.java:59)
... 25 more
{noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)