diff --git a/akka-javasdk-maven/akka-javasdk-parent/pom.xml b/akka-javasdk-maven/akka-javasdk-parent/pom.xml
index 950e52cfc..b84569b32 100644
--- a/akka-javasdk-maven/akka-javasdk-parent/pom.xml
+++ b/akka-javasdk-maven/akka-javasdk-parent/pom.xml
@@ -38,7 +38,7 @@
21
- 1.3.0-940b627
+ 1.3.0-2ecdbe3
UTF-8
false
diff --git a/akka-javasdk/src/main/scala/akka/javasdk/impl/workflow/WorkflowImpl.scala b/akka-javasdk/src/main/scala/akka/javasdk/impl/workflow/WorkflowImpl.scala
index a246e1729..f3d30c00f 100644
--- a/akka-javasdk/src/main/scala/akka/javasdk/impl/workflow/WorkflowImpl.scala
+++ b/akka-javasdk/src/main/scala/akka/javasdk/impl/workflow/WorkflowImpl.scala
@@ -89,12 +89,6 @@ class WorkflowImpl[S, W <: Workflow[S]](
new SpiWorkflow.RecoverStrategy(sdkRecoverStrategy.maxRetries, failoverTo = stepTransition)
}
- val failoverTo = {
- definition.getFailoverStepName.toScala.map { stepName =>
- new SpiWorkflow.StepTransition(stepName, definition.getFailoverStepInput.toScala.map(serializer.toBytes))
- }
- }
-
val stepConfigs =
definition.getStepConfigs.asScala.map { config =>
val stepTimeout = config.timeout.toScala.map(_.toScala)
@@ -102,15 +96,21 @@ class WorkflowImpl[S, W <: Workflow[S]](
(config.stepName, new SpiWorkflow.StepConfig(config.stepName, stepTimeout, failoverRecoverStrategy))
}.toMap
- val failoverRecoverStrategy = definition.getStepRecoverStrategy.toScala.map(toRecovery)
+ val defaultStepRecoverStrategy = definition.getStepRecoverStrategy.toScala.map(toRecovery)
+
+ val failoverRecoverStrategy = definition.getFailoverStepName.toScala.map(stepName =>
+ //when failoverStepName exists, maxRetries must exist
+ new SpiWorkflow.RecoverStrategy(
+ definition.getFailoverMaxRetries.toScala.get.maxRetries,
+ new SpiWorkflow.StepTransition(stepName, definition.getFailoverStepInput.toScala.map(serializer.toBytes))))
+
val stepTimeout = definition.getStepTimeout.toScala.map(_.toScala)
new SpiWorkflow.WorkflowConfig(
workflowTimeout = definition.getWorkflowTimeout.toScala.map(_.toScala),
- failoverTo = failoverTo,
failoverRecoverStrategy = failoverRecoverStrategy,
defaultStepTimeout = stepTimeout,
- defaultStepRecoverStrategy = failoverRecoverStrategy,
+ defaultStepRecoverStrategy = defaultStepRecoverStrategy,
stepConfigs = stepConfigs)
}
diff --git a/akka-javasdk/src/test/scala/akka/javasdk/impl/AnySupportSpec.scala b/akka-javasdk/src/test/scala/akka/javasdk/impl/AnySupportSpec.scala
index c5927420a..e11b8d76a 100644
--- a/akka-javasdk/src/test/scala/akka/javasdk/impl/AnySupportSpec.scala
+++ b/akka-javasdk/src/test/scala/akka/javasdk/impl/AnySupportSpec.scala
@@ -4,8 +4,6 @@
package akka.javasdk.impl
-import kalix.protocol.discovery.{ DiscoveryProto, UserFunctionError }
-import kalix.protocol.event_sourced_entity.EventSourcedEntityProto
import com.google.protobuf.any.{ Any => ScalaPbAny }
import com.google.protobuf.{ Any => JavaPbAny }
import com.google.protobuf.ByteString
@@ -15,29 +13,13 @@ import org.scalatest.wordspec.AnyWordSpec
class AnySupportSpec extends AnyWordSpec with Matchers with OptionValues {
- private val anySupport = new AnySupport(
- Array(EventSourcedEntityProto.javaDescriptor, DiscoveryProto.javaDescriptor),
- getClass.getClassLoader,
- "com.example")
+ private val anySupport = new AnySupport(Array.empty, getClass.getClassLoader, "com.example")
- private val anySupportScala = new AnySupport(
- Array(EventSourcedEntityProto.javaDescriptor, DiscoveryProto.javaDescriptor),
- getClass.getClassLoader,
- "com.example",
- AnySupport.PREFER_SCALA)
+ private val anySupportScala =
+ new AnySupport(Array.empty, getClass.getClassLoader, "com.example", AnySupport.PREFER_SCALA)
"Any support for Java" should {
- "support se/deserializing scala protobufs" in {
- val error = UserFunctionError("error")
- val any = anySupport.encodeScala(UserFunctionError("error"))
- any.typeUrl should ===("com.example/kalix.protocol.UserFunctionError")
-
- val decoded = anySupport.decodePossiblyPrimitive(any)
- decoded.getClass should ===(error.getClass)
- decoded should ===(error)
- }
-
def testPrimitive[T](name: String, value: T, defaultValue: T) = {
val any = anySupport.encodeScala(value)
any.typeUrl should ===(AnySupport.KalixPrimitive + name)
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 115dc0012..b2429d06c 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -8,7 +8,7 @@ object Dependencies {
val ProtocolVersionMinor = 1
val RuntimeImage = "gcr.io/kalix-public/kalix-runtime"
// Remember to bump kalix-runtime.version in akka-javasdk-maven/akka-javasdk-parent if bumping this
- val RuntimeVersion = sys.props.getOrElse("kalix-runtime.version", "1.3.0-940b627")
+ val RuntimeVersion = sys.props.getOrElse("kalix-runtime.version", "1.3.0-2ecdbe3")
}
// NOTE: embedded SDK should have the AkkaVersion aligned, when updating RuntimeVersion, make sure to check
// if AkkaVersion and AkkaHttpVersion are aligned