[ 
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 same "create region" command executes more 
than once successfully during servers restart and results in the duplicated 
definition of the same region in the cluster configuration. When this happens, 
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 same "create region" command executes 
> more than once successfully during servers restart and results in the 
> duplicated definition of the same region in the cluster configuration. When 
> this happens, 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. 



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

Reply via email to