Comparing prakashk0301:main...keploy:main · prakashk0301/samples-java · GitHub
Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: prakashk0301/samples-java
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: keploy/samples-java
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 7 commits
  • 39 files changed
  • 5 contributors

Commits on May 27, 2026

  1. feat(spring-mysql-redis): add endpoint to trigger COM_STMT_RESET (kep…

    …loy#136)
    
    Adds GET /api/todos/stmt-reset/{id}/{n} which re-executes a server-side
    prepared statement n times on the same connection. Combined with the new
    JDBC URL flags (useServerPrepStmts, cachePrepStmts, useCursorFetch),
    MySQL Connector/J 8.x emits COM_STMT_RESET between re-executions, which
    exercises the synthetic-OK fallback path added in keploy/keploy#4217 so
    record/replay can be validated.
    
    Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
    khareyash05 and claude authored May 27, 2026
    Configuration menu
    Copy the full SHA
    080077f View commit details
    Browse the repository at this point in the history

Commits on May 29, 2026

  1. chore: replace the slack url to updated invite url (keploy#138)

    Signed-off-by: amaan-bhati <amaanbhati49@gmail.com>
    amaan-bhati authored May 29, 2026
    Configuration menu
    Copy the full SHA
    a84671c View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2026

  1. Add spring-aerospike sample: Aerospike-Java with Keploy record/replay (

    …keploy#135)
    
    Java counterpart of keploy/samples-go/aerospike-tls. A Spring Boot
    2.7 service that talks to Aerospike CE on clear-text :3000 via the
    aerospike-client-jdk8 driver, recorded and replayed end-to-end with
    three bundled scripts that mirror the Go sample's shape one-to-one
    (same endpoints, same test-set layout, same scripts).
    
    Endpoints (full parity with the Go sample, 14 total):
    
      GET    /health
      POST   /put            GET    /get/{key}
      POST   /batch/put      GET    /batch/get
      POST   /scan           POST   /query
      POST   /udf            POST   /cdt/list/append  POST /cdt/map/put
      POST   /touch/{key}    DELETE /key/{key}
      POST   /parallel       POST   /multiclient      POST /freshclient
    
    main.go's concurrency story is ported one-for-one:
    
      * ClientPolicy.maxConnsPerNode = 256, OpeningConnectionThreshold
        analogue set to 16 so bursts don't outpace upstream connect rate.
      * parallelWrite / parallelRead policies with socketTimeout 10s,
        totalTimeout 30s, maxRetries 10, sleepBetweenRetries 5ms.
      * Two-phase warmup on the main client at startup — sequential
        prelude walks the cluster past cold-start latencies, then a
        parallel fill puts idle connections in the pool before the
        HTTP server accepts the first request.
      * RetryHelper.doOp wraps each PUT and GET in /parallel,
        /multiclient, /freshclient.
    
    scripts/ matches the Go sample's pipeline shape (common.sh +
    script-{1,2,3}.sh + same env-var knobs: KEPLOY / PORT / LOG_DIR /
    SKIP_DOCKER / SKIP_BUILD). Smoke-tested locally with the dev
    keploy binary that carries the Aerospike parser:
    
      script-1.sh → test-set-0: 8/8 pass
      script-2.sh → test-set-1: 6/6 pass
      script-3.sh → test-set-2: 8/8 pass
    
    Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    Aditya-eddy and claude authored Jun 1, 2026
    Configuration menu
    Copy the full SHA
    bffcb88 View commit details
    Browse the repository at this point in the history
  2. feat(mysql-dual-conn, tidb-stmt-cache): exercise COM_STMT_RESET + pre…

    …pared-stmt orphan-EXECUTE (keploy#137)
    
    * feat(mysql-dual-conn): add endpoint to trigger COM_STMT_RESET
    
    Adds GET /api/oms/stmt-reset/{n} which re-executes a server-side prepared
    statement n times on the SAME JDBC connection. Updates the OMS JDBC URL
    with useServerPrepStmts=true, cachePrepStmts=true, and useCursorFetch=true
    so MySQL Connector/J 8.x emits COM_STMT_RESET between re-executions.
    
    This exercises the COM_STMT_RESET synthetic-OK fallback added in
    keploy/keploy#4217 during keploy record/replay against this existing
    samples-java CI app, avoiding the need to wire a brand new sample
    (spring-mysql-redis) into keploy's java_linux pipeline. The existing
    dual-handshake test path is unchanged — the Camunda pool keeps the
    original JDBC URL, and the new endpoint is purely additive.
    
    Signed-off-by: Yash Khare <khareyash05@gmail.com>
    
    * feat(tidb-stmt-cache): add sample exercising prepared-stmt orphan-EXECUTE
    
    Adds a minimal Spring Boot 3 + JdbcTemplate sample that drives MySQL
    Connector/J prepared-statement traffic against a single-node TiDB :4000.
    The combination useServerPrepStmts=true + cachePrepStmts=true plus
    HikariCP pool LIFO causes Connector/J to skip COM_STMT_PREPARE and emit
    COM_STMT_EXECUTE only on cache-hit calls -- exercising the orphan-EXECUTE
    matching path that keploy/keploy@b2e68adb's param-alone fallback handles.
    
    A companion CI script and matrix entry will land on keploy/keploy in the
    same fix branch (fix/mysql-synthetic-prepare-ok-cachePrepStmts) so the
    three compat-matrix cells (record_latest_replay_build, etc.) start
    exercising this sample once both PRs merge.
    
    The pingcap/tidb:v8.5.6 image runs with --store=unistore to keep boot
    time ~5s and avoid PD/TiKV flakiness; schema (the kv table) is bootstrapped
    by a CommandLineRunner inside the app so no init.sql is needed.
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    Signed-off-by: Yash Khare <khareyash05@gmail.com>
    
    ---------
    
    Signed-off-by: Yash Khare <khareyash05@gmail.com>
    Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
    khareyash05 and claude authored Jun 1, 2026
    Configuration menu
    Copy the full SHA
    9738912 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2026

  1. fix(tidb-stmt-cache): use TiDB built-in defaults, drop bogus command …

    …flags (keploy#139)
    
    Signed-off-by: Yash Khare <khareyash05@gmail.com>
    khareyash05 authored Jun 2, 2026
    Configuration menu
    Copy the full SHA
    eb3db5b View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2026

  1. chore: replace the temp slack url to permanent route (keploy#141)

    Signed-off-by: amaan-bhati <amaanbhati49@gmail.com>
    amaan-bhati authored Jun 5, 2026
    Configuration menu
    Copy the full SHA
    21b7eee View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2026

  1. feat(tidb-stmt-cache): add /api/cross orphaned same-param-shape endpo…

    …int (keploy#143)
    
    Adds GET /api/cross/{v}, which issues two DISTINCT prepared queries with an
    identical one-int parameter signature ("SELECT ? AS v" and "SELECT ? + 1000 AS
    w") inside a single request. When both PREPAREs predate the record window
    (orphaned mocks, expectedQuery==""), this exercises the matcher's
    parameter-aware orphaned-EXECUTE path: a param-only match must not serve query
    B's row for query A. a must echo v and b must be v+1000.
    
    Consumed by the keploy/keploy java_linux tidb-stmt-cache e2e job.
    
    Signed-off-by: slayerjain <shubhamkjain@outlook.com>
    Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    slayerjain and claude authored Jun 9, 2026
    Configuration menu
    Copy the full SHA
    d9e09f4 View commit details
    Browse the repository at this point in the history
Loading