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

Jakov Varenina updated GEODE-10123:
-----------------------------------
    Description: 
We have observed that sometimes the "create region" command executes 
successfully during period servers restart event thought region is already 
available in the cluster configuration. When this happens, cluster 
configuration contains a duplicated region, so servers throw the following 
exception *org.apache.geode.cache.RegionExistsException* at startup:
{code:java}
Exception in thread "main" org.apache.geode.cache.CacheXmlException: While 
parsing XML, caused by org.xml.sax.SAXException: A CacheException was thrown 
while parsing XML.
org.apache.geode.cache.RegionExistsException: /regionTest
            at 
org.apache.geode.internal.cache.xmlcache.CacheXmlParser.parse(CacheXmlParser.java:267)
            at 
org.apache.geode.internal.cache.GemFireCacheImpl.loadCacheXml(GemFireCacheImpl.java:4119)
            at 
org.apache.geode.internal.cache.ClusterConfigurationLoader.applyClusterXmlConfiguration(ClusterConfigurationLoader.java:208)
            at 
org.apache.geode.internal.cache.GemFireCacheImpl.applyJarAndXmlFromClusterConfig(GemFireCacheImpl.java:1426)
            at 
org.apache.geode.internal.cache.GemFireCacheImpl.initialize(GemFireCacheImpl.java:1391)
            at 
org.apache.geode.internal.cache.InternalCacheBuilder.create(InternalCacheBuilder.java:191)
            at 
org.apache.geode.internal.cache.InternalCacheBuilder.create(InternalCacheBuilder.java:158)
            at org.apache.geode.cache.CacheFactory.create(CacheFactory.java:142)
            at 
org.apache.geode.distributed.internal.DefaultServerLauncherCacheProvider.createCache(DefaultServerLauncherCacheProvider.java:52)
            at 
org.apache.geode.distributed.ServerLauncher.createCache(ServerLauncher.java:892)
            at 
org.apache.geode.distributed.ServerLauncher.start(ServerLauncher.java:807)
            at 
org.apache.geode.distributed.ServerLauncher.run(ServerLauncher.java:737)
            at 
org.apache.geode.distributed.ServerLauncher.main(ServerLauncher.java:256)
Caused by: org.xml.sax.SAXException: A CacheException was thrown while parsing 
XML.
{code}
CreateRegionCommand checks whether there is already an existing region using 
the DistributedRegionMXBean service. This service is sometimes unreliable 
during restarts, as it takes some time for the locator to accumulate this 
information. It makes more sense to perform required checks against cluster 
configuration stored on locators when using cluster configuration. 

  was:
We have observed that sometimes the "create region" command executes 
successfully during period servers restart event thought region is already 
available in the cluster configuration. When this happens, cluster 
configuration contains duplicated region, and because of that, servers throw 
the following exception at startup: 
{code:java}
Exception in thread "main" org.apache.geode.cache.CacheXmlException: While 
parsing XML, caused by org.xml.sax.SAXException: A CacheException was thrown 
while parsing XML.
org.apache.geode.cache.RegionExistsException: /regionTest
            at 
org.apache.geode.internal.cache.xmlcache.CacheXmlParser.parse(CacheXmlParser.java:267)
            at 
org.apache.geode.internal.cache.GemFireCacheImpl.loadCacheXml(GemFireCacheImpl.java:4119)
            at 
org.apache.geode.internal.cache.ClusterConfigurationLoader.applyClusterXmlConfiguration(ClusterConfigurationLoader.java:208)
            at 
org.apache.geode.internal.cache.GemFireCacheImpl.applyJarAndXmlFromClusterConfig(GemFireCacheImpl.java:1426)
            at 
org.apache.geode.internal.cache.GemFireCacheImpl.initialize(GemFireCacheImpl.java:1391)
            at 
org.apache.geode.internal.cache.InternalCacheBuilder.create(InternalCacheBuilder.java:191)
            at 
org.apache.geode.internal.cache.InternalCacheBuilder.create(InternalCacheBuilder.java:158)
            at org.apache.geode.cache.CacheFactory.create(CacheFactory.java:142)
            at 
