Skip to content

IGNITE-27686 Improve compute error message on marshaller mismatch #7626

Open
valepakh wants to merge 6 commits intoapache:mainfrom
unisonteam:IGNITE-27686
Open

IGNITE-27686 Improve compute error message on marshaller mismatch #7626
valepakh wants to merge 6 commits intoapache:mainfrom
unisonteam:IGNITE-27686

Conversation

@valepakh
Copy link
Contributor

https://issues.apache.org/jira/browse/IGNITE-27686

Separated helper method for argument and result so that the error messages are different.

@ptupitsyn ptupitsyn changed the title IGNITE-27686 Misleading error message in compute job execution IGNITE-27686 Improve compute error message on marshaller mismatch Feb 19, 2026
@ptupitsyn ptupitsyn requested a review from Copilot February 19, 2026 06:38
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 unmarshalArgOrResult into context-specific unmarshalArg and unmarshalResult methods 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments