> On April 27, 2017, 12:44 a.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. > > Mehrdad Nurolahzade wrote: > 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)); > } > } > ```
Oh, derp. I misread that the checkJobExists was outside of the try. - David ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/58768/#review173139 ----------------------------------------------------------- On April 26, 2017, 11: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, 11: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 > >
