DAOS-11231 dtx: handle dependency during task conversion
For the task that need to be handled via distributed transaction, the client side IO logic will convert it to a transactional task. During dc_tx_convert(), the original task maybe freed because of the dependency on the sub-task(s) for existence check inside the dc_tx_attach(). That will cause the "task" to become invalid for subsequent process for the conversion.
To avoid above bad case, the patch moves the TX commit logic for task conversion into related existence check callback before the TX release.
Signed-off-by: Fan Yong [email protected]
Bug-tracker data: Ticket title is 'soak: 2.2 mdtest job fails with "Attempting to use OP ID that was not completed"' Status is 'In Review' Labels: 'triaged' Job should run at elevated priority (2) https://daosio.atlassian.net/browse/DAOS-11231
Test stage Functional Hardware Small completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-9948/3/execution/node/966/log
Test stage Functional Hardware Small completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-9948/3/execution/node/966/log
20:35:29 Failed to bring up interface ib1 on wolf-135.wolf.hpdd.intel.com. Please file a CORCI ticket.
To be retested.
Test stage Functional Hardware Large completed with status FAILURE. https://build.hpdd.intel.com/job/daos-stack/job/daos/job/PR-9948/4/display/redirect
@liuxuezhao @liw , would you please to help review the patch again? Thanks!
Please inspect.
Test stage Functional Hardware Large completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-9948/9/execution/node/1037/log
Please inspect.
Refresh the patch with more restriction for tse_task_complete() and dc_task_decref().