Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
5f5da36
Add JDBC throttling options analysis document
Copilot May 16, 2026
57eaa27
Add client-reactive throttling analysis document
Copilot May 16, 2026
028c38e
Add server-cooperative fair-share throttling analysis to CLIENT_REACT…
Copilot May 17, 2026
c9b629c
Update fair-share analysis: confirm per-node, AtomicInteger alternati…
Copilot May 17, 2026
014e56e
Add two-mode framework and observedPeak reactive mode analysis section
Copilot May 17, 2026
c265470
Condense throttling analysis docs: 1012→177 lines, 222→74 lines
Copilot May 17, 2026
eac141b
Add client-side throttling with server-side admission telemetry
Copilot May 17, 2026
306d169
fix: address code review feedback on client throttle feature
Copilot May 17, 2026
545c7ac
Update analysis doc: resolve open questions Q1-Q4 with agreed decisions
Copilot May 17, 2026
f2d2791
docs: add gRPC built-in controls as dropped approach in throttling an…
Copilot May 18, 2026
403d29d
docs: improve THROTTLE_SAFETY_MARGIN comment and add motivation secti…
Copilot May 18, 2026
2f6ced4
Fix throttle error message: say 'database' not 'OJP server'
Copilot May 19, 2026
1bdfc5f
Merge remote-tracking branch 'origin/main' into copilot/discuss-throt…
Copilot May 19, 2026
199ab88
docs: merge main and add SQS+throttling interaction recommendations
Copilot May 19, 2026
5ae6942
Refactor: extract duplicated throttle acquire block into acquireThrot…
Copilot May 19, 2026
8098866
docs: add Glossary section to CLIENT_REACTIVE_THROTTLING_ANALYSIS.md …
Copilot May 19, 2026
53dc2e4
docs: delete JDBC_SERVER_TRIGGERED_THROTTLING_OPTIONS.md — superseded…
Copilot May 19, 2026
57f4ce1
docs: add eBook chapter on client-side throttling and update related …
Copilot May 20, 2026
b415310
docs: update multi-language client spec with client-side throttling s…
Copilot May 20, 2026
15cdd82
docs: clarify 10% headroom example in CLIENT_SPEC.md throttle section
Copilot May 20, 2026
f663238
fix: apply AIMD decrease on server RESOURCE_EXHAUSTED to block subseq…
Copilot May 20, 2026
8aaaab3
Fix SQS-specific client throttle failures: skip update when maxAdmiss…
Copilot May 20, 2026
6cded9f
fix: trigger client reactive backoff on ResultSet RESOURCE_EXHAUSTED …
Copilot May 20, 2026
cfa3d07
Bump version to 0.4.18-SNAPSHOT.
rrobetti May 20, 2026
ccd8cfa
docs: add simple mermaid flow for client throttling behavior
Copilot May 21, 2026
8d29ff7
Fix Mermaid parse error in throttling flow diagram
Copilot May 21, 2026
4748fa6
docs: refine throttling examples and mode wording
Copilot May 21, 2026
1ddbd94
docs: rescale throttling examples to 40-slot pool
Copilot May 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 17 additions & 17 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ jobs:
docker run -d --name ojp-server \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.slowQuerySegregation.enabled=true" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT

- name: Wait for ojp-server to start
run: sleep 10
Expand Down Expand Up @@ -206,7 +206,7 @@ jobs:
docker run -d --name ojp-server \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.slowQuerySegregation.enabled=true" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT

# Start second OJP server WITH SQL enhancer enabled in OPTIMIZE mode
# Tests will run against this server via postgres_connection.csv (port 10593)
Expand All @@ -218,7 +218,7 @@ jobs:
docker run -d --name ojp-server-enhancer \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.port=10593 -Dojp.prometheus.port=9163 -Dojp.server.slowQuerySegregation.enabled=true -Dojp.sql.enhancer.enabled=true -Dojp.sql.enhancer.mode=OPTIMIZE -Dojp.sql.enhancer.dialect=POSTGRESQL" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT

- name: Wait for ojp-server to start
run: sleep 10
Expand Down Expand Up @@ -342,7 +342,7 @@ jobs:
docker run -d --name ojp-server \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.slowQuerySegregation.enabled=true" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT

