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)

Reply via email to