yuqi1129 opened a new issue, #12993: URL: https://github.com/apache/gravitino/issues/12993
### Describe the subtask Complete version-CAS OCC and atomic store operations for Job Template under #12166. Template updates already increment versions, but zero-row updates are reported as missing entities and deletion currently cleans up associated jobs before deleting the template without a version check. - Match updates and soft-deletes by template ID, expected current_version, and active-row state; preserve monotonic version increments for every successful update. - Use OccWriteSupport to distinguish stale-version conflicts from missing/deleted templates while preserving API missing-entity and idempotent-delete behavior. - Fence template creation against concurrent parent metalake deletion using the shared parent-lock protocol. - Execute the root template CAS before associated job and other dependent cleanup, in one transaction; a failed CAS must leave all dependent data unchanged. - Coordinate with the Job subtask to fence job insertion against template deletion. Use stable template identity for dependent cleanup so rename or same-name recreation cannot target another template's jobs. - Add H2, MySQL, and PostgreSQL tests for concurrent alters, stale deletes, alter/delete races, job insertion versus template deletion, same-name recreation, and cascade rollback. Preserve the parent issue's blind create/import overwrite contract. Reuse the existing version columns; no database schema migration is required. Follow the conflict contract from #12341 and the shared OCC service support from #12639. ### Parent issue https://github.com/apache/gravitino/issues/12166 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
