The GitHub Actions job "Benchmarks PR Comment" on texera.git/main has failed.
Run started by GitHub user Yicong-Huang (triggered by Yicong-Huang).

Head commit for run:
2c2cf2fce09e524da199816f2f2eed930c1db5aa / Xinyuan Lin <[email protected]>
test(amber): add unit test coverage for FutureBijection and SerializedState 
(#5403)

### What changes were proposed in this PR?

Adds `EngineCommonConversionsSpec` covering two
`org.apache.texera.amber.engine.common` conversion helpers. Bundled
because both files are short, both deal with engine-level value-shape
conversions, and a single suite is the right level of focus.

| File | Behavior pinned |
| --- | --- |
| `FutureBijection.scala` | `RichTwitterFuture.asScala`:
`TwitterFuture.value` resolves Scala success; `TwitterFuture.exception`
fails Scala with the original exception (`eq` identity, no rewrapping);
async propagation via a Twitter `Promise` resolved after conversion.
`RichScalaFuture.asTwitter`: `Scala.successful` / `Scala.failed` mirror
the above; async propagation via a Scala `Promise`; a never-completing
Scala `Promise` leaves the Twitter side un-resolved (verified with a
short `TwitterAwait` throwing `TimeoutException`). |
| `SerializedState.scala` | The five wire-format key constants
(`CP_STATE_KEY` / `DP_STATE_KEY` / `IN_FLIGHT_MSG_KEY` /
`DP_QUEUED_MSG_KEY` / `OUTPUT_MSG_KEY`) — a rename would silently break
checkpoint files written under the old names. `fromObject` captures
non-empty bytes + non-negative `serializerId` + non-null `manifest`.
Round-trip via `toObject` preserves value equality for a case class
(top-level on the companion, intentionally not nested so Kryo doesn't
try to serialize a captured outer reference), a boxed `Integer`, and an
immutable `Map[String, Int]`. `size()` equals `bytes.length` for
populated and empty `SerializedState` values. |

The suite owns a suite-local Pekko `ActorSystem` injected into
`Serialization`, torn down via `TestKit.shutdownActorSystem` in
`afterAll` so no Pekko threads outlive the run (same pattern as
`CheckpointSubsystemSpec`).

No production code changed; this is test-only.

### Any related issues, documentation, discussions?

Closes #5398

### How was this PR tested?

```
sbt "WorkflowExecutionService/Test/testOnly 
org.apache.texera.amber.engine.common.EngineCommonConversionsSpec"
# → 14 tests, all pass

sbt "WorkflowExecutionService/Test/scalafmtCheck"
# → clean
```

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Claude Opus 4.7)

Report URL: https://github.com/apache/texera/actions/runs/27726980871

With regards,
GitHub Actions via GitBox

Reply via email to