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)