yuqi1129 commented on PR #13198: URL: https://github.com/apache/gravitino/pull/13198#issuecomment-5795353907
Thanks for the follow-up. I addressed the two nits in 377f09ef70: an expected `OptimisticLockException` from orphan cleanup is now logged at DEBUG, and the tests cover `includeSelf = false` on hierarchical names, selection of the outermost orphan's observation, and an outermost orphan with no store row. On the ID-reuse case, I agree that an external object retaining `gravitino.identifier` means equality of IDs does not necessarily prove that it is the same incarnation. Re-import can advance the store version, so the previous ID-and-version comparison would catch that particular interleaving. Restoring it would also reject an ordinary alter of the same entity after the external drop succeeded, leaving stale metadata; a same-name load can also treat the existing row as already imported without advancing the version. The pre-call store version therefore cannot reliably distinguish an external replacement from an alter. This PR keeps the ID fence for different-ID re-creation and does not claim to solve copied or reused external markers. A complete fix needs a new mechanism for tracking external-object identity and detecting replacement; the design is being discussed in https://github.com/apache/gravitino/discussions/13476. -- 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]
