linkedin / linkedin/dr-elephant
Auto tuning Duplicate entry '1000-1002' for key 'tuning_job_execution_param_set_u1']
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.4k
- Forks
- 839
- PR merge metrics
- No merged PRs in 30d
Description
```
08-23-2018 01:34:43 INFO [play-akka.actor.default-dispatcher-13] com.linkedin.drelephant.tuning.AutoTuningAPIHelper : Optimization Algorithm PSO
08-23-2018 01:34:43 INFO [play-akka.actor.default-dispatcher-13] com.linkedin.drelephant.tuning.AutoTuningAPIHelper : Returning best parameter set as no parameter suggestion found for job: wordcountpig
08-23-2018 01:34:43 ERROR [play-akka.actor.default-dispatcher-13] controllers.Application : Exception parsing input:
javax.persistence.PersistenceException: ERROR executing DML bindLog[] error[Duplicate entry '1000-1002' for key 'tuning_job_execution_param_set_u1']
at com.avaje.ebeaninternal.server.persist.dml.DmlBeanPersister.execute(DmlBeanPersister.java:97)
at com.avaje.ebeaninternal.server.persist.dml.DmlBeanPersister.insert(DmlBeanPersister.java:57)
at com.avaje.ebeaninternal.server.persist.DefaultPersistExecute.executeInsertBean(DefaultPersistExecute.java:66)
at com.avaje.ebeaninternal.server.core.PersistRequestBean.executeNow(PersistRequestBean.java:448)
at com.avaje.ebeaninternal.server.core.PersistRequestBean.executeOrQueue(PersistRequestBean.java:478)
at com.avaje.ebeaninternal.server.persist.DefaultPersister.insert(DefaultPersister.java:335)
at com.avaje.ebeaninternal.server.persist.DefaultPersister.saveEnhanced(DefaultPersister.java:310)
at com.avaje.ebeaninternal.server.persist.DefaultPersister.saveRecurse(DefaultPersister.java:280)
at com.avaje.ebeaninternal.server.persist.DefaultPersister.save(DefaultPersister.java:248)
at com.avaje.ebeaninternal.server.core.DefaultServer.save(DefaultServer.java:1568)
at com.avaje.ebeaninternal.server.core.DefaultServer.save(DefaultServer.java:1558)
at com.avaje.ebean.Ebean.save(Ebean.java:453)
at play.db.ebean.Model.save(Model.java:91)
at models.TuningJobExecutionParamSet.save(TuningJobExecutionParamSet.java:67)
at com.linkedin.drelephant.tuning.AutoTuningAPIHelper.addNewTuningJobExecutionParamSet(AutoTuningAPIHelper.java:369)
at com.linkedin.drelephant.tuning.AutoTuningAPIHelper.getCurrentRunParameters(AutoTuningAPIHelper.java:343)
at controllers.Application.getCurrentRunParameters(Application.java:1006)
at controllers.Application.getCurrentRunParameters(Application.java:968)
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$32$$anonfun$apply$32.apply(routes_routing.scala:445)
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$32$$anonfun$apply$32.apply(routes_routing.scala:445)
at play.core.Router$HandlerInvoker$$anon$7$$anon$2.invocation(Router.scala:183)
at play.core.Router$Routes$$anon$1.invocation(Router.scala:377)
at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:56)
at play.GlobalSettings$1.call(GlobalSettings.java:64)
at play.core.j.JavaAction$$anon$3.apply(JavaAction.scala:91)
at play.core.j.JavaAction$$anon$3.apply(JavaAction.scala:90)
at play.core.j.FPromiseHelper$$anonfun$flatMap$1.apply(FPromiseHelper.scala:82)
at play.core.j.FPromiseHelper$$anonfun$flatMap$1.apply(FPromiseHelper.scala:82)
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:251)
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:249)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:37)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:42)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
```
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at models.TuningJobExecutionParamSet.save and AutoTuningAPIHelper.addNewTuningJobExecutionParamSet, especially the reported lines 67 and 369, then trace the call from getCurrentRunParameters. Determine why the tuning_job_execution_param_set_u1 insert receives the duplicate pair shown in the exception. Done means the reported request no longer fails with this duplicate-entry error and the behavior is verified with a regression test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100