web2/GSIP-34 corrupts CITE wfs-1.0 data directory
-------------------------------------------------

                 Key: GEOS-2808
                 URL: http://jira.codehaus.org/browse/GEOS-2808
             Project: GeoServer
          Issue Type: Bug
          Components: Global
            Reporter: Ben Caradoc-Davies
            Assignee: Andrea Aime
            Priority: Critical


Starting GeoServer trunk (using web2) with CITE wfs-1.0 configuration succeeds 
the first time. It is expected that, as documented in GSIP 34, this old-style 
data directory will be transformed into a new-style data directory. However, if 
GeoServer is started a second time, XStream refuses to load some datastores. It 
looks like the transformation process writes XML that the new-style catalog 
cannot read..

To repeat:

(1) In src/community/web2/app
mvn -DconfigId=citewfs-1.0 -DconfigDirectory=../../../../data 
-Dmaven.test.skip=true clean install

(2) Start GeoServer (success).

(3) Stop Geoserver.

(4) Start GeoServer a second time (failure).

Workaround: rebuild web-app module before every GeoServer start!


First start (success):

31 Mar 14:58:44 WARN [geoserver.logging] - log4jConfigFile 
'DEFAULT_LOGGING.properties' couldn't be found in the data dir, so GeoServer 
will install the various logging config file into the data dir, and then try to 
find it again.
log4j:WARN File option not set for appender [geoserverlogfile].
log4j:WARN Are you using FileAppender instead of ConsoleAppender?
31 Mar 14:58:45 ERROR [geoserver.global] - 
----------------------------------
- GEOSERVER_DATA_DIR: 
C:\Projects\car605\geoserver\cite\geoserver-trunk\src\community\web2\app\src\main\webapp\data
----------------------------------
31 Mar 14:58:45 INFO [geoserver.catalog] - Loaded namespace 'cdf' 
(http://www.opengis.net/cite/data)
31 Mar 14:58:45 INFO [geoserver.catalog] - Loaded namespace 'cgf' 
(http://www.opengis.net/cite/geometry)
31 Mar 14:58:45 INFO [geoserver.catalog] - Default namespace: 'cdf'
31 Mar 14:58:45 INFO [geoserver.catalog] - Loaded style 'dotty'
31 Mar 14:58:45 INFO [geoserver.catalog] - Loaded style 'poly'
31 Mar 14:58:46 INFO [geoserver.catalog] - Processed data store 'cdf', enabled
31 Mar 14:58:46 INFO [geoserver.catalog] - Processed data store 'cgf', enabled
31 Mar 14:58:46 WARN [referencing.factory] - Axis elements found in a wkt 
definition, the force longitude first axis order hint might not be respected:
PROJCS["Monte Mario / Italy zone 1", GEOGCS["Monte Mario", DATUM["Monte Mario", 
SPHEROID["International 1924", 6378388.0, 297.0, AUTHORITY["EPSG","7022"]], 
TOWGS84[-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68], 
AUTHORITY["EPSG","6265"]], PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]], 
UNIT["degree", 0.017453292519943295], AXIS["Geodetic longitude", EAST], 
AXIS["Geodetic latitude", NORTH], AUTHORITY["EPSG","4265"]], 
PROJECTION["Transverse Mercator", AUTHORITY["EPSG","9807"]], 
PARAMETER["central_meridian", 9.0], PARAMETER["latitude_of_origin", 0.0], 
PARAMETER["scale_factor", 0.9996], PARAMETER["false_easting", 1500000.0], 
PARAMETER["false_northing", 0.0], UNIT["m", 1.0], AXIS["Easting", EAST], 
AXIS["Northing", NORTH], AUTHORITY["EPSG","3003"]]
31 Mar 14:58:47 INFO [geoserver.catalog] - Loaded feature type 'cdf:Deletes'
31 Mar 14:58:47 INFO [geoserver.catalog] - Loaded feature type 'cdf:Fifteen'
31 Mar 14:58:47 INFO [geoserver.catalog] - Loaded feature type 'cdf:Inserts'
31 Mar 14:58:47 INFO [geoserver.catalog] - Loaded feature type 'cdf:Locks'
31 Mar 14:58:47 INFO [geoserver.catalog] - Loaded feature type 'cdf:Nulls'
31 Mar 14:58:48 INFO [geoserver.catalog] - Loaded feature type 'cdf:Other'
31 Mar 14:58:48 INFO [geoserver.catalog] - Loaded feature type 'cdf:Seven'
31 Mar 14:58:48 INFO [geoserver.catalog] - Loaded feature type 'cdf:Updates'
31 Mar 14:58:48 INFO [geoserver.catalog] - Loaded feature type 'cgf:Lines'
31 Mar 14:58:48 INFO [geoserver.catalog] - Loaded feature type 'cgf:MLines'
31 Mar 14:58:48 INFO [geoserver.catalog] - Loaded feature type 'cgf:MPoints'
31 Mar 14:58:49 INFO [geoserver.catalog] - Loaded feature type 'cgf:MPolygons'
31 Mar 14:58:49 INFO [geoserver.catalog] - Loaded feature type 'cgf:Points'
31 Mar 14:58:49 INFO [geoserver.catalog] - Loaded feature type 'cgf:Polygons'
31 Mar 14:58:49 INFO [geoserver.confg] - Loading service 'wcs'
31 Mar 14:58:49 INFO [geoserver.confg] - Loading service 'wfs'
31 Mar 14:58:49 INFO [geoserver.confg] - Loading service 'wms'


