geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anilkumar Gingade (JIRA)" <>
Subject [jira] [Updated] (GEODE-3174) Use of multiple cache configuration (xml) can alter/impact cache setting during restart.
Date Sat, 08 Jul 2017 00:54:00 GMT


Anilkumar Gingade updated GEODE-3174:
    Affects Version/s: 1.2.0

> Use of multiple cache configuration (xml) can alter/impact cache setting during restart.
> ----------------------------------------------------------------------------------------
>                 Key: GEODE-3174
>                 URL:
>             Project: Geode
>          Issue Type: Bug
>          Components: configuration
>    Affects Versions: 1.2.0
>            Reporter: Anilkumar Gingade
> When system is configured using multiple cache configuration xml, the cache setting could
differ during restart.
> When a geode node is configured using, cluster configuration and its own cache.xml; during
re-start the cache.xml settings are applied only after cluster-configuration xml is parsed
which leads to cache getting created/initialized using partial configuration details.
> One of the problem encountered is with pdx persistent setting. The pdx persistent setting
was done using node's cache.xml. And persistent regions are created using cluster configuration.
When the node was re-started, the system parses the cluster-configuration file, and while
creating the persistent region throws exception saying pdx is not persisted, as the pdx persistent
setting is defined in cache.xml; which is processed later.
> While code walk through, noticed one more issue with pdx-type registry, which could get
created as non-persistent region when the node is re-started.
> One solution would be to merge all the xml (cluster-configuration, server-group and cache.xml)
before cache creation is invoked.
> Steps to reproduce:
> Start locator.
> Start server1 with its own cache.xml with pdx-persistance set  (make sure use-cluster
configuration is set to true)
> Start server2 with its own cache.xml with pdx-persistance set  (make sure use-cluster
configuration is set to true)
> create non-persistent-partition region. Add pdx entries to it.
> create persistent-partition region.
> stop server2
> re-start server2
> it fails with:
> Exception in thread "main" 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(
>         at org.apache.geode.pdx.internal.PeerTypeRegistration.creatingPersistentRegion(
>         at org.apache.geode.pdx.internal.TypeRegistry.creatingPersistentRegion(
>         at org.apache.geode.internal.cache.LocalRegion.findDiskStore(
>         at org.apache.geode.internal.cache.PartitionedRegion.findDiskStore(
>         at org.apache.geode.internal.cache.LocalRegion.<init>(
>         at org.apache.geode.internal.cache.PartitionedRegion.<init>(
>         at org.apache.geode.internal.cache.GemFireCacheImpl.createVMRegion(
>         at org.apache.geode.internal.cache.GemFireCacheImpl.basicCreateRegion(
>         at org.apache.geode.internal.cache.xmlcache.RegionCreation.createRoot(
>         at org.apache.geode.internal.cache.xmlcache.CacheCreation.initializeRegions(
>         at org.apache.geode.internal.cache.xmlcache.CacheCreation.create(
>         at org.apache.geode.internal.cache.xmlcache.CacheXmlParser.create(
>         at org.apache.geode.internal.cache.GemFireCacheImpl.loadCacheXml(
>         at org.apache.geode.internal.cache.ClusterConfigurationLoader.applyClusterXmlConfiguration(
>         at org.apache.geode.internal.cache.GemFireCacheImpl.initialize(
>         at org.apache.geode.internal.cache.GemFireCacheImpl.basicCreate(
>         at org.apache.geode.internal.cache.GemFireCacheImpl.create(
>         at org.apache.geode.cache.CacheFactory.create(
>         at org.apache.geode.cache.CacheFactory.create(
>         at org.apache.geode.distributed.internal.DefaultServerLauncherCacheProvider.createCache(
>         at org.apache.geode.distributed.ServerLauncher.createCache(
>         at org.apache.geode.distributed.ServerLauncher.start(
>         at
>         at org.apache.geode.distributed.ServerLauncher.main(

This message was sent by Atlassian JIRA

View raw message