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]

Reply via email to