[jira] [Updated] (IGNITE-22393) FieldAccessor does not set the correct BinaryMode when a TypeConverter is used to Map a POJO field

2024-06-03 Thread Tiago Marques Godinho (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-22393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tiago Marques Godinho updated IGNITE-22393:
---
Description: 
I'm using the Mapper API with a TypeConverter to convert a POJO field into and 
Instant/Timestamp column.

However, the FieldAccessor code is very strict. It tries to find the binary 
mode directly from the original field type (in the POJO) instead of the target 
type of my TypeConverter.

[Here is the culpit|#L73-L79]]

 

  was:
I'm using the Mapper API with a TypeConverter to convert a POJO field into and 
Instant/Timestamp column.

However, the FieldAccessor code is very strict. It tries to find the binary 
mode directly from the original field type (in the POJO) instead of the target 
type of my TypeConverter.

[Here is the 
culpit|[https://github.com/apache/ignite-3/blob/ceac03f6b8574c1cbe23aed64ce082a6a4978ea1/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/FieldAccessor.java#L73-L79]]:


> FieldAccessor does not set the correct BinaryMode when a TypeConverter is 
> used to Map a POJO field
> --
>
> Key: IGNITE-22393
> URL: https://issues.apache.org/jira/browse/IGNITE-22393
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-beta1
>Reporter: Tiago Marques Godinho
>Priority: Major
>  Labels: ignite-3
>
> I'm using the Mapper API with a TypeConverter to convert a POJO field into 
> and Instant/Timestamp column.
> However, the FieldAccessor code is very strict. It tries to find the binary 
> mode directly from the original field type (in the POJO) instead of the 
> target type of my TypeConverter.
> [Here is the culpit|#L73-L79]]
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-22393) FieldAccessor does not set the correct BinaryMode when a TypeConverter is used to Map a POJO field

2024-06-03 Thread Tiago Marques Godinho (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-22393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tiago Marques Godinho updated IGNITE-22393:
---
Description: 
I'm using the Mapper API with a TypeConverter to convert a POJO field into and 
Instant/Timestamp column.

However, the FieldAccessor code is very strict. It tries to find the binary 
mode directly from the original field type (in the POJO) instead of the target 
type of my TypeConverter.

[Here is the 
culpit|https://github.com/apache/ignite-3/blob/ceac03f6b8574c1cbe23aed64ce082a6a4978ea1/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/FieldAccessor.java#L73-L79]

 

  was:
I'm using the Mapper API with a TypeConverter to convert a POJO field into and 
Instant/Timestamp column.

However, the FieldAccessor code is very strict. It tries to find the binary 
mode directly from the original field type (in the POJO) instead of the target 
type of my TypeConverter.

[Here is the culpit|#L73-L79]]

 


> FieldAccessor does not set the correct BinaryMode when a TypeConverter is 
> used to Map a POJO field
> --
>
> Key: IGNITE-22393
> URL: https://issues.apache.org/jira/browse/IGNITE-22393
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-beta1
>Reporter: Tiago Marques Godinho
>Priority: Major
>  Labels: ignite-3
>
> I'm using the Mapper API with a TypeConverter to convert a POJO field into 
> and Instant/Timestamp column.
> However, the FieldAccessor code is very strict. It tries to find the binary 
> mode directly from the original field type (in the POJO) instead of the 
> target type of my TypeConverter.
> [Here is the 
> culpit|https://github.com/apache/ignite-3/blob/ceac03f6b8574c1cbe23aed64ce082a6a4978ea1/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/FieldAccessor.java#L73-L79]
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-22393) FieldAccessor does not set the correct BinaryMode when a TypeConverter is used to Map a POJO field

2024-06-03 Thread Tiago Marques Godinho (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-22393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tiago Marques Godinho updated IGNITE-22393:
---
Description: 
I'm using the Mapper API with a TypeConverter to convert a POJO field into and 
Instant/Timestamp column.

However, the FieldAccessor code is very strict. It tries to find the binary 
mode directly from the original field type (in the POJO) instead of the target 
type of my TypeConverter.

[Here is the 
culpit|https://github.com/apache/ignite-3/blob/ceac03f6b8574c1cbe23aed64ce082a6a4978ea1/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/FieldAccessor.java#L73-L79]

Stacktrace:
{code:java}
Caused by: org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
TraceId:c3ef0478-fd84-4d47-a33b-2a19a1f67e59 java.lang.ClassCastException: 
class java.time.LocalDate cannot be cast to class [B (java.time.LocalDate and 
[B are in module java.base of loader 'bootstrap')
    at 
app//org.apache.ignite.internal.client.table.ClientKeyValueView.writeKeyValueRaw(ClientKeyValueView.java:610)
    at 
app//org.apache.ignite.internal.client.table.ClientKeyValueView.writeKeyValue(ClientKeyValueView.java:590)
    at 
app//org.apache.ignite.internal.client.table.ClientKeyValueView.lambda$putAsync$9(ClientKeyValueView.java:235)
    at 
app//org.apache.ignite.internal.client.table.ClientTable.lambda$doSchemaOutInOpAsync$5(ClientTable.java:460)
    at 
app//org.apache.ignite.internal.client.TcpClientChannel.send(TcpClientChannel.java:332)
    ... 30 more
Caused by: org.apache.ignite.internal.marshaller.MarshallerException: 
IGN-CMN-65535 TraceId:c3ef0478-fd84-4d47-a33b-2a19a1f67e59 
java.lang.ClassCastException: class java.time.LocalDate cannot be cast to class 
[B (java.time.LocalDate and [B are in module java.base of loader 'bootstrap')
    at 
app//org.apache.ignite.internal.marshaller.FieldAccessor.write(FieldAccessor.java:401)
    at 
app//org.apache.ignite.internal.marshaller.Marshaller$PojoMarshaller.writeField(Marshaller.java:300)
    at 
app//org.apache.ignite.internal.client.table.ClientKeyValueView.writeKeyValueRaw(ClientKeyValueView.java:606)
    ... 34 more
Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException: 
class java.time.LocalDate cannot be cast to class [B (java.time.LocalDate and 
[B are in module java.base of loader 'bootstrap')
    at 
org.apache.ignite.internal.marshaller.FieldAccessor$ReferenceFieldAccessor.write0(FieldAccessor.java:809)
    at 
org.apache.ignite.internal.marshaller.FieldAccessor.write(FieldAccessor.java:399)
    ... 36 more
Caused by: java.lang.ClassCastException: class java.time.LocalDate cannot be 
cast to class [B (java.time.LocalDate and [B are in module java.base of loader 
'bootstrap')
    at 
org.apache.ignite.internal.marshaller.FieldAccessor.writeRefObject(FieldAccessor.java:381)
    at 
org.apache.ignite.internal.marshaller.FieldAccessor$ReferenceFieldAccessor.write0(FieldAccessor.java:807)
    ... 37 more {code}
 

  was:
I'm using the Mapper API with a TypeConverter to convert a POJO field into and 
Instant/Timestamp column.

However, the FieldAccessor code is very strict. It tries to find the binary 
mode directly from the original field type (in the POJO) instead of the target 
type of my TypeConverter.

[Here is the 
culpit|https://github.com/apache/ignite-3/blob/ceac03f6b8574c1cbe23aed64ce082a6a4978ea1/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/FieldAccessor.java#L73-L79]

 


> FieldAccessor does not set the correct BinaryMode when a TypeConverter is 
> used to Map a POJO field
> --
>
> Key: IGNITE-22393
> URL: https://issues.apache.org/jira/browse/IGNITE-22393
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-beta1
>Reporter: Tiago Marques Godinho
>Priority: Major
>  Labels: ignite-3
>
> I'm using the Mapper API with a TypeConverter to convert a POJO field into 
> and Instant/Timestamp column.
> However, the FieldAccessor code is very strict. It tries to find the binary 
> mode directly from the original field type (in the POJO) instead of the 
> target type of my TypeConverter.
> [Here is the 
> culpit|https://github.com/apache/ignite-3/blob/ceac03f6b8574c1cbe23aed64ce082a6a4978ea1/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/FieldAccessor.java#L73-L79]
> Stacktrace:
> {code:java}
> Caused by: org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
> TraceId:c3ef0478-fd84-4d47-a33b-2a19a1f67e59 java.lang.ClassCastException: 
> class java.time.LocalDate cannot be cast to class [B (java.time.LocalDate and 
> [B are in module java.base of loader 'bootstrap')
>     at 
> app//org.apache.ignite.internal.client.table.ClientKeyValueView

[jira] [Updated] (IGNITE-22393) FieldAccessor does not set the correct BinaryMode when a TypeConverter is used to Map a POJO field

2024-06-03 Thread Andrey Mashenkov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-22393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Mashenkov updated IGNITE-22393:
--
Fix Version/s: 3.0.0-beta2

> FieldAccessor does not set the correct BinaryMode when a TypeConverter is 
> used to Map a POJO field
> --
>
> Key: IGNITE-22393
> URL: https://issues.apache.org/jira/browse/IGNITE-22393
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-beta1
>Reporter: Tiago Marques Godinho
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> I'm using the Mapper API with a TypeConverter to convert a POJO field into 
> and Instant/Timestamp column.
> However, the FieldAccessor code is very strict. It tries to find the binary 
> mode directly from the original field type (in the POJO) instead of the 
> target type of my TypeConverter.
> [Here is the 
> culpit|https://github.com/apache/ignite-3/blob/ceac03f6b8574c1cbe23aed64ce082a6a4978ea1/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/FieldAccessor.java#L73-L79]
> Stacktrace:
> {code:java}
> Caused by: org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
> TraceId:c3ef0478-fd84-4d47-a33b-2a19a1f67e59 java.lang.ClassCastException: 
> class java.time.LocalDate cannot be cast to class [B (java.time.LocalDate and 
> [B are in module java.base of loader 'bootstrap')
>     at 
> app//org.apache.ignite.internal.client.table.ClientKeyValueView.writeKeyValueRaw(ClientKeyValueView.java:610)
>     at 
> app//org.apache.ignite.internal.client.table.ClientKeyValueView.writeKeyValue(ClientKeyValueView.java:590)
>     at 
> app//org.apache.ignite.internal.client.table.ClientKeyValueView.lambda$putAsync$9(ClientKeyValueView.java:235)
>     at 
> app//org.apache.ignite.internal.client.table.ClientTable.lambda$doSchemaOutInOpAsync$5(ClientTable.java:460)
>     at 
> app//org.apache.ignite.internal.client.TcpClientChannel.send(TcpClientChannel.java:332)
>     ... 30 more
> Caused by: org.apache.ignite.internal.marshaller.MarshallerException: 
> IGN-CMN-65535 TraceId:c3ef0478-fd84-4d47-a33b-2a19a1f67e59 
> java.lang.ClassCastException: class java.time.LocalDate cannot be cast to 
> class [B (java.time.LocalDate and [B are in module java.base of loader 
> 'bootstrap')
>     at 
> app//org.apache.ignite.internal.marshaller.FieldAccessor.write(FieldAccessor.java:401)
>     at 
> app//org.apache.ignite.internal.marshaller.Marshaller$PojoMarshaller.writeField(Marshaller.java:300)
>     at 
> app//org.apache.ignite.internal.client.table.ClientKeyValueView.writeKeyValueRaw(ClientKeyValueView.java:606)
>     ... 34 more
> Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException: 
> class java.time.LocalDate cannot be cast to class [B (java.time.LocalDate and 
> [B are in module java.base of loader 'bootstrap')
>     at 
> org.apache.ignite.internal.marshaller.FieldAccessor$ReferenceFieldAccessor.write0(FieldAccessor.java:809)
>     at 
> org.apache.ignite.internal.marshaller.FieldAccessor.write(FieldAccessor.java:399)
>     ... 36 more
> Caused by: java.lang.ClassCastException: class java.time.LocalDate cannot be 
> cast to class [B (java.time.LocalDate and [B are in module java.base of 
> loader 'bootstrap')
>     at 
> org.apache.ignite.internal.marshaller.FieldAccessor.writeRefObject(FieldAccessor.java:381)
>     at 
> org.apache.ignite.internal.marshaller.FieldAccessor$ReferenceFieldAccessor.write0(FieldAccessor.java:807)
>     ... 37 more {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-22393) FieldAccessor does not set the correct BinaryMode when a TypeConverter is used to Map a POJO field

2024-06-03 Thread Andrey Mashenkov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-22393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Mashenkov updated IGNITE-22393:
--
Priority: Blocker  (was: Major)

> FieldAccessor does not set the correct BinaryMode when a TypeConverter is 
> used to Map a POJO field
> --
>
> Key: IGNITE-22393
> URL: https://issues.apache.org/jira/browse/IGNITE-22393
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-beta1
>Reporter: Tiago Marques Godinho
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> I'm using the Mapper API with a TypeConverter to convert a POJO field into 
> and Instant/Timestamp column.
> However, the FieldAccessor code is very strict. It tries to find the binary 
> mode directly from the original field type (in the POJO) instead of the 
> target type of my TypeConverter.
> [Here is the 
> culpit|https://github.com/apache/ignite-3/blob/ceac03f6b8574c1cbe23aed64ce082a6a4978ea1/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/FieldAccessor.java#L73-L79]
> Stacktrace:
> {code:java}
> Caused by: org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
> TraceId:c3ef0478-fd84-4d47-a33b-2a19a1f67e59 java.lang.ClassCastException: 
> class java.time.LocalDate cannot be cast to class [B (java.time.LocalDate and 
> [B are in module java.base of loader 'bootstrap')
>     at 
> app//org.apache.ignite.internal.client.table.ClientKeyValueView.writeKeyValueRaw(ClientKeyValueView.java:610)
>     at 
> app//org.apache.ignite.internal.client.table.ClientKeyValueView.writeKeyValue(ClientKeyValueView.java:590)
>     at 
> app//org.apache.ignite.internal.client.table.ClientKeyValueView.lambda$putAsync$9(ClientKeyValueView.java:235)
>     at 
> app//org.apache.ignite.internal.client.table.ClientTable.lambda$doSchemaOutInOpAsync$5(ClientTable.java:460)
>     at 
> app//org.apache.ignite.internal.client.TcpClientChannel.send(TcpClientChannel.java:332)
>     ... 30 more
> Caused by: org.apache.ignite.internal.marshaller.MarshallerException: 
> IGN-CMN-65535 TraceId:c3ef0478-fd84-4d47-a33b-2a19a1f67e59 
> java.lang.ClassCastException: class java.time.LocalDate cannot be cast to 
> class [B (java.time.LocalDate and [B are in module java.base of loader 
> 'bootstrap')
>     at 
> app//org.apache.ignite.internal.marshaller.FieldAccessor.write(FieldAccessor.java:401)
>     at 
> app//org.apache.ignite.internal.marshaller.Marshaller$PojoMarshaller.writeField(Marshaller.java:300)
>     at 
> app//org.apache.ignite.internal.client.table.ClientKeyValueView.writeKeyValueRaw(ClientKeyValueView.java:606)
>     ... 34 more
> Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException: 
> class java.time.LocalDate cannot be cast to class [B (java.time.LocalDate and 
> [B are in module java.base of loader 'bootstrap')
>     at 
> org.apache.ignite.internal.marshaller.FieldAccessor$ReferenceFieldAccessor.write0(FieldAccessor.java:809)
>     at 
> org.apache.ignite.internal.marshaller.FieldAccessor.write(FieldAccessor.java:399)
>     ... 36 more
> Caused by: java.lang.ClassCastException: class java.time.LocalDate cannot be 
> cast to class [B (java.time.LocalDate and [B are in module java.base of 
> loader 'bootstrap')
>     at 
> org.apache.ignite.internal.marshaller.FieldAccessor.writeRefObject(FieldAccessor.java:381)
>     at 
> org.apache.ignite.internal.marshaller.FieldAccessor$ReferenceFieldAccessor.write0(FieldAccessor.java:807)
>     ... 37 more {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-22393) FieldAccessor does not set the correct BinaryMode when a TypeConverter is used to Map a POJO field

2024-06-07 Thread Andrey Mashenkov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-22393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Mashenkov updated IGNITE-22393:
--
Ignite Flags:   (was: Docs Required,Release Notes Required)

> FieldAccessor does not set the correct BinaryMode when a TypeConverter is 
> used to Map a POJO field
> --
>
> Key: IGNITE-22393
> URL: https://issues.apache.org/jira/browse/IGNITE-22393
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-beta1
>Reporter: Tiago Marques Godinho
>Assignee: Andrey Mashenkov
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> I'm using the Mapper API with a TypeConverter to convert a POJO field into 
> and Instant/Timestamp column.
> However, the FieldAccessor code is very strict. It tries to find the binary 
> mode directly from the original field type (in the POJO) instead of the 
> target type of my TypeConverter.
> [Here is the 
> culpit|https://github.com/apache/ignite-3/blob/ceac03f6b8574c1cbe23aed64ce082a6a4978ea1/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/FieldAccessor.java#L73-L79]
> Stacktrace:
> {code:java}
> Caused by: org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
> TraceId:c3ef0478-fd84-4d47-a33b-2a19a1f67e59 java.lang.ClassCastException: 
> class java.time.LocalDate cannot be cast to class [B (java.time.LocalDate and 
> [B are in module java.base of loader 'bootstrap')
>     at 
> app//org.apache.ignite.internal.client.table.ClientKeyValueView.writeKeyValueRaw(ClientKeyValueView.java:610)
>     at 
> app//org.apache.ignite.internal.client.table.ClientKeyValueView.writeKeyValue(ClientKeyValueView.java:590)
>     at 
> app//org.apache.ignite.internal.client.table.ClientKeyValueView.lambda$putAsync$9(ClientKeyValueView.java:235)
>     at 
> app//org.apache.ignite.internal.client.table.ClientTable.lambda$doSchemaOutInOpAsync$5(ClientTable.java:460)
>     at 
> app//org.apache.ignite.internal.client.TcpClientChannel.send(TcpClientChannel.java:332)
>     ... 30 more
> Caused by: org.apache.ignite.internal.marshaller.MarshallerException: 
> IGN-CMN-65535 TraceId:c3ef0478-fd84-4d47-a33b-2a19a1f67e59 
> java.lang.ClassCastException: class java.time.LocalDate cannot be cast to 
> class [B (java.time.LocalDate and [B are in module java.base of loader 
> 'bootstrap')
>     at 
> app//org.apache.ignite.internal.marshaller.FieldAccessor.write(FieldAccessor.java:401)
>     at 
> app//org.apache.ignite.internal.marshaller.Marshaller$PojoMarshaller.writeField(Marshaller.java:300)
>     at 
> app//org.apache.ignite.internal.client.table.ClientKeyValueView.writeKeyValueRaw(ClientKeyValueView.java:606)
>     ... 34 more
> Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException: 
> class java.time.LocalDate cannot be cast to class [B (java.time.LocalDate and 
> [B are in module java.base of loader 'bootstrap')
>     at 
> org.apache.ignite.internal.marshaller.FieldAccessor$ReferenceFieldAccessor.write0(FieldAccessor.java:809)
>     at 
> org.apache.ignite.internal.marshaller.FieldAccessor.write(FieldAccessor.java:399)
>     ... 36 more
> Caused by: java.lang.ClassCastException: class java.time.LocalDate cannot be 
> cast to class [B (java.time.LocalDate and [B are in module java.base of 
> loader 'bootstrap')
>     at 
> org.apache.ignite.internal.marshaller.FieldAccessor.writeRefObject(FieldAccessor.java:381)
>     at 
> org.apache.ignite.internal.marshaller.FieldAccessor$ReferenceFieldAccessor.write0(FieldAccessor.java:807)
>     ... 37 more {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)