You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Fred Krone (JIRA)" <ji...@apache.org> on 2017/06/28 16:05:00 UTC

[jira] [Updated] (GEODE-3114) Inconsistency between partition and non-partition region with pdx persistence.

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

Fred Krone updated GEODE-3114:
------------------------------
    Labels: storage_1  (was: )

> Inconsistency between partition and non-partition region with pdx persistence.
> ------------------------------------------------------------------------------
>
>                 Key: GEODE-3114
>                 URL: https://issues.apache.org/jira/browse/GEODE-3114
>             Project: Geode
>          Issue Type: Bug
>          Components: persistence
>            Reporter: Anilkumar Gingade
>              Labels: storage_1
>
> When there is a persistent partition region and non-persistent non-partition region; a pdx value could be added into non-persistent non-partition region. But when there is persistent partition and non-persistent partition region, an error is thrown while adding pdx into non-persistent region.
> Case 1:
> Create region1 with persistent partition
> Create region2 with non-persistent non-partition
> Add pdx to region2, there is no exception.
> Case 2:
> Create region1 with persistent partition
> Create region2 with non-persistent partition
> Add pdx to region2, following exception is thrown.
> Exception:
> Caused by: org.apache.geode.pdx.PdxInitializationException: The PDX metadata must be persistent in a member that has persistent data. See CacheFactory.setPdxPersistent.
> Failed to Load Region.
> org.apache.geode.ToDataException: toData failed on PdxSerializable class PortfolioPdx
> 	at org.apache.geode.internal.InternalDataSerializer.writePdx(InternalDataSerializer.java:3007)
> 	at org.apache.geode.internal.InternalDataSerializer.basicWriteObject(InternalDataSerializer.java:2077)
> 	at org.apache.geode.DataSerializer.writeObject(DataSerializer.java:2936)
> 	at org.apache.geode.internal.cache.CachedDeserializableFactory.calcSerializedSize(CachedDeserializableFactory.java:243)
> 	at org.apache.geode.internal.cache.EntryEventImpl.getNewValSizeForPR(EntryEventImpl.java:2215)
> 	at org.apache.geode.internal.cache.PartitionedRegion.virtualPut(PartitionedRegion.java:1998)
> 	at org.apache.geode.internal.cache.LocalRegionDataView.putEntry(LocalRegionDataView.java:151)
> 	at org.apache.geode.internal.cache.LocalRegion.basicPut(LocalRegion.java:5043)
> 	at org.apache.geode.internal.cache.LocalRegion.validatedPut(LocalRegion.java:1592)
> 	at org.apache.geode.internal.cache.LocalRegion.put(LocalRegion.java:1579)
> 	at org.apache.geode.internal.cache.AbstractRegion.put(AbstractRegion.java:325)
> 	at CqServer.loadPdx(CqServer.java:356)
> 	at CqServer.main(CqServer.java:66)
> Caused by: org.apache.geode.pdx.PdxInitializationException: The PDX metadata must be persistent in a member that has persistent data. See CacheFactory.setPdxPersistent.
> 	at org.apache.geode.pdx.internal.PeerTypeRegistration.checkAllowed(PeerTypeRegistration.java:543)
> 	at org.apache.geode.pdx.internal.PeerTypeRegistration.verifyConfiguration(PeerTypeRegistration.java:518)
> 	at org.apache.geode.pdx.internal.PeerTypeRegistration.defineType(PeerTypeRegistration.java:373)
> 	at org.apache.geode.pdx.internal.TypeRegistry.defineType(TypeRegistry.java:200)
> 	at org.apache.geode.pdx.internal.TypeRegistry.defineLocalType(TypeRegistry.java:241)
> 	at org.apache.geode.pdx.internal.PdxWriterImpl.completeByteStreamGeneration(PdxWriterImpl.java:515)
> 	at org.apache.geode.internal.InternalDataSerializer.writePdx(InternalDataSerializer.java:3010)
> 	at org.apache.geode.internal.InternalDataSerializer.basicWriteObject(InternalDataSerializer.java:2077)
> 	at org.apache.geode.pdx.internal.PdxOutputStream.writeObject(PdxOutputStream.java:82)
> 	at org.apache.geode.pdx.internal.PdxWriterImpl.writeObject(PdxWriterImpl.java:329)
> 	at org.apache.geode.pdx.internal.PdxWriterImpl.writeObject(PdxWriterImpl.java:319)
> 	at PortfolioPdx.toData(PortfolioPdx.java:270)
> 	at org.apache.geode.internal.InternalDataSerializer.writePdx(InternalDataSerializer.java:2977)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)