Skip to content
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
aa2c19e
refactor: tidy up RetryingClient
schiemon Jun 25, 2025
4aaa678
refactor: tidy up RetryingRpcClient
schiemon Jun 25, 2025
3739f0c
[WIP] refactor: encapsulate an attempt into a separate class
schiemon Jun 26, 2025
26a4e0d
[WIP] refactor: continue modelling: push commit and abort into Retryi…
schiemon Jun 27, 2025
b31c646
[WIP] refactor: further extraction
schiemon Jun 27, 2025
eeb179f
fix: RetryClientTest
schiemon Jun 27, 2025
6d1ca15
fix: GrpcWebRetryTest
schiemon Jun 27, 2025
5ea6ebd
docs: remove comments
schiemon Jun 27, 2025
7501816
docs: correct comment
schiemon Jun 27, 2025
a9d9cd2
refactor: deprecate underdefined `onRetryingComplete`
schiemon Jun 27, 2025
6a0e105
fix: assert RETRYING state when creating attempt context
schiemon Jun 27, 2025
e428900
refactor: move req duplicator init into RetryingContext
schiemon Jun 27, 2025
784c54e
refactor: move attempt context creation and attempt execution into `R…
schiemon Jul 4, 2025
ceb30ed
feat: log when rctx initialization failed
schiemon Jul 27, 2025
cdb6b25
Merge branch 'main' into tidy-up-retrying-client
schiemon Aug 15, 2025
51bb121
Merge remote-tracking branch 'origin/main' into tidy-up-retrying-client
schiemon Aug 15, 2025
337c992
refactor: extract State from AbstractRetryingClient into RetryingCont…
schiemon Aug 17, 2025
60c50bd
refactor: extract counter bookkeeping into RetryCounter
schiemon Aug 20, 2025
111c711
refactor: extract scheduling into RetryScheduler
schiemon Aug 20, 2025
280aea4
refactor: move res and req listeners to init function of the Retrying…
schiemon Aug 20, 2025
f1591fe
refactor: rename numberAttemptsWithThisBackoffSoFar to numberAttempts…
schiemon Aug 21, 2025
2d2e65b
refactor: refactor scheduling and counting out of RetryingContext and…
schiemon Aug 22, 2025
286e4bf
refactor: use Precondition for parameter checks in RetryCounter
schiemon Aug 22, 2025
c4dd4a9
fix: make HttpRetryingContext/HttpRetryAttempt thread-safe
schiemon Aug 22, 2025
1a174c9
fix: make RpcRetryingContext/RpcRetryAttempt thread-safe
schiemon Aug 22, 2025
d55fc03
docs: add doc to RetryingContext
schiemon Aug 22, 2025
3e2b7fa
feat: refactor (Abstract)RetryingClient into RetriedRequest, RetrySch…
schiemon Sep 7, 2025
0f83d69
fix: refactor deadline setting to ClientUtil
schiemon Sep 7, 2025
f7655ad
feat: refactor RetryingRpcClient
schiemon Sep 7, 2025
126729a
fix: RpcRetryAttempt.execute
schiemon Sep 7, 2025
ee3fd4a
Merge branch 'main' of github.com:schiemon/armeria into tidy-up-retry…
schiemon Sep 8, 2025
402ed1c
fix: fix offset mishap in RetryingRpcClientTest.doNotRetryWhenRespons…
schiemon Sep 8, 2025
1b397b7
docs: fix docs for RetryScheduler
schiemon Sep 9, 2025
6c6f7e8
refactor: remove legacy RetryingContext
schiemon Sep 9, 2025
2f4b698
refactor: remove responsibility of completing original res from Retri…
schiemon Sep 9, 2025
7a7c0a6
Merge branch 'main' into tidy-up-retrying-client
schiemon Sep 9, 2025
df10849
fix: fix RetryingRpcClientTest.doNotRetryWhenResponseIsCancelled
schiemon Sep 9, 2025
c7a607f
fix: fix blockhound for RetryingRpcClientTest.doNotRetryWhenResponseI…
schiemon Sep 11, 2025
07f3fd7
fix: skip retry task when scheduler after deadline in DefaultRetrySch…
schiemon Sep 11, 2025
1fb4259
refactor: simplify RetryScheduler for sequential retrying
schiemon Sep 11, 2025
c5b883b
test: add RetrySchedulerTest
schiemon Sep 12, 2025
df62fbe
fix: fix overflow when calculating deadline
schiemon Sep 12, 2025
0785355
fix: fix RetrySchedulerTest
schiemon Sep 12, 2025
a7fc28b
docs: add comment in DefaultRetryScheduler
schiemon Sep 13, 2025
006e74e
test: stabilize and extend RetrySchedulerTest
schiemon Sep 13, 2025
edfc33b
test: reduce number of direct invocations for CI pipeline
schiemon Sep 13, 2025
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
Original file line number Diff line number Diff line change
Expand Up @@ -255,11 +255,27 @@ protected static int getTotalAttempts(ClientRequestContext ctx) {
/**
* Creates a new derived {@link ClientRequestContext}, replacing the requests.
* If {@link ClientRequestContext#endpointGroup()} exists, a new {@link Endpoint} will be selected.
*
* @deprecated Use {@link #newAttemptContext(ClientRequestContext, HttpRequest, RpcRequest, boolean)}
* instead.
*/
@Deprecated
protected static ClientRequestContext newDerivedContext(ClientRequestContext ctx,
@Nullable HttpRequest req,
@Nullable RpcRequest rpcReq,
boolean initialAttempt) {
return newAttemptContext(ctx, req, rpcReq, initialAttempt);
}

/**
* Creates a new {@link ClientRequestContext} for a retry attempt by replacing the request in
* {@link ClientRequestContext} with {@code req} or {@code rpcReq}.
* If {@link ClientRequestContext#endpointGroup()} exists, a new {@link Endpoint} will be selected.
*/
protected static ClientRequestContext newAttemptContext(ClientRequestContext ctx,
@Nullable HttpRequest req,
@Nullable RpcRequest rpcReq,
boolean initialAttempt) {
return ClientUtil.newDerivedContext(ctx, req, rpcReq, initialAttempt);
}

Expand Down
Loading
Loading