[
https://issues.apache.org/jira/browse/KUDU-1991?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15998937#comment-15998937
]
Mike Percy commented on KUDU-1991:
----------------------------------
Filed KUDU-1997 to track the edge-triggered vs. level-triggered implementation
in the catalog manager.
> Master does not retry TS maintenance task if target TS not registered
> ---------------------------------------------------------------------
>
> Key: KUDU-1991
> URL: https://issues.apache.org/jira/browse/KUDU-1991
> Project: Kudu
> Issue Type: Bug
> Components: master
> Affects Versions: 1.3.1
> Reporter: Mike Percy
> Assignee: Mike Percy
>
> If a master had just started up and gets a heartbeat from a tablet server
> that triggers some action on another tablet server (for example, tombstoning
> an evicted replica or adding a new replica to an under-replicated tablet
> config) then if the target tablet server (for example, the replica that the
> master thought was the leader) has not yet registered with the master (since
> its restart) the action will fail to be sent and will not be retried.
> This is because:
> # There is a logic error in the catalog manager task management code that
> assumes all tablet servers have registered with the master at the time a task
> is started; and
> # These kinds of tasks are edge-triggered (based on a response to a tablet
> report) instead of level-triggered (based on periodic state polling) on the
> master side.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)