Error when reading experiment report in admin UI
See original GitHub issueAs our experiments get more and more data, fetching the report in the admin ui becomes slower right up to the point where it completely stops working and the server is throws this exception on every request to fetch the experiment report. From what i gather in the logs, the /api/experiments/*/results endpoint is failing with a NoSuchElementException
We are running on izanami server v1.8.3 with redis as event and datastore
You can reproduce it by making an experiment and filling it up with thousands of events.
Any ideas?
Caused by: zio.Cause$FiberTrace: Fiber failed.
An unchecked error was produced.
java.util.NoSuchElementException: JsError.get
Fiber:Id(1611174903008,256684) was supposed to continue to:
a future continuation at domains.abtesting.package$ExperimentService$.experimentResult(experiments.scala:354)
a future continuation at controllers.ExperimentController.results(ExperimentController.scala:233)
a future continuation at controllers.ExperimentController.results(ExperimentController.scala:235)
a future continuation at zio.ZIO$.zio$ZIO$$_succeedRight(ZIO.scala:3997)
a future continuation at libs.http.package$SecuredActionBuilderOps$AsyncZioBuilder.apply(http.scala:104)
a future continuation at zio.ZIO.run(ZIO.scala:1627)
a future continuation at zio.ZIO.bracket_(ZIO.scala:256)
a future continuation at zio.ZIO.run(ZIO.scala:1627)
a future continuation at zio.ZManaged.use(ZManaged.scala:1035)
a future continuation at zio.Runtime.unsafeRunToFuture(Runtime.scala:154)
Fiber:Id(1611174903008,256684) execution trace:
at zio.ZIO.orDieWith(ZIO.scala:1034)
at zio.ZIO.onInterrupt(ZIO.scala:966)
at zio.ZIO$._IdentityFn(ZIO.scala:3817)
at zio.ZIO$.fromFuture(ZIO.scala:3044)
at zio.ZIO$.effectAsyncInterrupt(ZIO.scala:2526)
at zio.ZIO$.effectAsyncInterrupt(ZIO.scala:2526)
at zio.ZIO$.fromFuture(ZIO.scala:3036)
at zio.ZIO$.fromFuture(ZIO.scala:3034)
at zio.ZIO$.fromFuture(ZIO.scala:3033)
at domains.abtesting.package$ExperimentService$.experimentResult(experiments.scala:339)
at domains.abtesting.package$ExperimentService$.getById(experiments.scala:256)
at zio.ZIO.orDieWith(ZIO.scala:1034)
at store.redis.RedisJsonDataStore.getByStringId(RedisJsonDataStore.scala:85)
at store.redis.RedisJsonDataStore.zioFromCs(RedisJsonDataStore.scala:76)
at store.redis.RedisJsonDataStore.zioFromCs(RedisJsonDataStore.scala:72)
at store.datastore.package$JsonDataStoreHelper.getById(store.scala:188)
at zio.ZIO$AccessPartiallyApplied$.apply(ZIO.scala:3977)
at domains.abtesting.package$ExperimentService$.getById(experiments.scala:255)
at zio.ZIO$.effectSuspendTotal(ZIO.scala:2593)
at domains.AuthorizedPatterns$.isAllowed(AuthorizedPatterns.scala:251)
at zio.ZIO$AccessPartiallyApplied$.apply(ZIO.scala:3977)
at domains.abtesting.package$ExperimentService$.experimentResult(experiments.scala:338)
at zio.ZIO$AccessPartiallyApplied$.apply(ZIO.scala:3977)
at domains.abtesting.package$ExperimentService$.experimentResult(experiments.scala:337)
at zio.ZIO$.runtime(ZIO.scala:3588)
at zio.ZIO$.runtime(ZIO.scala:3587)
at zio.ZIO$.runtime(ZIO.scala:3587)
at zio.ZIO$AccessPartiallyApplied$.apply(ZIO.scala:3977)
at zio.ZIO.bracket_(ZIO.scala:256)
at zio.internal.FiberContext.evaluateNow(FiberContext.scala:554)
at zio.ZManaged.use(ZManaged.scala:1036)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:160)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZIO$.effectSuspendTotal(ZIO.scala:2593)
at zio.ZIO$.bracketExit(ZIO.scala:2239)
at zio.internal.FiberContext.evaluateNow(FiberContext.scala:558)
at zio.ZIO.bracket_(ZIO.scala:256)
at zio.ZIO.run(ZIO.scala:1627)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZManaged.map(ZManaged.scala:452)
at zio.ZManaged.flatMap(ZManaged.scala:314)
at zio.ZManaged.flatMap(ZManaged.scala:314)
at zio.ZManaged.map(ZManaged.scala:452)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:160)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZIO$.effectSuspendTotal(ZIO.scala:2593)
at zio.ZIO$.bracketExit(ZIO.scala:2239)
at zio.internal.FiberContext.evaluateNow(FiberContext.scala:558)
at zio.ZIO.bracket_(ZIO.scala:256)
at zio.ZIO.run(ZIO.scala:1627)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:160)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZLayer$MemoMap$$anon$1.getOrElseMemoize(ZLayer.scala:2277)
at zio.ZLayer$MemoMap$$anon$1.getOrElseMemoize(ZLayer.scala:2274)
at zio.Promise.completeWith(Promise.scala:112)
at zio.ZLayer$MemoMap$$anon$1.getOrElseMemoize(ZLayer.scala:2274)
at zio.ZManaged$ReleaseMap$$anon$1.add(ZManaged.scala:1312)
at zio.ZManaged$ReleaseMap$$anon$1.addIfOpen(ZManaged.scala:1322)
at zio.ZIO.flatten(ZIO.scala:618)
at zio.ZRef$Atomic.modify(ZRef.scala:213)
at zio.ZLayer$MemoMap$$anon$1.getOrElseMemoize(ZLayer.scala:2272)
at zio.ZRef$Atomic.update(ZRef.scala:337)
at zio.ZLayer$MemoMap$$anon$1.getOrElseMemoize(ZLayer.scala:2267)
at zio.ZRef$Atomic.set(ZRef.scala:219)
at zio.ZLayer$MemoMap$$anon$1.getOrElseMemoize(ZLayer.scala:2260)
at zio.ZIO.run(ZIO.scala:1627)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:160)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZIO$.effectSuspendTotal(ZIO.scala:2593)
at zio.ZIO$.bracketExit(ZIO.scala:2239)
at zio.internal.FiberContext.evaluateNow(FiberContext.scala:558)
at zio.ZIO.bracket_(ZIO.scala:256)
at zio.ZIO.run(ZIO.scala:1627)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZManaged.flatMap(ZManaged.scala:314)
at zio.ZManaged.flatMap(ZManaged.scala:314)
at zio.ZManaged$.fromEffect(ZManaged.scala:1771)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:160)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZIO$.effectSuspendTotal(ZIO.scala:2593)
at zio.ZIO$.bracketExit(ZIO.scala:2239)
at zio.internal.FiberContext.evaluateNow(FiberContext.scala:558)
at zio.ZIO.bracket_(ZIO.scala:256)
at zio.ZIO.run(ZIO.scala:1627)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZIO.bracket_(ZIO.scala:256)
at zio.internal.FiberContext.evaluateNow(FiberContext.scala:554)
at zio.ZIO.provideSome(ZIO.scala:1157)
at zio.ZManaged.flatMap(ZManaged.scala:312)
at zio.ZManaged.map(ZManaged.scala:452)
at zio.ZManaged$.fromEffect(ZManaged.scala:1771)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:160)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZIO$.effectSuspendTotal(ZIO.scala:2593)
at zio.ZIO$.bracketExit(ZIO.scala:2239)
at zio.internal.FiberContext.evaluateNow(FiberContext.scala:558)
at zio.ZIO.bracket_(ZIO.scala:256)
at zio.ZIO.run(ZIO.scala:1627)
Fiber:Id(1611174903008,256684) was spawned by: <empty trace>
Fiber:Id(1611174903006,256683) was supposed to continue to:
a future continuation at filters.ZioIzanamiDefaultFilter.decodeTokenFilter(ZioIzanamiDefaultFilter.scala:205)
a future continuation at zio.ZIO$.zio$ZIO$$_succeedRight(ZIO.scala:3997)
a future continuation at filters.ZioIzanamiDefaultFilter.decodeTokenFilter(ZioIzanamiDefaultFilter.scala:208)
a future continuation at zio.ZIO.run(ZIO.scala:1627)
a future continuation at zio.ZIO.onExit(ZIO.scala:943)
a future continuation at filters.ZioIzanamiDefaultFilter.filter(ZioIzanamiDefaultFilter.scala:134)
a future continuation at zio.ZIO.run(ZIO.scala:1627)
a future continuation at zio.ZIO.bracket_(ZIO.scala:256)
a future continuation at zio.ZIO.run(ZIO.scala:1627)
a future continuation at zio.ZManaged.use(ZManaged.scala:1035)
a future continuation at zio.Runtime.unsafeRunToFuture(Runtime.scala:154)
Fiber:Id(1611174903006,256683) execution trace:
at zio.ZIO.orDieWith(ZIO.scala:1034)
at zio.ZIO.onInterrupt(ZIO.scala:966)
at zio.ZIO$._IdentityFn(ZIO.scala:3817)
at zio.ZIO$.fromFuture(ZIO.scala:3044)
at zio.ZIO$.effectAsyncInterrupt(ZIO.scala:2526)
at zio.ZIO$.effectAsyncInterrupt(ZIO.scala:2526)
at zio.ZIO$.fromFuture(ZIO.scala:3036)
at zio.ZIO$.fromFuture(ZIO.scala:3034)
at zio.ZIO$.fromFuture(ZIO.scala:3033)
at filters.ZioIzanamiDefaultFilter.decodeTokenFilter(ZioIzanamiDefaultFilter.scala:204)
at filters.ZioIzanamiDefaultFilter.decodeToken(ZioIzanamiDefaultFilter.scala:215)
at filters.ZioIzanamiDefaultFilter.decodeToken(ZioIzanamiDefaultFilter.scala:215)
at filters.ZioIzanamiDefaultFilter.decodeToken(ZioIzanamiDefaultFilter.scala:216)
at filters.ZioIzanamiDefaultFilter.decodeToken(ZioIzanamiDefaultFilter.scala:215)
at <unknown>.<unknown>(ZIO.scala:0)
at filters.ZioIzanamiDefaultFilter.filter(ZioIzanamiDefaultFilter.scala:105)
at filters.ZioIzanamiDefaultFilter.filter(ZioIzanamiDefaultFilter.scala:105)
at filters.ZioIzanamiDefaultFilter.startMetrics(ZioIzanamiDefaultFilter.scala:269)
at zio.ZIO$AccessPartiallyApplied$.apply(ZIO.scala:3977)
at filters.ZioIzanamiDefaultFilter.filter(ZioIzanamiDefaultFilter.scala:104)
at filters.ZioIzanamiDefaultFilter.filter(ZioIzanamiDefaultFilter.scala:104)
at filters.ZioIzanamiDefaultFilter.filter(ZioIzanamiDefaultFilter.scala:104)
at zio.ZIO$AccessPartiallyApplied$.apply(ZIO.scala:3977)
at filters.ZioIzanamiDefaultFilter.filter(ZioIzanamiDefaultFilter.scala:103)
at zio.ZIO$AccessPartiallyApplied$.apply(ZIO.scala:3977)
at filters.ZioIzanamiDefaultFilter.filter(ZioIzanamiDefaultFilter.scala:102)
at zio.ZIO$AccessPartiallyApplied$.apply(ZIO.scala:3977)
at zio.ZIO.bracket_(ZIO.scala:256)
at zio.internal.FiberContext.evaluateNow(FiberContext.scala:554)
at zio.ZManaged.use(ZManaged.scala:1036)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:160)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZIO$.effectSuspendTotal(ZIO.scala:2593)
at zio.ZIO$.bracketExit(ZIO.scala:2239)
at zio.internal.FiberContext.evaluateNow(FiberContext.scala:558)
at zio.ZIO.bracket_(ZIO.scala:256)
at zio.ZIO.run(ZIO.scala:1627)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZManaged.map(ZManaged.scala:452)
at zio.ZManaged.flatMap(ZManaged.scala:314)
at zio.ZManaged.flatMap(ZManaged.scala:314)
at zio.ZManaged.map(ZManaged.scala:452)
at zio.ZManaged$.fromEffect(ZManaged.scala:1771)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:160)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZIO$.effectSuspendTotal(ZIO.scala:2593)
at zio.ZIO$.bracketExit(ZIO.scala:2239)
at zio.internal.FiberContext.evaluateNow(FiberContext.scala:558)
at zio.ZIO.bracket_(ZIO.scala:256)
at zio.ZIO.run(ZIO.scala:1627)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:160)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZIO.onInterrupt(ZIO.scala:967)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZIO$.effectSuspendTotal(ZIO.scala:2593)
at zio.ZIO$._IdentityFn(ZIO.scala:3817)
at zio.Promise.await(Promise.scala:50)
at zio.ZIO$.effectAsyncInterrupt(ZIO.scala:2526)
at zio.ZIO$.effectAsyncInterrupt(ZIO.scala:2526)
at zio.ZManaged.memoize(ZManaged.scala:491)
at zio.ZIO$WhenM$.apply(ZIO.scala:3935)
at zio.ZRef$Atomic.getAndSet(ZRef.scala:204)
at zio.ZIO.bracket_(ZIO.scala:256)
at zio.internal.FiberContext.evaluateNow(FiberContext.scala:554)
at zio.ZIO.provideSome(ZIO.scala:1157)
at zio.ZManaged.flatMap(ZManaged.scala:312)
at zio.ZManaged$.succeed(ZManaged.scala:2229)
at zio.ZManaged.flatMap(ZManaged.scala:312)
at zio.ZManaged$.fromEffect(ZManaged.scala:1771)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:160)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZIO$.effectSuspendTotal(ZIO.scala:2593)
at zio.ZIO$.bracketExit(ZIO.scala:2239)
at zio.internal.FiberContext.evaluateNow(FiberContext.scala:558)
at zio.ZIO.bracket_(ZIO.scala:256)
at zio.ZIO.run(ZIO.scala:1627)
at zio.internal.FiberContext$InterruptExit$.apply(FiberContext.scala:153)
at zio.ZLayer$MemoMap$.make(ZLayer.scala:2229)
at zio.ZRefM$.make(ZRefM.scala:502)
at zio.Semaphore$.make(Semaphore.scala:127)
at zio.ZRef$.make(ZRef.scala:749)
at zio.ZRefM$.make(ZRefM.scala:501)
at zio.ZRef$.make(ZRef.scala:749)
at zio.ZIO.bracket_(ZIO.scala:256)
at zio.internal.FiberContext.evaluateNow(FiberContext.scala:554)
at zio.ZIO.provideSome(ZIO.scala:1157)
at zio.ZIO.bracket_(ZIO.scala:256)
at zio.internal.FiberContext.evaluateNow(FiberContext.scala:554)
at zio.ZIO.provideSome(ZIO.scala:1157)
at zio.ZManaged.use(ZManaged.scala:1036)
at zio.ZManaged$ReleaseMap$.make(ZManaged.scala:1308)
at zio.ZRef$.make(ZRef.scala:749)
Fiber:Id(1611174903006,256683) was spawned by: <empty trace>
2021-01-20 20:35:05,423 [ERROR] from handlers.ErrorHandler in application-akka.actor.default-dispatcher-5 -
! @7iff1pod6 - Internal server error, for (GET) [/api/experiments/watchmedier:watchmedier-website:salesBox003/results] ->
play.api.UnexpectedException: Unexpected exception[NoSuchElementException: JsError.get]
at play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:331)
at play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:253)
at play.core.server.AkkaHttpServer$$anonfun$2.applyOrElse(AkkaHttpServer.scala:424)
at play.core.server.AkkaHttpServer$$anonfun$2.applyOrElse(AkkaHttpServer.scala:420)
at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:453)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:94)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:47)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:47)
at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
Caused by: java.util.NoSuchElementException: JsError.get
at play.api.libs.json.JsError.get(JsResult.scala:53)
at play.api.libs.json.JsError.get(JsResult.scala:52)
at domains.abtesting.events.impl.ExperimentVariantEventRedisService.$anonfun$findEvents$5(ExperimentVariantEventRedisService.scala:135)
at scala.collection.immutable.List.map(List.scala:250)
at domains.abtesting.events.impl.ExperimentVariantEventRedisService.$anonfun$findEvents$3(ExperimentVariantEventRedisService.scala:134)
at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:430)
Issue Analytics
- State:
- Created 3 years ago
- Comments:7
Top Results From Across the Web
Experimental Error Types, Sources & Examples - Study.com
The definition of experimental error is any variance between a measurement taken during an experiment and the established value. Consider a ...
Read more >Ranger Admin UI does not open from Quick links
I have checked logs in /var/log/ranger/admin/xa_portal.log . I dont see any error in logs, only below warn i can see. WARN org.apache.hadoop.fs.
Read more >Troubleshoot user errors with Office Add-ins - Microsoft Learn
Enter the URL that appears in the error message, and choose Add. Try to use the add-in again. If the problem persists, verify...
Read more >Parsing error: Cannot read file tsconfig.json, when it's ... - GitHub
Hi, I have nested subprojects, with individual esling and tsconfig configurations, which get parsed correctly from command line, ...
Read more >Error Tracking - GitLab Docs
Error Tracking allows developers to easily discover and view the errors that their application may be generating. By surfacing error information where the ......
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

I’m closing this issue. Thank’s to open a newer one with log.
I will test this out and let you know if the problem is still there.