LiFu He created KUDU-3013:
-----------------------------

             Summary: Race in StopTabletITest.TestStoppedTabletsDontWrite
                 Key: KUDU-3013
                 URL: https://issues.apache.org/jira/browse/KUDU-3013
             Project: Kudu
          Issue Type: Bug
            Reporter: LiFu He
         Attachments: 
jenkins-slave.1575252039.26703.311237e4f4a39e5fea3b175fbf12d3e4aa8674dc.81.0-artifacts.zip

I met this issue 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