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

Matthew Jacobs commented on KUDU-2083:
--------------------------------------

This was seen in an Impala test job: IMPALA-5770

> MaintenanceManager running_op_ count not decremented if 
> MaintenanceOp::Prepare() fails
> --------------------------------------------------------------------------------------
>
>                 Key: KUDU-2083
>                 URL: https://issues.apache.org/jira/browse/KUDU-2083
>             Project: Kudu
>          Issue Type: Bug
>            Reporter: Samuel Okrent
>            Priority: Minor
>
> In MaintenanceManager::RunSchedulerThread(), an op gets selected, 
> running_ops_ is incremented, and Prepare() is called on the op. If Prepare() 
> returns false, the op isn't run, so running_ops_ never gets decremented. If 
> Prepare() ever fails, then this could be a problem, as the maintenance 
> manager compares running_ops_ to the number of operation threads to determine 
> whether or not it can run another operation. Prepare generally doesn't fail, 
> but if Tablet::AlterSchema() is called in between FlushMRSOp::UpdateStats() 
> and  FlushMRSOp::Prepare(), that is one instance where Prepare() could 
> potentially fail.
> To fix, decrement running_ops_ in the codepath that follows from Prepare() 
> failing.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to