IGNITE-27686 Improve compute error message on marshaller mismatch #7626
IGNITE-27686 Improve compute error message on marshaller mismatch #7626valepakh wants to merge 6 commits intoapache:mainfrom
Conversation
509f029 to
853bfb3
Compare
...rg/apache/ignite/internal/runner/app/client/ItThinClientComputeTypeCheckMarshallingTest.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
This PR improves error messages for compute marshaller mismatches by separating the generic unmarshalArgOrResult method into two specific public methods: unmarshalArg and unmarshalResult. Each method provides distinct error messages that clearly indicate which API method (ComputeJob.inputMarshaller, JobDescriptor.argumentMarshaller, ComputeJob.resultMarshaller, or JobDescriptor.resultMarshaller) is causing the mismatch. The PR also adds comprehensive test coverage for all four mismatch scenarios and fixes minor spelling issues.
Changes:
- Split
unmarshalArgOrResultinto context-specificunmarshalArgandunmarshalResultmethods with tailored error messages - Added test cases for argument/result marshallers defined only in descriptor (not just in job)
- Fixed spelling errors ('unmarshaled' → 'unmarshalled', class name typo)
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| modules/client-common/src/main/java/org/apache/ignite/internal/compute/SharedComputeUtils.java | Split unmarshalArgOrResult into unmarshalArg and unmarshalResult with specific error messages for arguments vs results |
| modules/client-common/src/main/java/org/apache/ignite/internal/client/proto/ClientComputeJobUnpacker.java | Updated to use unmarshalResult instead of unmarshalArgOrResult |
| modules/client-common/src/test/java/org/apache/ignite/internal/client/proto/ClientComputeJobPackerUnpackerTest.java | Updated test assertions to check for new specific error messages |
| modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientComputeTypeCheckMarshallingTest.java | Enhanced test coverage with 4 new test methods, improved assertions, fixed spelling/naming issues |
| modules/compute/src/main/java/org/apache/ignite/internal/compute/ResultUnmarshallingJobExecution.java | Updated to use unmarshalResult for result unmarshalling |
| modules/compute/src/main/java/org/apache/ignite/internal/compute/IgniteComputeImpl.java | Updated to use unmarshalResult for result unmarshalling |
| modules/compute/src/main/java/org/apache/ignite/internal/compute/ComputeUtils.java | Updated to use unmarshalArg for argument unmarshalling |
| modules/compute/src/test/java/org/apache/ignite/internal/compute/executor/ComputeExecutorTest.java | Updated test to use unmarshalResult |
| modules/compute/src/test/java/org/apache/ignite/internal/compute/ComputeComponentImplTest.java | Updated tests to use unmarshalArg/unmarshalResult appropriately |
| modules/client/src/test/java/org/apache/ignite/client/fakes/FakeCompute.java | Updated to use unmarshalArg for arguments and unmarshalResult for results |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
https://issues.apache.org/jira/browse/IGNITE-27686
Separated helper method for argument and result so that the error messages are different.