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

LiFu He updated KUDU-3013:
--------------------------
    Description: 
I met this issue on Jenkins this morning, and it seems there is a race in 
StopTabletITest.TestStoppedTabletsDontWrite.
{code:java}
// code placeholder
TransactionDriver::ApplyTask()                            Tablet::Stop()
          |                                                     |
  transaction_->Apply()                                         |
          |                                                     |
tablet->ApplyRowOperations(state())                             |
(RESERVED -> APPLYING)                                          |
          |                                                     |
 StartApplying(tx_state);                                       |
          |                                          
set_state_unlocked(kStopped);
  ApplyRowOperation()                                           |
          |                                                     |
CheckHasNotBeenStoppedUnlocked()                                |
(return error since the tablet has been stopped)                |
          |                                                     |
    HandleFailure(s)                                            |
          |                                                     |
transaction_->Finish(Transaction::ABORTED);                     |
          |                                                     |
state()->CommitOrAbort(result);                                 |
          |                                                     |
ReleaseMvccTxn(result);                                         |
          |                                                     |
mvcc_tx_->Abort();                                              |
          |                                                     |
manager_->AbortTransaction(timestamp_);                         |
          |                                                     |
if (PREDICT_FALSE(!is_open()))                                  |
          |                                                 mvcc_.Close();
          |                                                     |
          |                                               open_.store(false);
CHECK_EQ(old_state, RESERVED)                                   |
   (ASSERT failed)
{code}

  was:
I met this issue on jekins this morning, and it seems there is a race in 
StopTabletITest.TestStoppedTabletsDontWrite.
{code:java}
// code placeholder
TransactionDriver::ApplyTask()                            Tablet::Stop()
          |                                                     |
  transaction_->Apply()                                         |
          |                                                     |
tablet->ApplyRowOperations(state())                             |
(RESERVED -> APPLYING)                                          |
          |                                                     |
 StartApplying(tx_state);                                       |
          |                                          
set_state_unlocked(kStopped);
  ApplyRowOperation()                                           |
          |                                                     |
CheckHasNotBeenStoppedUnlocked()                                |
(return error since the tablet has been stopped)                |
          |                                                     |
    HandleFailure(s)                                            |
          |                                                     |
transaction_->Finish(Transaction::ABORTED);                     |
          |                                                     |
state()->CommitOrAbort(result);                                 |
          |                                                     |
ReleaseMvccTxn(result);                                         |
          |                                                     |
mvcc_tx_->Abort();                                              |
          |                                                     |
manager_->AbortTransaction(timestamp_);                         |
          |                                                     |
if (PREDICT_FALSE(!is_open()))                                  |
          |                                                 mvcc_.Close();
          |                                                     |
          |                                               open_.store(false);
CHECK_EQ(old_state, RESERVED)                                   |
   (ASSERT failed)
{code}


> Race in StopTabletITest.TestStoppedTabletsDontWrite
> ---------------------------------------------------
>
>                 Key: KUDU-3013
>                 URL: https://issues.apache.org/jira/browse/KUDU-3013
>             Project: Kudu
>          Issue Type: Bug
>            Reporter: LiFu He
>            Priority: Major
>         Attachments: 
> jenkins-slave.1575252039.26703.311237e4f4a39e5fea3b175fbf12d3e4aa8674dc.81.0-artifacts.zip
>
>
> I met this issue on Jenkins this morning, and it seems there is a race in 
> StopTabletITest.TestStoppedTabletsDontWrite.
> {code:java}
> // code placeholder
> TransactionDriver::ApplyTask()                            Tablet::Stop()
>           |                                                     |
>   transaction_->Apply()                                         |
>           |                                                     |
> tablet->ApplyRowOperations(state())                             |
> (RESERVED -> APPLYING)                                          |
>           |                                                     |
>  StartApplying(tx_state);                                       |
>           |                                          
> set_state_unlocked(kStopped);
>   ApplyRowOperation()                                           |
>           |                                                     |
> CheckHasNotBeenStoppedUnlocked()                                |
> (return error since the tablet has been stopped)                |
>           |                                                     |
>     HandleFailure(s)                                            |
>           |                                                     |
> transaction_->Finish(Transaction::ABORTED);                     |
>           |                                                     |
> state()->CommitOrAbort(result);                                 |
>           |                                                     |
> ReleaseMvccTxn(result);                                         |
>           |                                                     |
> mvcc_tx_->Abort();                                              |
>           |                                                     |
> manager_->AbortTransaction(timestamp_);                         |
>           |                                                     |
> if (PREDICT_FALSE(!is_open()))                                  |
>           |                                                 mvcc_.Close();
>           |                                                     |
>           |                                               open_.store(false);
> CHECK_EQ(old_state, RESERVED)                                   |
>    (ASSERT failed)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to