Skip to content

Commit dbc0afa

Browse files
Brendan DoyleBrendan Doyle
andauthored
Fix InstanceId Incompatibility (#4970)
Co-authored-by: Brendan Doyle <[email protected]>
1 parent 4956362 commit dbc0afa

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

common/scala/src/main/scala/org/apache/openwhisk/core/entity/InstanceId.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@ object ControllerInstanceId extends DefaultJsonProtocol {
103103
} else {
104104
deserializationError("could not read ControllerInstanceId")
105105
}
106+
case Seq(JsString(asString)) =>
107+
new ControllerInstanceId(asString)
106108
case _ =>
107109
deserializationError("could not read ControllerInstanceId")
108110
}

tests/src/test/scala/org/apache/openwhisk/core/entity/test/ControllerInstanceIdTests.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@ class ControllerInstanceIdTests extends FlatSpec with Matchers {
4646
}
4747
}
4848

49+
it should "deserialize legacy ControllerInstanceId format" in {
50+
val i = ControllerInstanceId("controller0")
51+
ControllerInstanceId.parse(JsObject("asString" -> JsString("controller0")).compactPrint) shouldBe Success(i)
52+
}
53+
4954
it should "serialize and deserialize ControllerInstanceId" in {
5055
val i = ControllerInstanceId("controller0")
5156
i.serialize shouldBe JsObject("asString" -> JsString(i.asString), "instanceType" -> JsString(i.instanceType)).compactPrint

0 commit comments

Comments
 (0)