convergencelabs / convergence-project

The project used for Convergence Project Management and Issue Reporting
https://convergence.io
42 stars 5 forks source link

Getting historical operation for a no-op StringSpliceOperation results in exception #248

Closed mmacfadden closed 3 years ago

mmacfadden commented 3 years ago

Versions

Describe the Bug When trying to play back a model history. A no-oped StringSpliceOperation will result in an exception:

server_1         | 18:36:46 ERROR HistoricModelClientActor - an unexpected error occurred
server_1         | java.util.NoSuchElementException: None.get
server_1         |      at scala.None$.get(Option.scala:627) ~[org.scala-lang.scala-library-2.13.5.jar:?]
server_1         |      at scala.None$.get(Option.scala:626) ~[org.scala-lang.scala-library-2.13.5.jar:?]
server_1         |      at com.convergencelabs.convergence.server.api.realtime.protocol.ModelOperationConverters$.discreteOpToProto(ModelOperationConverters.scala:53) ~[com.convergencelabs.convergence-server-1.0.0-rc.10.jar:1.0.0-rc.10]
server_1         |      at com.convergencelabs.convergence.server.api.realtime.protocol.ModelOperationConverters$.modelOperationToProto(ModelOperationConverters.scala:30) ~[com.convergencelabs.convergence-server-1.0.0-rc.10.jar:1.0.0-rc.10]
server_1         |      at com.convergencelabs.convergence.server.api.realtime.HistoricModelClientActor.$anonfun$onOperationRequest$5(HistoricModelClientActor.scala:102) ~[com.convergencelabs.convergence-server-1.0.0-rc.10.jar:1.0.0-rc.10]
server_1         |      at scala.collection.immutable.List.map(List.scala:246) ~[org.scala-lang.scala-library-2.13.5.jar:?]
server_1         |      at com.convergencelabs.convergence.server.api.realtime.HistoricModelClientActor.$anonfun$onOperationRequest$4(HistoricModelClientActor.scala:102) ~[com.convergencelabs.convergence-server-1.0.0-rc.10.jar:1.0.0-rc.10]
server_1         |      at com.convergencelabs.convergence.server.api.realtime.HistoricModelClientActor.$anonfun$onOperationRequest$4$adapted(HistoricModelClientActor.scala:101) ~[com.convergencelabs.convergence-server-1.0.0-rc.10.jar:1.0.0-rc.10]
server_1         |      at scala.util.Either.fold(Either.scala:189) ~[org.scala-lang.scala-library-2.13.5.jar:?]
server_1         |      at com.convergencelabs.convergence.server.api.realtime.HistoricModelClientActor.$anonfun$onOperationRequest$2(HistoricModelClientActor.scala:101) ~[com.convergencelabs.convergence-server-1.0.0-rc.10.jar:1.0.0-rc.10]
server_1         |      at com.convergencelabs.convergence.server.api.realtime.HistoricModelClientActor.$anonfun$onOperationRequest$2$adapted(HistoricModelClientActor.scala:94) ~[com.convergencelabs.convergence-server-1.0.0-rc.10.jar:1.0.0-rc.10]
server_1         |      at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:431) ~[org.scala-lang.scala-library-2.13.5.jar:?]
server_1         |      at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:63) ~[com.typesafe.akka.akka-actor_2.13-2.6.15.jar:2.6.15]
server_1         |      at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:100) ~[com.typesafe.akka.akka-actor_2.13-2.6.15.jar:2.6.15]
server_1         |      at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) [org.scala-lang.scala-library-2.13.5.jar:?]
server_1         |      at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:94) [org.scala-lang.scala-library-2.13.5.jar:?]
server_1         |      at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:100) [com.typesafe.akka.akka-actor_2.13-2.6.15.jar:2.6.15]
server_1         |      at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:49) [com.typesafe.akka.akka-actor_2.13-2.6.15.jar:2.6.15]
server_1         |      at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:48) [com.typesafe.akka.akka-actor_2.13-2.6.15.jar:2.6.15]
server_1         |      at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) [?:?]
server_1         |      at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) [?:?]
server_1         |      at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) [?:?]
server_1         |      at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) [?:?]
server_1         |      at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) [?:?]
mmacfadden commented 3 years ago

This has been fixed