mengw15 opened a new pull request, #6336:
URL: https://github.com/apache/texera/pull/6336

   ### What changes were proposed in this PR?
   
   `.github/scripts/smoke-boot.sh` detected boot-time linkage failures by 
grepping the whole boot log for bare exception class names 
(`NoClassDefFoundError`, `ClassNotFoundException`, …). jOOQ prints a random 
**"tip of the day"** banner on startup, one of which names those exceptions *in 
prose* — so whenever jOOQ drew that tip, the check reported a crash **even 
though the service booted fine**. Since the tip is random and every platform 
service uses jOOQ (via DAO), this failed at random on any service, for any PR 
(e.g. `config-service` on #6331, which only added a test). Closes #6332.
   
   - **Match thrown exceptions, not name mentions.** The crash regex now 
requires a fully-qualified `java.lang.*` type or an `Exception in thread` 
header — which real linkage failures produce and informational prose does not.
   - **Make the check testable + add a regression test.** The detection is 
extracted into a sourceable `log_has_linkage_crash` (`main()` guarded), and 
`.github/scripts/test_smoke_boot.sh` asserts the jOOQ tip is *not* a crash 
while a real thrown `NoClassDefFoundError` / `ClassNotFoundException` / the 
#6206 Jackson-databind conflict still are. The `infra` job's shell-test 
discovery is broadened to `.github/scripts/` so it runs.
   
   No behavior change to the boot check itself (same launch / port-wait / 
shutdown).
   
   ### Any related issues, documentation, discussions?
   
   Closes #6332. Script from #6220; the false positive surfaced through the 
`platform-integration` boot checks (#6274).
   
   ### How was this PR tested?
   
   - `.github/scripts/test_smoke_boot.sh` passes locally (6 cases): jOOQ tip + 
clean log + a bare non-FQN mention → not crashes; thrown 
`java.lang.NoClassDefFoundError`, `Caused by: 
java.lang.ClassNotFoundException`, and the `requires Jackson Databind` conflict 
→ crashes.
   - Confirmed sourcing `smoke-boot.sh` launches nothing (guarded `main`) and 
the file keeps its executable bit; the `infra` job discovers the test via `find 
bin .github/scripts -name 'test_*.sh'`.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (claude-opus-4-8)
   


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