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]
