yuqi1129 opened a new pull request, #13076:
URL: https://github.com/apache/gravitino/pull/13076

   ### What changes were proposed in this pull request?
   
   Read the runnable from `Thread`'s declared `target` field, avoiding subclass 
field resolution and shadowed fields. Catch `LinkageError` during individual 
thread ownership checks so remaining cleanup can continue, while allowing fatal 
VM errors to propagate.
   
   Add regressions for missing subclass dependencies, shadowed targets, linkage 
errors, and fatal-error propagation.
   
   ### Why are the changes needed?
   
   Reflecting on an unrelated Hadoop thread can throw `NoClassDefFoundError` 
during catalog cleanup and fail a DISABLE request. A shadowed field can also 
cause the wrong thread ownership decision.
   
   Fix: #13075
   
   ### Does this PR introduce _any_ user-facing change?
   
   Catalog cleanup no longer fails for these thread-inspection errors. No 
public API or configuration changes.
   
   ### How was this patch tested?
   
   - Before the fix, three regression tests failed, including the same 
reflection/`NoClassDefFoundError` path seen in CI.
   - main: `./gradlew spotlessApply :catalogs:catalog-common:check -PskipITs 
-PskipDockerTests=true` — 35 tests passed.
   - The same patch applied cleanly to branch-1.3; `./gradlew 
:catalogs:catalog-common:check -PskipITs -PskipDockerTests=true` — 21 tests 
passed.
   - `git diff --check` passed. Full Paimon integration tests were not rerun.
   


-- 
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