[
https://issues.apache.org/jira/browse/IGNITE-28862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ilya Shishkov updated IGNITE-28862:
-----------------------------------
Description:
{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}
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}
was:
{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}
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}
> 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
>
> {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}
> 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)