This is an automated email from the ASF dual-hosted git repository.
linxinyuan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/texera.git
The following commit(s) were added to refs/heads/main by this push:
new b74f9c9cd3 fix: old workflows failing to run after input port field
rename (#4379)
b74f9c9cd3 is described below
commit b74f9c9cd3ffe0e37e5ecb26f8cc1e8b11cf3228
Author: Xinyuan Lin <[email protected]>
AuthorDate: Mon Apr 13 17:06:47 2026 -0700
fix: old workflows failing to run after input port field rename (#4379)
### What changes were proposed in this PR?
This PR adds a backward-compatibility fix for older saved workflows that
still contain the legacy allowMultiInputs field in serialized input port
definitions.
After the input port model was changed to use disallowMultiInputs, older
workflow JSON in the database could no longer be deserialized correctly
and workflow execution failed with an UnrecognizedPropertyException.
This PR updates backend deserialization for PortDescription to ignore
the obsolete allowMultiInputs field so those existing workflows can
still run without requiring migration or manual cleanup.
We can remove this change later.
### Any related issues, documentation, discussions?
Closes #4378
### How was this PR tested?
Tested with the workflow generated by an older version of Texera (before
PR #4342).
### Was this PR authored or co-authored using generative AI tooling?
No.
---
.../main/scala/org/apache/texera/amber/operator/PortDescriptor.scala | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git
a/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/PortDescriptor.scala
b/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/PortDescriptor.scala
index 2d6763b102..ce36725a08 100644
---
a/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/PortDescriptor.scala
+++
b/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/PortDescriptor.scala
@@ -19,9 +19,12 @@
package org.apache.texera.amber.operator
-import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.annotation.{JsonIgnoreProperties, JsonProperty}
import org.apache.texera.amber.core.workflow.PartitionInfo
+@JsonIgnoreProperties(
+ Array("allowMultiInputs")
+) // TODO: temporary backward compatibility for workflows persisted before PR
#4379.
case class PortDescription(
portID: String,
displayName: String,