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)