[ 
https://issues.apache.org/jira/browse/HBASE-26836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17506288#comment-17506288
 ] 

Duo Zhang commented on HBASE-26836:
-----------------------------------

Output the TableDescriptor after cloning in testRecoverWithRestoreAclFlag

{noformat}
2022-03-14T23:26:21,734 INFO  [Time-limited test] 
procedure.TestCloneSnapshotProcedure(185): 'testRecoverWithRestoreAclFlag', 
{NAME => 'cf1', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', 
KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', COMPRESSION => 
'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE 
=> '65536 B (64KB)', REPLICATION_SCOPE => '0'}
{noformat}

We do not have SFT config in it...

> Should always set SFT implementation when cloning snapshot
> ----------------------------------------------------------
>
>                 Key: HBASE-26836
>                 URL: https://issues.apache.org/jira/browse/HBASE-26836
>             Project: HBase
>          Issue Type: Bug
>          Components: HFile, snapshots
>            Reporter: Duo Zhang
>            Priority: Major
>
> Saw the TestCloneSnapshotProcedureFileBasedSFT failing several times
> {noformat}
> 2022-03-14T11:23:13,782 INFO  [PEWorker-1] 
> procedure2.ProcedureExecutor(1432): Finished pid=99, state=SUCCESS, 
> hasLock=false; CloneSnapshotProcedure (table=testRecoverWithRestoreAclFlag 
> snapshot=name: "snapshot-1647256973399"
> table: "testCloneSnapshot"
> creation_time: 1647256982366
> type: FLUSH
> version: 2
> owner: ""
> ttl: 0
> max_file_size: 0
> ) in 6.9090 sec
> 2022-03-14T11:23:13,794 WARN  [PEWorker-1] 
> procedure2.ProcedureExecutor$Testing(127): Toggle KILL before store update 
> to: false
> 2022-03-14T11:23:13,794 DEBUG [PEWorker-1] 
> procedure2.ProcedureExecutor(1777): TESTING: Kill BEFORE store update: 
> pid=112, state=RUNNABLE:MODIFY_TABLE_DESCRIPTOR_UPDATE, hasLock=true; 
> InitializeStoreFileTrackerProcedure table=testRecoverWithRestoreAclFlag
> 2022-03-14T11:23:13,794 INFO  [PEWorker-1] procedure2.ProcedureExecutor(635): 
> Stopping
> 2022-03-14T11:23:13,795 WARN  [PEWorker-1] 
> procedure2.ProcedureExecutor$WorkerThread(1997): Worker terminating 
> UNNATURALLY null
> java.lang.RuntimeException: TESTING: Kill BEFORE store update: pid=112, 
> state=RUNNABLE:MODIFY_TABLE_DESCRIPTOR_UPDATE, hasLock=true; 
> InitializeStoreFileTrackerProcedure table=testRecoverWithRestoreAclFlag
>       at 
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor.kill(ProcedureExecutor.java:1779)
>  ~[classes/:?]
>       at 
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execProcedure(ProcedureExecutor.java:1723)
>  ~[classes/:?]
>       at 
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor.executeProcedure(ProcedureExecutor.java:1414)
>  ~[classes/:?]
>       at 
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor.access$1100(ProcedureExecutor.java:78)
>  ~[classes/:?]
>       at 
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor$WorkerThread.run(ProcedureExecutor.java:1981)
>  ~[classes/:?]
> 2022-03-14T11:23:14,012 WARN  [Time-limited test] 
> procedure2.ProcedureTestingUtility(193): Set Kill before store update to: 
> false
> {noformat}
> The CloneSnapshotProcedure is finished but then we get a 
> InitializeStoreFileTrackerProcedure which messes up the test.
> The InitializeStoreFileTrackerProcedure will be scheduled when rolling 
> upgrade, where we do not have SFT set for a table. So typically it should not 
> be schedule. Not sure how this could happen in the UT, need to dig more.
> But anyway, when we clone a snapshot which was taken before we have SFT, it 
> is possible the TableDescriptor does not have SFT implementation set, so we 
> should set one for it.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to