org.apache.geode.distributed.internal.DefaultServerLauncherCacheProvider.createCache(DefaultServerLauncherCacheProvider.java:52)
            at 
org.apache.geode.distributed.ServerLauncher.createCache(ServerLauncher.java:892)
            at 
org.apache.geode.distributed.ServerLauncher.start(ServerLauncher.java:807)
            at 
org.apache.geode.distributed.ServerLauncher.run(ServerLauncher.java:737)
            at 
org.apache.geode.distributed.ServerLauncher.main(ServerLauncher.java:256)
Caused by: org.xml.sax.SAXException: A CacheException was thrown while parsing 
XML.
{code}
CreateRegionCommand checks whether there is already an existing region using 
the DistributedRegionMXBean service. This service is sometimes unreliable 
during restarts, as it takes some time for the locator to accumulate this 
information. It makes more sense to perform required checks against cluster 
configuration stored on locators when using cluster configuration. 


> Multiple execution of Create region command results with duplicated region in 
> cluster configuration
> ---------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-10123
>                 URL: https://issues.apache.org/jira/browse/GEODE-10123
>             Project: Geode
>          Issue Type: Bug
>            Reporter: Jakov Varenina
>            Assignee: Jakov Varenina
>            Priority: Major
>              Labels: needsTriage, pull-request-available
>
> We have observed that sometimes the "create region" command executes 
> successfully during period servers restart event thought region is already 
> available in the cluster configuration. When this happens, cluster 
> configuration contains a duplicated region, so servers throw the following 
> exception *org.apache.geode.cache.RegionExistsException* at startup:
> {code:java}
> Exception in thread "main" org.apache.geode.cache.CacheXmlException: While 
> parsing XML, caused by org.xml.sax.SAXException: A CacheException was thrown 
> while parsing XML.
> org.apache.geode.cache.RegionExistsException: /regionTest
>             at 
> org.apache.geode.internal.cache.xmlcache.CacheXmlParser.parse(CacheXmlParser.java:267)
>             at 
> org.apache.geode.internal.cache.GemFireCacheImpl.loadCacheXml(GemFireCacheImpl.java:4119)
>             at 
> org.apache.geode.internal.cache.ClusterConfigurationLoader.applyClusterXmlConfiguration(ClusterConfigurationLoader.java:208)
>             at 
> org.apache.geode.internal.cache.GemFireCacheImpl.applyJarAndXmlFromClusterConfig(GemFireCacheImpl.java:1426)
>             at 
> org.apache.geode.internal.cache.GemFireCacheImpl.initialize(GemFireCacheImpl.java:1391)
>             at 
> org.apache.geode.internal.cache.InternalCacheBuilder.create(InternalCacheBuilder.java:191)
>             at 
> org.apache.geode.internal.cache.InternalCacheBuilder.create(InternalCacheBuilder.java:158)
>             at 
> org.apache.geode.cache.CacheFactory.create(CacheFactory.java:142)
>             at 
> org.apache.geode.distributed.internal.DefaultServerLauncherCacheProvider.createCache(DefaultServerLauncherCacheProvider.java:52)
>             at 
> org.apache.geode.distributed.ServerLauncher.createCache(ServerLauncher.java:892)
>             at 
> org.apache.geode.distributed.ServerLauncher.start(ServerLauncher.java:807)
>             at 
> org.apache.geode.distributed.ServerLauncher.run(ServerLauncher.java:737)
>             at 
> org.apache.geode.distributed.ServerLauncher.main(ServerLauncher.java:256)
> Caused by: org.xml.sax.SAXException: A CacheException was thrown while 
> parsing XML.
> {code}
> CreateRegionCommand checks whether there is already an existing region using 
> the DistributedRegionMXBean service. This service is sometimes unreliable 
> during restarts, as it takes some time for the locator to accumulate this 
> information. It makes more sense to perform required checks against cluster 
> configuration stored on locators when using cluster configuration. 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to