Run invoker memory test ts#427
Open
tillrohrmann wants to merge 20 commits into
Open
Conversation
…g the test time Keep sending PING requests for measuring the RTT to the service deployment
Introduce a switch (INVOKER_MEMORY_TEST_SDK=ts) that runs the MemoryPressureService/StatefulObject backing handlers in a separate Node container instead of in-process JVM, so the SDK side of the stall can be exercised against a non-Vert.x implementation. The Kotlin in-process path remains the default; CI now soaks both via a new sdk matrix dimension. - e2e-tests/services/invoker-memory-ts: TS sources, Dockerfile, and README documenting the multi-arch ghcr.io publish command. - infra: add Builder.withServiceDeploymentConfig so a test can register a per-test container image without going through the global --service-container-image flag. - InvokerMemoryTest: branch the deployer between in-process bind and the TS image; gate JVM-only diagnostics (heap log, watchdog heap field, thread dump on timeout) on the Kotlin path. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds a third value for INVOKER_MEMORY_TEST_SDK — `kotlin-container` — that runs the same MemoryPressureService and StatefulObject in a separate JVM Docker container instead of in-process. Lets us compare in-process vs out-of-process for the same Kotlin SDK code, isolating that variable from the "JVM SDK vs Node SDK" axis covered by the existing `ts` mode. - Extract the two service classes into a new :invoker-memory-kotlin-contracts library module so both the test JVM (typed handles + in-process bind) and the new service JAR consume one source of truth. - Add :invoker-memory-kotlin-service (application + shadow JAR) that binds both services and starts the Vert.x HTTP/2 server via RestateHttpServer.listen. Single-stage Dockerfile on eclipse-temurin:21-jre-alpine; README documents the multi-arch ghcr.io publish flow and calls out the SDK drift hazard. - Switch InvokerMemoryTest to a tri-state SDK_MODE and widen the JVM-only diagnostic gates (heap log, watchdog heap field, thread dump on timeout) from !USE_TS_SERVICE to !USE_CONTAINER_SERVICE so both container modes skip them. - CI matrix already exercises `ts`; extend to `kotlin-container` alongside. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.