[ 
https://issues.apache.org/jira/browse/HBASE-16103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matteo Bertozzi updated HBASE-16103:
------------------------------------
    Summary: Procedure v2 - TestCloneSnapshotProcedure relies on execution 
order  (was: Procedure v2 - TestCloneSnaphotProcedure relies on execution order)

> Procedure v2 - TestCloneSnapshotProcedure relies on execution order
> -------------------------------------------------------------------
>
>                 Key: HBASE-16103
>                 URL: https://issues.apache.org/jira/browse/HBASE-16103
>             Project: HBase
>          Issue Type: Bug
>          Components: proc-v2, test
>    Affects Versions: 2.0.0
>            Reporter: Matteo Bertozzi
>            Assignee: Matteo Bertozzi
>            Priority: Minor
>             Fix For: 2.0.0
>
>         Attachments: HBASE-16103-v0.patch
>
>
> https://builds.apache.org/view/All/job/HBase-Trunk_matrix/jdk=latest1.8,label=yahoo-not-h2/1100/
>  
> the TestCloneSnapshotProcedure is written in a way that relies on the 
> execution order and does not tolerate failure of a previous test.
> getSnapshot() has a cached snapshot. if we haven't created yet we will create 
> it.
> (from how the code is written is a bit unclear that where we are taking the 
> snapshot, so in the patch I moved out the call to make it more readable)
> In this case we started with testCloneSnapshotToSameTable and it failed 
> because the table was waiting for flushes and compaction and it took a long 
> time.
> {noformat}
> org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils.waitForTableToBeOnline(SnapshotTestingUtils.java:737)
>   at 
> org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils.loadData(SnapshotTestingUtils.java:799)
>   at 
> org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils.loadData(SnapshotTestingUtils.java:770)
>   at 
> org.apache.hadoop.hbase.master.procedure.TestCloneSnapshotProcedure.getSnapshot(TestCloneSnapshotProcedure.java:114)
>   at 
> org.apache.hadoop.hbase.master.procedure.TestCloneSnapshotProcedure.testCloneSnapshotToSameTable(TestCloneSnapshotProcedure.java:176)
> {noformat}
> when we got to testRollbackAndDoubleExecution which stop and start the 
> executor to simulate crashes the snapshot. we ask the executor to stop and 
> then we asked to take a snapshot, but of course the executor is not running 
> so we are stuck there. 
> Similarly if we run TestCloneSnapshotProcedure#testRollbackAndDoubleExecution 
> alone, this will always fail because of the above. the snapshot cannot be 
> taken because we stopped the executor. the test here was written relying on 
> the execution order. easy fix is to take the snapshot before stopping the 
> executor for the clone failure simulation as it is supposed to be.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to