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

Ilya Shishkov updated IGNITE-28862:
-----------------------------------
    Labels: ise  (was: )

> TransformCollectionView throws exception if original elements are not 
> Serializable
> ----------------------------------------------------------------------------------
>
>                 Key: IGNITE-28862
>                 URL: https://issues.apache.org/jira/browse/IGNITE-28862
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Ilya Shishkov
>            Priority: Minor
>              Labels: ise
>
> {code:java|title=Minimal reproducer}
> Supplier<String> sup = () -> "Not serializable supplier";
> U.marshal(Marshallers.jdk(), F.viewReadOnly(List.of(sup), Supplier::get));
> {code}
> Transformed {{String}} value is serializable, but test will fail:
> {code:java}
> class org.apache.ignite.IgniteCheckedException: Failed to serialize object: 
> [Not serializable supplier]
>       at 
> org.apache.ignite.marshaller.jdk.JdkMarshallerImpl.marshal0(JdkMarshallerImpl.java:100)
>       at 
> org.apache.ignite.marshaller.jdk.JdkMarshallerImpl.marshal0(JdkMarshallerImpl.java:107)
>       at 
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.marshal(AbstractNodeNameAwareMarshaller.java:50)
>       at 
> org.apache.ignite.marshaller.Marshallers.marshal(Marshallers.java:102)
>       at 
> org.apache.ignite.internal.util.IgniteUtils.marshal(IgniteUtils.java:6698)
> ...
> Caused by: java.io.NotSerializableException: Lambda$159/0x000072df4c2874a0
>       at 
> java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1187)
>       at 
> java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:350)
>       at 
> java.base/java.util.CollSer.writeObject(ImmutableCollections.java:1465)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>       at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:569)
>       at 
> java.base/java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1070)
> {code}



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

Reply via email to