chenhaodan created OOZIE-3717: --------------------------------- Summary: Fork actions parallel submit, becasue ForkedActionStartXCommand and ActionStartXCommand has the same name, so ForkedActionStartXCommand would be lost, and cause deadlock Key: OOZIE-3717 URL: https://issues.apache.org/jira/browse/OOZIE-3717 Project: Oozie Issue Type: Bug Components: action Affects Versions: 5.2.1 Reporter: chenhaodan Assignee: chenhaodan Fix For: trunk
Fork actions parallel submit, so will add ForkedActionStartXCommand and RecoveryService will check pending action may add ActionStartXCommand, if ForkedActionStartXCommand enqueue and there is a ActionStartXCommand(the same action) in queue, it would be lose. The thread parallel submit actions block at CallableQueueService.blockingWait() wait for ForkedActionStartXCommand to finish, but ForkedActionStartXCommand had lost and cause deadlock. {code:java} Thread 1 Thread 2 (ForkedActionStartXCommand) (ActionStartXCommand) +----------------------------+ +---------+ | removeFromUniqueCallables | | ..... | +----------------------------+ +---------+ | ...... | | queue | +----------------------------+ +---------+ | queue | enqueue successed, in uniqueCallables +----------------------------+ | wrapper.filterDuplicates() | +----------------------------+ Becasue ForkedActionStartXCommand and ActionStartXCommand has the same name, so ForkedActionStartXCommand would be lost, and CallableQueueService block at CallableQueueService.blockingWait(). {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)