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

[jira] [Assigned] (GEODE-4822) The second server instance startup error: Could not create an instance of PartitionRegionConfig

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

Bruce Schuchardt reassigned GEODE-4822:
---------------------------------------

    Assignee:     (was: Bruce Schuchardt)

> The second server instance startup error: Could not create an instance of PartitionRegionConfig
> -----------------------------------------------------------------------------------------------
>
>                 Key: GEODE-4822
>                 URL: https://issues.apache.org/jira/browse/GEODE-4822
>             Project: Geode
>          Issue Type: Bug
>          Components: serialization
>            Reporter: Vlad Ermolaev
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> I have a simple configuration containing a partitioned persistent region and an async queue:
> {code:xml} 
> <async-event-queue id="userQueue" persistent="true" parallel="true" dispatcher-threads="1" enable-batch-conflation="true" batch-size="10" batch-time-interval="10">
>  <async-event-listener>
>  <class-name>test.geode.UserQueueListener</class-name>
>  </async-event-listener>
> </async-event-queue>
> <pdx persistent="true" read-serialized="true">
>  <pdx-serializer>
>  <class-name>test.geode.util.PdxSerializerWrapper</class-name>
>  </pdx-serializer>
> </pdx>
> <region name="Users" refid="PARTITION_REDUNDANT_PERSISTENT">
>  <region-attributes initial-capacity="101" load-factor="0.85" async-event-queue-ids="userQueue">
>  <key-constraint>java.lang.Long</key-constraint>
>  <value-constraint>test.geode.domain.User</value-constraint>
>  </region-attributes>
> </region>
> {code}
>  
> The first server instance successfully started.
> But the second one in always failing on startup. The problem disappears if I remove the <async-event-queue> config or disable PDX serialization.
> Here is the stacktrace of the failed instance:
> {code}
> [info 2018/03/12 11:01:43.880 CET server2 <main> tid=0x1] Initializing region PdxTypes
> [info 2018/03/12 11:01:43.893 CET server2 <main> tid=0x1] Region PdxTypes requesting initial image from 192.168.178.159(server1:23330)<v1>:1025
> [info 2018/03/12 11:01:43.897 CET server2 <main> tid=0x1] PdxTypes is done getting image from 192.168.178.159(server1:23330)<v1>:1025. isDeltaGII is true
> [info 2018/03/12 11:01:43.897 CET server2 <main> tid=0x1] Region PdxTypes initialized persistent id: /192.168.178.159:/u01/home/chet/projects/geode/server2/store/pdx created at timestamp 1520848903878 version 0 diskStoreId 9d7c3e96b525418d-ae5b85e1966f3a51 name server2 with data from 192.168.178.159(server1:23330)<v1>:1025.
> [info 2018/03/12 11:01:43.897 CET server2 <main> tid=0x1] Initialization of region PdxTypes completed
> [info 2018/03/12 11:01:43.901 CET server2 <main> tid=0x1] Recovered disk store mainStore with unique id 11c1012c13d04a3e-9309c26560d9fd33
> [info 2018/03/12 11:01:43.902 CET server2 <main> tid=0x1] recovery region initialization took 0 ms
> [info 2018/03/12 11:01:43.907 CET server2 <main> tid=0x1] Created disk store queueStore with unique id 308f63b00ee045f9-a6cfaea88f894c7a
> [info 2018/03/12 11:01:43.908 CET server2 <main> tid=0x1] recovery region initialization took 0 ms
> [info 2018/03/12 11:01:43.929 CET server2 <main> tid=0x1] Initializing region gatewayEventIdIndexMetaData
> [info 2018/03/12 11:01:43.933 CET server2 <main> tid=0x1] Region gatewayEventIdIndexMetaData requesting initial image from 192.168.178.159(server1:23330)<v1>:1025
> [info 2018/03/12 11:01:43.935 CET server2 <main> tid=0x1] gatewayEventIdIndexMetaData is done getting image from 192.168.178.159(server1:23330)<v1>:1025. isDeltaGII is false
> [info 2018/03/12 11:01:43.935 CET server2 <main> tid=0x1] Initialization of region gatewayEventIdIndexMetaData completed
> [info 2018/03/12 11:01:43.944 CET server2 <main> tid=0x1] ConcurrentParallelGatewaySenderEventProcessor: dispatcher threads 1
> [info 2018/03/12 11:01:43.953 CET server2 <main> tid=0x1] Started  ParallelGatewaySender{id=AsyncEventQueue_userQueue,remoteDsId=-1,isRunning =true}
> [info 2018/03/12 11:01:43.985 CET server2 <main> tid=0x1] Initializing region __PR
> [info 2018/03/12 11:01:43.989 CET server2 <main> tid=0x1] Region __PR requesting initial image from 192.168.178.159(server1:23330)<v1>:1025
> [info 2018/03/12 11:01:44.001 CET server2 <Pooled High Priority Message Processor 2> tid=0x32] Adding: PdxType[dsid=0, typenum=2161953
>           name=java.util.Collections$UnmodifiableSet
>           fields=[
>           c:Object:0:idx0(relativeOffset)=0:idx1(vlfOffsetIndex)=-1
>           empty:boolean:1:idx0(relativeOffset)=-1:idx1(vlfOffsetIndex)=-1]]
> [info 2018/03/12 11:01:44.005 CET server2 <main> tid=0x1] __PR failed to get image from 192.168.178.159(server1:23330)<v1>:1025
> [warning 2018/03/12 11:01:44.006 CET server2 <main> tid=0x1] Initialization failed for Region /__PR
> org.apache.geode.SerializationException: Could not create an instance of  org.apache.geode.internal.cache.PartitionRegionConfig .
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.InternalDataSerializer.invokeFromData(InternalDataSerializer.java:2474)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.DSFIDFactory.create(DSFIDFactory.java:990)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.InternalDataSerializer.basicReadObject(InternalDataSerializer.java:2784)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.DataSerializer.readObject(DataSerializer.java:2961)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.util.BlobHelper.deserializeBlob(BlobHelper.java:99)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.EntryEventImpl.deserialize(EntryEventImpl.java:1951)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.EntryEventImpl.deserialize(EntryEventImpl.java:1944)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.VMCachedDeserializable.getDeserializedValue(VMCachedDeserializable.java:134)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.entries.AbstractRegionEntry.initialImageInit(AbstractRegionEntry.java:693)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.AbstractRegionMap.initialImagePut(AbstractRegionMap.java:977)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.InitialImageOperation.processChunk(InitialImageOperation.java:935)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.InitialImageOperation$ImageProcessor.process(InitialImageOperation.java:1265)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.ReplyMessage.process(ReplyMessage.java:213)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.InitialImageOperation$ImageReplyMessage.process(InitialImageOperation.java:2741)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.ReplyMessage.dmProcess(ReplyMessage.java:193)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.ReplyMessage.process(ReplyMessage.java:186)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:382)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:448)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:1099)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.DistributionManager.access$000(DistributionManager.java:108)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.DistributionManager$5$1.run(DistributionManager.java:820)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in java.lang.Thread.run(Thread.java:748)
> 	at org.apache.geode.distributed.internal.ReplyException.handleAsUnexpected(ReplyException.java:85)
> 	at org.apache.geode.internal.cache.InitialImageOperation.getFromOne(InitialImageOperation.java:501)
> 	at org.apache.geode.internal.cache.DistributedRegion.getInitialImageAndRecovery(DistributedRegion.java:1217)
> 	at org.apache.geode.internal.cache.DistributedRegion.initialize(DistributedRegion.java:1059)
> 	at org.apache.geode.internal.cache.GemFireCacheImpl.createVMRegion(GemFireCacheImpl.java:3089)
> 	at org.apache.geode.internal.cache.PartitionedRegionHelper.getPRRoot(PartitionedRegionHelper.java:271)
> 	at org.apache.geode.internal.cache.PartitionedRegionHelper.getPRRoot(PartitionedRegionHelper.java:190)
> 	at org.apache.geode.internal.cache.PartitionedRegion.initializePartitionedRegion(PartitionedRegion.java:1267)
> 	at org.apache.geode.internal.cache.PartitionedRegion.initPRInternals(PartitionedRegion.java:985)
> 	at org.apache.geode.internal.cache.PartitionedRegion.initialize(PartitionedRegion.java:1166)
> 	at org.apache.geode.internal.cache.GemFireCacheImpl.createVMRegion(GemFireCacheImpl.java:3089)
> 	at org.apache.geode.internal.cache.GemFireCacheImpl.basicCreateRegion(GemFireCacheImpl.java:2989)
> 	at org.apache.geode.internal.cache.xmlcache.RegionCreation.createRoot(RegionCreation.java:243)
> 	at org.apache.geode.internal.cache.xmlcache.CacheCreation.initializeRegions(CacheCreation.java:563)
> 	at org.apache.geode.internal.cache.xmlcache.CacheCreation.create(CacheCreation.java:517)
> 	at org.apache.geode.internal.cache.xmlcache.CacheXmlParser.create(CacheXmlParser.java:338)
> 	at org.apache.geode.internal.cache.GemFireCacheImpl.loadCacheXml(GemFireCacheImpl.java:4313)
> 	at org.apache.geode.internal.cache.GemFireCacheImpl.initializeDeclarativeCache(GemFireCacheImpl.java:1403)
> 	at org.apache.geode.internal.cache.GemFireCacheImpl.initialize(GemFireCacheImpl.java:1203)
> 	at org.apache.geode.internal.cache.GemFireCacheImpl.basicCreate(GemFireCacheImpl.java:778)
> 	at org.apache.geode.internal.cache.GemFireCacheImpl.create(GemFireCacheImpl.java:764)
> 	at org.apache.geode.cache.CacheFactory.create(CacheFactory.java:175)
> 	at org.apache.geode.cache.CacheFactory.create(CacheFactory.java:222)
> 	at org.apache.geode.distributed.internal.DefaultServerLauncherCacheProvider.createCache(DefaultServerLauncherCacheProvider.java:52)
> 	at org.apache.geode.distributed.ServerLauncher.createCache(ServerLauncher.java:844)
> 	at org.apache.geode.distributed.ServerLauncher.start(ServerLauncher.java:762)
> 	at org.apache.geode.distributed.ServerLauncher.run(ServerLauncher.java:692)
> 	at org.apache.geode.distributed.ServerLauncher.main(ServerLauncher.java:226)
> Caused by: java.lang.ClassCastException: org.apache.geode.pdx.internal.PdxInstanceImpl cannot be cast to java.util.Set
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.PartitionRegionConfig.fromData(PartitionRegionConfig.java:320)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.InternalDataSerializer.invokeFromData(InternalDataSerializer.java:2463)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.DSFIDFactory.create(DSFIDFactory.java:990)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.InternalDataSerializer.basicReadObject(InternalDataSerializer.java:2784)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.DataSerializer.readObject(DataSerializer.java:2961)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.util.BlobHelper.deserializeBlob(BlobHelper.java:99)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.EntryEventImpl.deserialize(EntryEventImpl.java:1951)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.EntryEventImpl.deserialize(EntryEventImpl.java:1944)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.VMCachedDeserializable.getDeserializedValue(VMCachedDeserializable.java:134)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.entries.AbstractRegionEntry.initialImageInit(AbstractRegionEntry.java:693)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.AbstractRegionMap.initialImagePut(AbstractRegionMap.java:977)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.InitialImageOperation.processChunk(InitialImageOperation.java:935)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.InitialImageOperation$ImageProcessor.process(InitialImageOperation.java:1265)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.ReplyMessage.process(ReplyMessage.java:213)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.internal.cache.InitialImageOperation$ImageReplyMessage.process(InitialImageOperation.java:2741)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.ReplyMessage.dmProcess(ReplyMessage.java:193)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.ReplyMessage.process(ReplyMessage.java:186)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:382)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:448)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:1099)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.DistributionManager.access$000(DistributionManager.java:108)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in org.apache.geode.distributed.internal.DistributionManager$5$1.run(DistributionManager.java:820)
> 	at Remote Member '192.168.178.159(server2:24615)<v4>:1026' in java.lang.Thread.run(Thread.java:748)
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)