*cross-posting to dev*
Hi Chris, This is a regression due to this fix: https://issues.apache.org/jira/browse/IGNITE-6485. For some reason, since 2.3 it is looking for readResolve/writeReplace methods only in exact class that is being serialized, but not in the whole hierarchy. *Andrey G*, since you did this change, can you please clarify it? Why isn't it looking into parent classes anymore? Generally, readResolve/writeReplace can reside in parent classes, so previous behavior seems to be the correct one. Can you create a ticket to fix it back? -Val On Mon, Nov 6, 2017 at 7:59 PM, Chris Berry <[hidden email]> wrote: > Hi Val > > I have found that if I switch from > > igniteConfig.setMarshaller(new BinaryMarshaller()); > > To: > > igniteConfig.setMarshaller(new > OptimizedMarshaller().setRequireSerializable(false)); > > Then everything works again. > > Although I am worried that this will have a terrible effect on performance > (I switched to the BinaryMarshaller to get a good performance bump at the > release of 2.0.0) > > I believe that all of this is because the concrete forms of the > ImmutableList (e.g. RegularImmutableList) > all use: > > final transient Object[] array; > > to keep their data. > And that the handling of transients changed for the BinaryMarshaller in > 2.3.0 > > Thanks for your help!! > Cheers, > -- Chris > > > > > Thanks, > -- Chris > > > > > -- > Sent from: http://apache-ignite-users.70518.x6.nabble.com/ > |
Andrey,
This ticket seems to be about the same issue: https://issues.apache.org/jira/browse/IGNITE-6944 Can you please take a look and provide your thoughts? -Val On Tue, Nov 7, 2017 at 4:02 PM, Valentin Kulichenko < [hidden email]> wrote: > *cross-posting to dev* > > Hi Chris, > > This is a regression due to this fix: https://issues.apache. > org/jira/browse/IGNITE-6485. For some reason, since 2.3 it is looking for > readResolve/writeReplace methods only in exact class that is being > serialized, but not in the whole hierarchy. > > *Andrey G*, since you did this change, can you please clarify it? Why > isn't it looking into parent classes anymore? Generally, > readResolve/writeReplace can reside in parent classes, so previous behavior > seems to be the correct one. Can you create a ticket to fix it back? > > -Val > > On Mon, Nov 6, 2017 at 7:59 PM, Chris Berry <[hidden email]> wrote: > >> Hi Val >> >> I have found that if I switch from >> >> igniteConfig.setMarshaller(new BinaryMarshaller()); >> >> To: >> >> igniteConfig.setMarshaller(new >> OptimizedMarshaller().setRequireSerializable(false)); >> >> Then everything works again. >> >> Although I am worried that this will have a terrible effect on performance >> (I switched to the BinaryMarshaller to get a good performance bump at the >> release of 2.0.0) >> >> I believe that all of this is because the concrete forms of the >> ImmutableList (e.g. RegularImmutableList) >> all use: >> >> final transient Object[] array; >> >> to keep their data. >> And that the handling of transients changed for the BinaryMarshaller in >> 2.3.0 >> >> Thanks for your help!! >> Cheers, >> -- Chris >> >> >> >> >> Thanks, >> -- Chris >> >> >> >> >> -- >> Sent from: http://apache-ignite-users.70518.x6.nabble.com/ >> > > |
Free forum by Nabble | Edit this page |