Second start (failure):

log4j:WARN File option not set for appender [geoserverlogfile].
log4j:WARN Are you using FileAppender instead of ConsoleAppender?
31 Mar 15:00:02 ERROR [geoserver.global] - 
----------------------------------
- GEOSERVER_DATA_DIR: 
C:\Projects\car605\geoserver\cite\geoserver-trunk\src\community\web2\app\src\main\webapp\data
----------------------------------
31 Mar 15:00:02 INFO [org.geoserver] - Loaded style 'dotty'
31 Mar 15:00:02 INFO [org.geoserver] - Loaded style 'poly'
31 Mar 15:00:02 INFO [org.geoserver] - Loaded workspace 'cdf'
31 Mar 15:00:03 WARN [org.geoserver] - Failed to load data store 'cdf'
com.thoughtworks.xstream.converters.ConversionException:  : expected = after 
attribute name (position: TEXT seen ...</namespace>\n    <loose bbox>... @9:17) 
 :  : expected = after attribute name (position: TEXT seen ...</namespace>\n    
<loose bbox>... @9:17) 
---- Debugging information ----
message             :  : expected = after attribute name (position: TEXT seen 
...</namespace>\n    <loose bbox>... @9:17) 
cause-exception     : com.thoughtworks.xstream.io.StreamException
cause-message       :  : expected = after attribute name (position: TEXT seen 
...</namespace>\n    <loose bbox>... @9:17) 
class               : org.geoserver.catalog.impl.DataStoreInfoImpl
required-type       : java.util.HashMap
line number         : 9
-------------------------------
        at 
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:89)
        at 
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
        at 
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:246)
        at 
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:218)
        at 
org.geoserver.config.util.XStreamPersister$StoreInfoConverter.doUnmarshal(XStreamPersister.java:991)
        at 
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
        at 
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
        at 
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
        at 
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
        at 
com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137)
        at 
com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
        at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:923)
        at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:909)
        at com.thoughtworks.xstream.XStream.fromXML(XStream.java:861)
        at 
org.geoserver.config.util.XStreamPersister.load(XStreamPersister.java:400)
        at 
org.geoserver.config.GeoServerLoader.depersist(GeoServerLoader.java:716)
        at 
org.geoserver.config.GeoServerLoader.readCatalog(GeoServerLoader.java:497)
        at 
org.geoserver.config.GeoServerLoader.loadCatalog(GeoServerLoader.java:154)
        at 
org.geoserver.config.GeoServerLoader.postProcessBeforeInitialization(GeoServerLoader.java:125)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:350)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1330)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
        at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
        at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
        at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
        at 
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
        at 
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
        at 
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
        at 
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:540)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
        at 
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
        at 
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510)
        at 
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at 
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
        at org.mortbay.jetty.Server.doStart(Server.java:222)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at org.geoserver.web.Start.main(Start.java:57)
Caused by: com.thoughtworks.xstream.io.StreamException:  : expected = after 
attribute name (position: TEXT seen ...</namespace>\n    <loose bbox>... @9:17) 
        at 
com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:78)
        at 
com.thoughtworks.xstream.io.xml.AbstractPullReader.readRealEvent(AbstractPullReader.java:137)
        at 
com.thoughtworks.xstream.io.xml.AbstractPullReader.readEvent(AbstractPullReader.java:124)
        at 
com.thoughtworks.xstream.io.xml.AbstractPullReader.hasMoreChildren(AbstractPullReader.java:78)
        at 
