CryoThrust opened a new pull request, #12748:
URL: https://github.com/apache/seatunnel/pull/12748

   ### Purpose of this pull request
   
   Fixes #12747.
   
   `TaskOperation` used Hazelcast's typed `readObject(TaskLocation.class)` 
overload, which overrides construction rather than validating the wire class 
ID. A different class from the same factory can therefore be consumed as a 
TaskLocation if its field bytes fit. `AssignSplitOperation` used an unchecked 
assignment, producing a ClassCastException for another wire type.
   
   Both read sites now deserialize the wire-selected object and reject null or 
a non-TaskLocation with an IOException identifying the expected and decoded 
types. Serializer IDs and valid field layouts are unchanged. This is separate 
from the managed-runtime change in #11557.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Malformed task-location payloads now fail explicitly at the read site. Valid 
payloads, public APIs, configuration and dependencies are unchanged.
   
   ### How was this patch tested?
   
   ```sh
   ./mvnw -pl seatunnel-engine/seatunnel-engine-server spotless:check
   ./mvnw -pl seatunnel-engine/seatunnel-engine-server \
     
-Dtest=TaskOperationSerializationTest,CleanLogOperationSerializationTest,RecordSerializerTest,CheckpointSerializeTest,ResourceDataSerializerHookTest
 test
   ./mvnw -pl seatunnel-engine/seatunnel-engine-server -DskipTests verify
   ```
   
   JDK 11: 25 tests, zero failures/errors, one existing skipped checkpoint 
test. The six new checks exercise Hazelcast serialization, including a 
same-factory/different-class collision, null rejection, and byte-identical 
valid round trips for both paths. Before the fix, four of those six fail; after 
the fix, all six pass. Formatting, Checkstyle and module packaging/verify pass. 
Local commands skipped the unchanged UI build. Reactor dependencies were 
already installed; the full engine suite and live-cluster E2E were not run.
   
   ### Check list
   
   * No new dependencies, connector, configuration or valid-wire 
incompatibility.
   * No new feature documentation or migration guide required.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to