daml/scala-protoc-plugins/scala-akka
tudor-da ae037ab5fd
Fail Akka sources with distinct throwables [DPP-1241] (#15084)
* On Dispatcher cancel, fail sources with distinct throwables

changelog_begin
Fixes an issue where failing multiple sources with the same StatusRuntimException
leads to an unhandled error in the gRPC serialization layer. This issue was
caused by serialization actually mutating the non-thread-safe io.grpc.Metadata
contained in the StatusRuntimeException.
changelog_end

* Fix ApiVersionService internalError

* Log error on ServerCall.close() errors

* Address Sergey's review comments

* Addressed more review comments

* Accessor method for call.close to bypass IllegalAccessErrors

* Use unique kill switches per stream in generated Akka Grpc streaming services

This change has two benefits:
- The error is logged only on an actual stream termination
- The throwable is not shared between streams, avoiding concurrent Metadata access errors

* Addressed Marton's review comments
2022-10-04 11:39:38 +00:00
..
AkkaGrpcServicePrinter.scala Fail Akka sources with distinct throwables [DPP-1241] (#15084) 2022-10-04 11:39:38 +00:00
AkkaStreamCompilerPlugin.scala update copyright headers (#12240) 2022-01-03 16:36:51 +00:00
AkkaStreamGenerator.scala update copyright headers (#12240) 2022-01-03 16:36:51 +00:00
BUILD.bazel update copyright headers (#12240) 2022-01-03 16:36:51 +00:00
protoc-gen-scala-akka.go Update to Java 11 (#11512) 2021-11-18 14:48:37 +00:00