org.geoserver.config.util.XStreamPersister$BreifMapConverter.populateMap(XStreamPersister.java:494)
        at 
com.thoughtworks.xstream.converters.collections.MapConverter.unmarshal(MapConverter.java:66)
        at 
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
        ... 45 more
Caused by: org.xmlpull.v1.XmlPullParserException: expected = after attribute 
name (position: TEXT seen ...</namespace>\n    <loose bbox>... @9:17) 
        at org.xmlpull.mxp1.MXParser.parseAttribute(MXParser.java:2004)
        at org.xmlpull.mxp1.MXParser.parseStartTag(MXParser.java:1799)
        at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1127)
        at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
        at 
com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:63)
        ... 51 more
31 Mar 15:00:03 INFO [org.geoserver] - Loaded workspace 'cgf'
31 Mar 15:00:03 WARN [org.geoserver] - Failed to load data store 'cgf'
com.thoughtworks.xstream.converters.ConversionException:  : expected = after 
attribute name (position: TEXT seen ...</namespace>\n    <loose bbox>... @9:17) 
 :  : expected = after attribute name (position: TEXT seen ...</namespace>\n    
<loose bbox>... @9:17) 
---- Debugging information ----
message             :  : expected = after attribute name (position: TEXT seen 
...</namespace>\n    <loose bbox>... @9:17) 
cause-exception     : com.thoughtworks.xstream.io.StreamException
cause-message       :  : expected = after attribute name (position: TEXT seen 
...</namespace>\n    <loose bbox>... @9:17) 
class               : org.geoserver.catalog.impl.DataStoreInfoImpl
required-type       : java.util.HashMap
line number         : 9
-------------------------------
        at 
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:89)
        at 
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
        at 
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:246)
        at 
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:218)
        at 
org.geoserver.config.util.XStreamPersister$StoreInfoConverter.doUnmarshal(XStreamPersister.java:991)
        at 
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
        at 
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
        at 
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
        at 
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
        at 
com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137)
        at 
com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
        at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:923)
        at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:909)
        at com.thoughtworks.xstream.XStream.fromXML(XStream.java:861)
        at 
org.geoserver.config.util.XStreamPersister.load(XStreamPersister.java:400)
        at 
org.geoserver.config.GeoServerLoader.depersist(GeoServerLoader.java:716)
        at 
org.geoserver.config.GeoServerLoader.readCatalog(GeoServerLoader.java:497)
        at 
org.geoserver.config.GeoServerLoader.loadCatalog(GeoServerLoader.java:154)
        at 
org.geoserver.config.GeoServerLoader.postProcessBeforeInitialization(GeoServerLoader.java:125)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:350)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1330)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
        at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
        at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
        at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
        at 
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
        at 
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
        at 
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
        at 
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:540)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
        at 
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
        at 
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510)
        at 
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at 
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
        at org.mortbay.jetty.Server.doStart(Server.java:222)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at org.geoserver.web.Start.main(Start.java:57)
Caused by: com.thoughtworks.xstream.io.StreamException:  : expected = after 
attribute name (position: TEXT seen ...</namespace>\n    <loose bbox>... @9:17) 
        at 
com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:78)
        at 
com.thoughtworks.xstream.io.xml.AbstractPullReader.readRealEvent(AbstractPullReader.java:137)
        at 
com.thoughtworks.xstream.io.xml.AbstractPullReader.readEvent(AbstractPullReader.java:124)
        at 
com.thoughtworks.xstream.io.xml.AbstractPullReader.hasMoreChildren(AbstractPullReader.java:78)
        at 
org.geoserver.config.util.XStreamPersister$BreifMapConverter.populateMap(XStreamPersister.java:494)
        at 
com.thoughtworks.xstream.converters.collections.MapConverter.unmarshal(MapConverter.java:66)
        at 
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
        ... 45 more
Caused by: org.xmlpull.v1.XmlPullParserException: expected = after attribute 
name (position: TEXT seen ...</namespace>\n    <loose bbox>... @9:17) 
        at org.xmlpull.mxp1.MXParser.parseAttribute(MXParser.java:2004)
        at org.xmlpull.mxp1.MXParser.parseStartTag(MXParser.java:1799)
        at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1127)
        at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
        at 
com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:63)
        ... 51 more
31 Mar 15:00:03 INFO [org.geoserver] - Loaded service 'wcs', enabled
31 Mar 15:00:03 INFO [org.geoserver] - Loaded service 'wfs', enabled
31 Mar 15:00:03 INFO [org.geoserver] - Loaded service 'wms', enabled


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to