> On April 26, 2017, 5:44 p.m., David McLaughlin wrote:
> > src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
> > Lines 312-325 (patched)
> > <https://reviews.apache.org/r/58768/diff/1/?file=1700804#file1700804line312>
> >
> > This method checks if the job already exists before executing this
> > code? So this would only ever be true if there was a race condition with
> > another request.
This is executed when `JobExistsException` is thrown by `checkJobExists()`
below:
```
private void checkJobExists(StoreProvider store, IJobKey jobKey) throws
JobExistsException {
if
(!Iterables.isEmpty(store.getTaskStore().fetchTasks(Query.jobScoped(jobKey).active()))
|| getCronJob(store, jobKey).isPresent()) {
throw new JobExistsException(jobAlreadyExistsMessage(jobKey));
}
}
```
- Mehrdad
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/58768/#review173139
-----------------------------------------------------------
On April 26, 2017, 4:57 p.m., Mehrdad Nurolahzade wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/58768/
> -----------------------------------------------------------
>
> (Updated April 26, 2017, 4:57 p.m.)
>
>
> Review request for Aurora, David McLaughlin, Stephan Erb, and Zameer Manji.
>
>
> Bugs: AURORA-1924
> https://issues.apache.org/jira/browse/AURORA-1924
>
>
> Repository: aurora
>
>
> Description
> -------
>
> Aurora scheduler rejects a request to create a job if a job with the same key
> already exists. Aurora client exits with an error once it receives a response
> with `ResponseCode.INVALID_REQUEST` from scheduler in this case.
>
> However, an attempt to create a job with the exact same configuration and
> number of instances is essentially idempotent. Scheduler can detect this
> situation, ignore it, and signal client to treat operation as successful;
> client warns user about existing job but does not fail the operation.
>
>
> Diffs
> -----
>
> api/src/main/thrift/org/apache/aurora/gen/api.thrift
> 3749531b5412d7ca217736aa85eed8e6606225ad
>
> src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
> 059fbb86a575f5b3d78a63c9a7b5a9eebb6cb3ae
> src/main/python/apache/aurora/client/cli/jobs.py
> b79ae56bee0e5692cacf1e66f4a4126b06aaffdc
>
> src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
> 016859ca3bf83f64d2576b4c7109729770f9e25c
> src/test/python/apache/aurora/client/cli/test_create.py
> 3b09bb25e919bac2795ccd56bd98657b1f98690b
>
>
> Diff: https://reviews.apache.org/r/58768/diff/1/
>
>
> Testing
> -------
>
> - Manually under Vagrant
> - End to end test script
>
>
> Thanks,
>
> Mehrdad Nurolahzade
>
>