ci(java/mysql-dual-conn): exercise COM_STMT_RESET in record traffic#4225
Merged
Conversation
Adds one curl to /api/oms/stmt-reset/5 inside the mysql-dual-conn record loop so the java_linux pipeline now exercises the COM_STMT_RESET synthetic-OK fallback added in #4217. The endpoint itself is added in keploy/samples-java#137. Without this, the only Java + MySQL CI app exercises COM_QUERY and HandshakeResponse41 paths but never re-executes a server-prepared statement on the same JDBC connection, so the COM_STMT_RESET branch in matchCommand has no e2e coverage. With this curl, all three java_linux compat-matrix cells (record_latest_replay_build, record_build_replay_latest, record_build_replay_build) will fail if the synthetic-OK fallback ever regresses. Signed-off-by: Yash Khare <khareyash05@gmail.com>
🚀 Keploy Performance Test ResultsMulti-Run Validation: Tests run 3 times, pipeline fails only if 2+ runs show regression.
Thresholds: P50 < 5ms, P90 < 15ms, P99 < 70ms, RPS >= 100 (±1% tolerance), Error Rate < 1% ✅ Result: PASSED - Only 0 out of 3 runs failed (threshold: 2) P50, P90, and P99 percentiles naturally filter out outliers |
gouravkrosx
approved these changes
May 29, 2026
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Describe the changes that are made
curl http://localhost:8080/api/oms/stmt-reset/5inside the existingmysql-dual-connrecord loop so thejava_linuxpipeline exercises theCOM_STMT_RESETsynthetic-OK fallback introduced in fix(mysql/replay): synthesize OK for unmocked COM_STMT_RESET #4217.send_requestalongside the existing/api/query-both,/api/oms,/api/camundacalls.useServerPrepStmts=true&cachePrepStmts=true&useCursorFetch=trueJDBC flags that make Connector/J 8.x emitCOM_STMT_RESET) lives in feat(mysql-dual-conn): add endpoint to trigger COM_STMT_RESET samples-java#137 and must merge first.Links & References
Closes: NA
🔗 Related PRs
match.gofix this script now exercises end-to-end.GET /api/oms/stmt-reset/{n}to the sample app (must merge before this PR's CI will pass).🐞 Related Issues
📄 Related Documents
What type of PR is this? (check all applicable)
Added e2e test pipeline?
This PR is the e2e wiring. The three existing compat-matrix cells (
record_latest_replay_build,record_build_replay_latest,record_build_replay_build) will all now record + replay traffic that includesCOM_STMT_RESETpackets. A regression in the synthetic-OK fallback would surface as either a replay-timeConnection closing due to no matching mock founderror or a failed test report.Added comments for hard-to-understand areas?
send_request()points at fix(mysql/replay): synthesize OK for unmocked COM_STMT_RESET #4217 and explains whyuseServerPrepStmts+useCursorFetchare required for Connector/J 8.x to emitCOM_STMT_RESET.Added to documentation?
Are there any sample code or steps to test the changes?
Expected: record log shows the new
=== /api/oms/stmt-reset/5 ===section; replay produces test reports withstatus: PASSEDfor every test-set; noConnection closing due to no matching mock foundlines intest_logs.txt.Self Review done?
Any relevant screenshots, recordings or logs?
Additional checklist: