-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/58850/
-----------------------------------------------------------
Review request for Aurora, David McLaughlin, Santhosh Kumar Shanmugham, and
Stephan Erb.
Bugs: AURORA-1923
https://issues.apache.org/jira/browse/AURORA-1923
Repository: aurora
Description
-------
Aurora client has a built in mechanism to automatically retry thrift API
operations if the connection with scheduler times out, experiences transport
exception, or encounters a transient exception on the scheduler side.
Retrying thrift calls due to scheduler connection timeout and transient
exceptions (see AURORA-187) is safe. However, as Aurora has no concept of
idempotency, its client can retry non-idempotent operations upon encountering
transport exceptions which can lead to nondeterministic situations.
For example, if client requests go through a proxy to reach scheduler, client
might consider a non-idempotent request failed and automatically retry it while
the original request has been received and processed by the scheduler.
This patch changes Aurora client invocation semantics from "at least once" to
"at most once" for non-idempotent operations.
Diffs
-----
src/main/python/apache/aurora/client/api/__init__.py
a4639db2c7818a1a0ef1ff128dd3603a67a16d09
src/main/python/apache/aurora/client/api/scheduler_client.py
9bbfece012e48e0b1752bbefd25c89e04d312cf6
src/test/python/apache/aurora/admin/test_maintenance.py
cccc1e5dbc97baaaf4c2265993db1fe857ca02a1
src/test/python/apache/aurora/api_util.py
f4935b537959a0e0ddf2f8e6d86a354b8d767823
src/test/python/apache/aurora/client/api/test_api.py
f1579b5fe68a094c9bae27750e66acbc1f4dcd47
src/test/python/apache/aurora/client/api/test_scheduler_client.py
59c651cc7014d6c82294df1a15398b64de73b32a
src/test/python/apache/aurora/client/cli/test_status.py
14ef3606d2bd53f33fff0c2ce9a0ad738eb34081
src/test/python/apache/aurora/client/cli/test_task.py
610414f0dca9a6be01aea2e9faba9bf9b2d6352d
Diff: https://reviews.apache.org/r/58850/diff/1/
Testing
-------
- End to end test script
- Manually in a test cluster
Thanks,
Mehrdad Nurolahzade