- name: Wait for ojp-server to start
run: sleep 10
Expand Down Expand Up @@ -438,7 +438,7 @@ jobs:
docker run -d --name ojp-server \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.slowQuerySegregation.enabled=true" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT

- name: Wait for ojp-server to start
run: sleep 10
Expand Down Expand Up @@ -525,7 +525,7 @@ jobs:
docker run -d --name ojp-server \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.slowQuerySegregation.enabled=true" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT

- name: Wait for ojp-server to start
run: sleep 10
Expand Down Expand Up @@ -693,7 +693,7 @@ jobs:
docker run -d --name ojp-server \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.slowQuerySegregation.enabled=true" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT

- name: Wait for ojp-server to start
run: sleep 10
Expand Down Expand Up @@ -795,7 +795,7 @@ jobs:
docker run -d --name ojp-server-1 \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.port=10591 -Dojp.prometheus.port=9159 -Dojp.server.slowQuerySegregation.enabled=true" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT
echo "Started OJP Server 1 container on gRPC port 10591, Prometheus port 9159"

# Start second OJP server instance on port 10592
Expand All @@ -804,7 +804,7 @@ jobs:
docker run -d --name ojp-server-2 \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.port=10592 -Dojp.prometheus.port=9160 -Dojp.server.slowQuerySegregation.enabled=true" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT
echo "Started OJP Server 2 container on gRPC port 10592, Prometheus port 9160"

- name: Wait for OJP servers to start
Expand Down Expand Up @@ -913,7 +913,7 @@ jobs:
docker run -d --name ojp-server-1 \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.port=10591 -Dojp.prometheus.port=9159 -Dojp.server.slowQuerySegregation.enabled=true" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT
echo "OJP Server 1 container restarted"
sleep 10

Expand Down Expand Up @@ -998,7 +998,7 @@ jobs:
docker run -d --name ojp-server-2 \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.port=10592 -Dojp.prometheus.port=9160 -Dojp.server.slowQuerySegregation.enabled=true" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT
echo "OJP Server 2 container restarted"
sleep 10

Expand Down Expand Up @@ -1199,7 +1199,7 @@ jobs:
docker run -d --name ojp-server-xa-1 \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.port=10591 -Dojp.prometheus.port=9161 -Dojp.server.slowQuerySegregation.enabled=true -Dorg.slf4j.simpleLogger.log.org.openjproxy.xa.pool=DEBUG" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT
echo "Started OJP Server 1 container on gRPC port 10591, Prometheus port 9161 with DEBUG logging"

# Start second OJP server instance on port 10592 with DEBUG logging
Expand All @@ -1209,7 +1209,7 @@ jobs:
docker run -d --name ojp-server-xa-2 \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.port=10592 -Dojp.prometheus.port=9162 -Dojp.server.slowQuerySegregation.enabled=true -Dorg.slf4j.simpleLogger.log.org.openjproxy.xa.pool=DEBUG" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT
echo "Started OJP Server 2 container on gRPC port 10592, Prometheus port 9162 with DEBUG logging"

- name: Wait for OJP servers to start
Expand Down Expand Up @@ -1329,7 +1329,7 @@ jobs:
docker run -d --name ojp-server-xa-1 \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.port=10591 -Dojp.prometheus.port=9161 -Dojp.server.slowQuerySegregation.enabled=true" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT
echo "OJP Server 1 container restarted"

# Wait for server to fully start
Expand Down Expand Up @@ -1432,7 +1432,7 @@ jobs:
docker run -d --name ojp-server-xa-2 \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.port=10592 -Dojp.prometheus.port=9162 -Dojp.server.slowQuerySegregation.enabled=true" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT
echo "OJP Server 2 container restarted"

# Wait for server to fully start
Expand Down Expand Up @@ -1699,7 +1699,7 @@ jobs:
docker run -d --name ojp-server \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.slowQuerySegregation.enabled=true" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT

- name: Wait for ojp-server to start
run: sleep 10
Expand Down Expand Up @@ -1802,7 +1802,7 @@ jobs:
docker run -d --name ojp-server \
--network host \
-e JAVA_TOOL_OPTIONS="-Dojp.server.slowQuerySegregation.enabled=true" \
rrobetti/ojp:0.4.17-SNAPSHOT
rrobetti/ojp:0.4.18-SNAPSHOT

- name: Wait for ojp-server to start
run: sleep 10
Expand Down
Loading