----------------------------------------------------------- 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 > >
