This is an automated email from the ASF dual-hosted git repository.

github-merge-queue[bot] pushed a commit to branch 
gh-readonly-queue/release/v1.2/pr-7104-a9fa9bc091e2a8a3861c0d05586c0ab5c5bece8d
in repository https://gitbox.apache.org/repos/asf/texera.git

commit d3915afe1c81e9d591bba40ffc002a072c9965f2
Author: Yicong Huang <[email protected]>
AuthorDate: Thu Jul 30 03:40:32 2026 -0400

    fix(amber, v1.2): surface real cause when output port schema is unavailable 
(#7104)
    
    ### What changes were proposed in this PR?
    
    Backport of #5784 to `release/v1.2`, cherry-picked from
    6433e713a08606eb952581828e8f9c360a763013.
    
    Follows the Direct Backport Push convention; opened as a PR (rather than
    a direct push) as part of a backport-coverage audit for fixes merged to
    `main` since early June that were never labeled for backport.
    
    ### Any related issues, documentation, discussions?
    
    Backport of #5784. Originally linked #3546.
    
    ### How was this PR tested?
    
    Release-branch CI runs once the conflicts are resolved and this PR is
    marked ready for review. The cherry-pick **conflicted** and was
    committed with conflict markers.
    
    ### Was this PR authored or co-authored using generative AI tooling?
    
    Yes — backport prepared with Claude Code (mechanical cherry-pick;
    conflicts left as markers for the original author to resolve; the change
    itself is #5784 by its original author).
    
    Co-authored-by: Tanishq Gandhi 
<[email protected]>
---
 .../scheduling/RegionExecutionCoordinator.scala          | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git 
a/amber/src/main/scala/org/apache/texera/amber/engine/architecture/scheduling/RegionExecutionCoordinator.scala
 
b/amber/src/main/scala/org/apache/texera/amber/engine/architecture/scheduling/RegionExecutionCoordinator.scala
index 510893e82c..9e30b11e92 100644
--- 
a/amber/src/main/scala/org/apache/texera/amber/engine/architecture/scheduling/RegionExecutionCoordinator.scala
+++ 
b/amber/src/main/scala/org/apache/texera/amber/engine/architecture/scheduling/RegionExecutionCoordinator.scala
@@ -609,10 +609,20 @@ class RegionExecutionCoordinator(
         val portBaseURI = portConfig.storageURIBase
         val resultURI = VFSURIFactory.resultURI(portBaseURI)
         val stateURI = VFSURIFactory.stateURI(portBaseURI)
-        val schemaOptional =
-          
region.getOperator(outputPortId.opId).outputPorts(outputPortId.portId)._3
         val schema =
-          schemaOptional.getOrElse(throw new IllegalStateException("Schema is 
missing"))
+          
region.getOperator(outputPortId.opId).outputPorts(outputPortId.portId)._3 match 
{
+            case Right(resolvedSchema) => resolvedSchema
+            case Left(cause)           =>
+              // The output port schema failed to resolve (e.g. a dataset the 
workflow reads is not
+              // shared with the running user, making its file and inferred 
schema unavailable).
+              // Surface the underlying cause instead of a generic "Schema is 
missing" (issue #3546).
+              val reason = Option(cause.getMessage).getOrElse(cause.toString)
+              logger.error(s"Output schema unavailable for port 
$outputPortId", cause)
+              throw new IllegalStateException(
+                s"Failed to resolve the output schema: $reason",
+                cause
+              )
+          }
         DocumentFactory.createDocument(resultURI, schema)
         DocumentFactory.createDocument(stateURI, State.schema)
         if (!isRestart) {

Reply via email to