Tiago Marques Godinho created IGNITE-27361:
----------------------------------------------
Summary: Reintroduce check for POJOs without default constructors
in MapperBuilder
Key: IGNITE-27361
URL: https://issues.apache.org/jira/browse/IGNITE-27361
Project: Ignite
Issue Type: Improvement
Components: thin clients ai3
Affects Versions: 3.2
Reporter: Tiago Marques Godinho
Assignee: Tiago Marques Godinho
In IGNITE-26985 the check for requiring default constructors in POJOs was
removed.
Previously, the check would produce an IllegalArgumentException for POJOs
without default constructors in MapperBuilder(MyPojo.class) calls. In the new
version, the user will not receive any feedback when creating the mapper, the
error will be delayed until the first operation.
I'd prefer having the check in the Mapper constructor as previously, but what I
really dislike, is that we have a bunch of checks there (NativelySupported,
Arrays, Enums etc) but not the check for default constructors.
It's also true that we don't explicitly say in the docs that these
preconditions will be checked, but sort of seems like an inconsistent behaviour
to me anyway. Specially because we had it, and now we removed it, for no
obvious reason (at least we should able check if the class is a record).
Notes:
* PR Link:
https://github.com/apache/ignite-3/commit/958f1ccfdd9abca26b3895ae27ed81fa7520773d#diff-9265c221dc86711da6417d66dc81bcf9e923c31dda0b7e2161c0341e208f6244
--
This message was sent by Atlassian Jira
(v8.20.10#820010)