geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jinmei Liao (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (GEODE-3785) When importing 8.x cluster config, the xml schema needs to be updated correctly
Date Tue, 10 Oct 2017 15:41:00 GMT

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

Jinmei Liao resolved GEODE-3785.
--------------------------------
       Resolution: Fixed
    Fix Version/s: 1.3.0

> When importing 8.x cluster config, the xml schema needs to be updated correctly
> -------------------------------------------------------------------------------
>
>                 Key: GEODE-3785
>                 URL: https://issues.apache.org/jira/browse/GEODE-3785
>             Project: Geode
>          Issue Type: Bug
>            Reporter: Jinmei Liao
>            Assignee: Jinmei Liao
>             Fix For: 1.3.0
>
>
> Summary
> When initializing a 9.1 system with a default cluster config with an 8.1 cache.xml file
the cache XML file becomes corrupt.
> Description
> When initializing a 9.1 system with a default cluster config with an 8.1 cache.xml file
the cache XML file becomes corrupt. To get a system into this state follow these steps.
> 1. Start 2 or more locators. 
> 2. `import cluster-configuration --zip-file-name=cluster.zip` where the cluster configuration
is an 8.1 cache.xml file.
> *Example 8.1 cache.xml*
> <?xml version="1.0" encoding="UTF-8"?>
> <cache xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd"
>        version="8.1"
>        xmlns="http://schema.pivotal.io/gemfire/cache" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>     <disk-store name="pdxDiskStoreddd"/>
>     <disk-store name="regionDiskstore"/>
>     <pdx disk-store-name="pdxDiskStoreddd" persistent="true"/>
>     <region name="one" refid="PARTITION_PERSISTENT">
>         <region-attributes disk-store-name="regionDiskstore"/>
>     </region>
>     <region name="two" refid="PARTITION_PERSISTENT"/>
>     <region name="three" refid="PARTITION_PERSISTENT"/>
>     <region name="four" refid="PARTITION_PERSISTENT"/>
> </cache>
> 3. start up the cache servers to use the cluster-configuration
> 4. Add a region which will intern mutate the cluster-configuration which will cause the
problem.
> 5. stop one cache server. 
> 6. restart the cache server and it will retrieve the faulty cluster.xml and it will refuse
to start up.
> Example error:
> Starting a Geode Server in /Users/cblack/dev/projects/geode-patterns/geode-greenplum-realtime-loading/data/server3...
> The Cache Server process terminated unexpectedly with exit status 1. Please refer to
the log file in /Users/cblack/dev/projects/geode-patterns/geode-greenplum-realtime-loading/data/server3
for full details.
> Exception in thread "main" org.apache.geode.cache.CacheXmlException: Error while parsing
XML, caused by org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 324; cvc-complex-type.3.1:
Value '1.0' of attribute 'version' of element 'cache' is not valid with respect to the corresponding
attribute use. Attribute 'version' has a fixed value of '8.1'.
>     at org.apache.geode.internal.cache.xmlcache.CacheXml.error(CacheXml.java:890)
>     at org.apache.geode.internal.cache.xmlcache.CacheXmlParser$DefaultHandlerDelegate.error(CacheXmlParser.java:3404)
>     at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:137)
>     at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
>     at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
>     at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
>     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:452)
>     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3230)
>     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processOneAttribute(XMLSchemaValidator.java:2850)
>     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processAttributes(XMLSchemaValidator.java:2762)
>     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:2050)
>     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:740)
>     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374)
>     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:613)
>     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3132)
>     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:852)
>     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
>     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
>     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
>     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)
>     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
>     at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
>     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
>     at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
>     at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
>     at javax.xml.parsers.SAXParser.parse(SAXParser.java:195)
>     at org.apache.geode.internal.cache.xmlcache.CacheXmlParser.parse(CacheXmlParser.java:224)
>     at org.apache.geode.internal.cache.GemFireCacheImpl.loadCacheXml(GemFireCacheImpl.java:4287)
>     at org.apache.geode.internal.cache.ClusterConfigurationLoader.applyClusterXmlConfiguration(ClusterConfigurationLoader.java:143)
>     at org.apache.geode.internal.cache.GemFireCacheImpl.initialize(GemFireCacheImpl.java:1193)
>     at org.apache.geode.internal.cache.GemFireCacheImpl.basicCreate(GemFireCacheImpl.java:758)
>     at org.apache.geode.internal.cache.GemFireCacheImpl.create(GemFireCacheImpl.java:745)
>     at org.apache.geode.cache.CacheFactory.create(CacheFactory.java:173)
>     at org.apache.geode.cache.CacheFactory.create(CacheFactory.java:212)
>     at org.apache.geode.distributed.internal.DefaultServerLauncherCacheProvider.createCache(DefaultServerLauncherCacheProvider.java:52)
>     at org.apache.geode.distributed.ServerLauncher.createCache(ServerLauncher.java:860)
>     at org.apache.geode.distributed.ServerLauncher.start(ServerLauncher.java:772)
>     at org.apache.geode.distributed.ServerLauncher.run(ServerLauncher.java:699)
>     at org.apache.geode.distributed.ServerLauncher.main(ServerLauncher.java:231)
> Caused by: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 324; cvc-complex-type.3.1:
Value '1.0' of attribute 'version' of element 'cache' is not valid with respect to the corresponding
attribute use. Attribute 'version' has a fixed value of '8.1'.
>     at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
>     at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
>     ... 36 more
> Bad Cache XML with the messed up name space. Also note that this isn't valid GemFire
XML and would not pass the parse XML step by having elements out of order. Which is ok but
makes importing into other system harder.
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <cache xmlns="http://schema.pivotal.io/gemfire/cache" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="1.0" xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd
http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd">
>     <region xmlns="http://geode.apache.org/schema/cache" name="charlie">
>     <region-attributes data-policy="replicate" scope="distributed-ack"/>
>   </region>
> <disk-store name="pdxDiskStoreddd"/>
>     <disk-store name="regionDiskstore"/>
>     <pdx disk-store-name="pdxDiskStoreddd" persistent="true"/>
>     <region name="one" refid="PARTITION_PERSISTENT">
>         <region-attributes disk-store-name="regionDiskstore"/>
>     </region>
>     <region name="two" refid="PARTITION_PERSISTENT"/>
>     <region name="three" refid="PARTITION_PERSISTENT"/>
>     <region name="four" refid="PARTITION_PERSISTENT"/>
> </cache>



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message