yangjj-iso opened a new pull request, #7948: URL: https://github.com/apache/shenyu/pull/7948
Fixes #7560. Add opt-in startup export/initialization deadlines and per-instance linear-memory ceilings to WasmLoader. Global JVM properties support resource-class overrides; zero defaults preserve existing trusted deployments. Timed guest calls use an owned bounded executor/queue, cancel the actual worker on timeout/caller interruption, retain capacity for interruption-ignoring hosts and replace poisoned instances only after physical exit. Compilation/creation/_initialize have a separate construction deadline. Request execute/doExecute publishers defer/offload work only when export deadlines are configured; base plugins now expose close() for owned worker cleanup. Memory ceilings never raise the module maximum or silently lower its initial allocation. A configured budget currently requires one module-owned, non-shared memory; unsupported ownership/layouts fail explicitly. The ceiling covers linear memory, not arbitrary Java/host allocations. Synchronous compatibility hooks/data callbacks keep bounded waits; arbitrary host/native work that ignores interruption still needs process isolation for hard termination. The settings and these limits are documented with rollback guidance. Validation on Microsoft OpenJDK 17.0.18 through mvnw.cmd: - All 66 WASM Java tests pass with zero failures/errors/skips, including actual compiler/interpreter infinite loops, memory.grow, excessive initial memory, cancellation reaching a real worker, host containment, initialization timeout, clean subsequent instances and request argument cleanup/lazy construction/cancellation. - All four new WAT fixtures rebuild byte-identically with pinned WABT 1.0.42; all 14 offline fixture-verifier regression tests pass. - Affected-reactor Checkstyle and Apache RAT pass; git diff --check passes. The full repository and Docker E2E suites were not run. This uses master's existing invocation adapters; the separately open JSON bridge PR #7569 will need its own integration verification when merged. -- 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]
