yuqi1129 opened a new pull request, #13077: URL: https://github.com/apache/gravitino/pull/13077
### What changes were proposed in this pull request? Cherry-pick #13076 (0e7e46360e) to branch-1.3 so its CI can validate the fix independently of main. 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. Related issue: #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? - Regression tests cover missing subclass dependencies, shadowed targets, linkage errors, and fatal-error propagation. Three regressions fail before the fix. - `./gradlew spotlessApply :catalogs:catalog-common:check -PskipITs -PskipDockerTests=true` — 21 tests passed on branch-1.3. - `git diff --check` passed. Full Paimon integration validation is pending this PR's CI. -- 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]
