-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/58850/#review173550
-----------------------------------------------------------


Ship it!




Ship It!

- David McLaughlin


On April 28, 2017, 10:04 p.m., Mehrdad Nurolahzade wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/58850/
> -----------------------------------------------------------
> 
> (Updated April 28, 2017, 10:04 p.m.)
> 
> 
> 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/main/python/apache/aurora/client/cli/__init__.py 
> c1c54549fd8718275041b54e1e91b070dadc05da 
>   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/2/
> 
> 
> Testing
> -------
> 
> - End to end test script
> - Manually in a test cluster
> 
> 
> Thanks,
> 
> Mehrdad Nurolahzade
> 
>

Reply via email to