jira.codehaus.org

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What?s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • GeoServer
  • GEOS-2942

best_guess regionating strategy broken

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: 1.7.4
  • Component/s: None
  • Labels:
    None

Description

topp:states in the release data directory is configured as follow:

KML Regionating Attribute: None
KML Regionating Strategy: best_guess
KML Feature Limit: 10

Clicking the KML link for this layer from the demo page gives
class org.vfny.geoserver.global.GeoServerFeatureLocking
27 Apr 16:40:00 ERROR [geoserver.geosearch] - Error occurred while pre-processing regionated features
java.lang.IllegalArgumentException: Unable to retype FeatureReader<SimpleFeatureType, SimpleFeature> (origional does not cover requested type)
at org.geotools.data.ReTypeFeatureReader.typeAttributes(ReTypeFeatureReader.java:127)
at org.geotools.data.ReTypeFeatureReader.<init>(ReTypeFeatureReader.java:96)
at org.geotools.data.AbstractDataStore.getFeatureReader(AbstractDataStore.java:396)
at org.geotools.data.DefaultFeatureResults.reader(DefaultFeatureResults.java:210)
at org.geotools.data.store.DataFeatureCollection.openIterator(DataFeatureCollection.java:229)
at org.geotools.data.store.DataFeatureCollection.iterator(DataFeatureCollection.java:199)
at org.geotools.data.store.DataFeatureCollection.features(DataFeatureCollection.java:188)
at org.geotools.data.crs.ForceCoordinateSystemFeatureResults.openIterator(ForceCoordinateSystemFeatureResults.java:93)
at org.geotools.feature.collection.AbstractFeatureCollection.features(AbstractFeatureCollection.java:64)
at org.vfny.geoserver.wms.responses.map.kml.ExternalSortRegionatingStrategy.buildIndex(ExternalSortRegionatingStrategy.java:206)
at org.vfny.geoserver.wms.responses.map.kml.ExternalSortRegionatingStrategy.getSortedFeatures(ExternalSortRegionatingStrategy.java:148)
at org.vfny.geoserver.wms.responses.map.kml.CachedHierarchyRegionatingStrategy.computeFids(CachedHierarchyRegionatingStrategy.java:404)
at org.vfny.geoserver.wms.responses.map.kml.CachedHierarchyRegionatingStrategy.readFeaturesForTile(CachedHierarchyRegionatingStrategy.java:301)
at org.vfny.geoserver.wms.responses.map.kml.CachedHierarchyRegionatingStrategy.getFeaturesForTile(CachedHierarchyRegionatingStrategy.java:265)
at org.vfny.geoserver.wms.responses.map.kml.CachedHierarchyRegionatingStrategy.getFilter(CachedHierarchyRegionatingStrategy.java:168)
at org.vfny.geoserver.wms.responses.map.kml.BestGuessRegionatingStrategy.getFilter(BestGuessRegionatingStrategy.java:43)
at org.vfny.geoserver.wms.responses.map.kml.KMLUtils.loadFeatureCollection(KMLUtils.java:492)
at org.vfny.geoserver.wms.responses.map.kml.KMLSuperOverlayTransformer$KMLSuperOverlayerTranslator.featuresInTile(KMLSuperOverlayTransformer.java:262)
at org.vfny.geoserver.wms.responses.map.kml.KMLSuperOverlayTransformer$KMLSuperOverlayerTranslator.shouldDrawVectorLayer(KMLSuperOverlayTransformer.java:161)
at org.vfny.geoserver.wms.responses.map.kml.KMLSuperOverlayTransformer$KMLSuperOverlayerTranslator.encodeTileForViewing(KMLSuperOverlayTransformer.java:138)
at org.vfny.geoserver.wms.responses.map.kml.KMLSuperOverlayTransformer$KMLSuperOverlayerTranslator.encode(KMLSuperOverlayTransformer.java:126)
at org.vfny.geoserver.wms.responses.map.kml.KMLTransformer$KMLTranslator.encodeSuperOverlayLayer(KMLTransformer.java:243)
at org.vfny.geoserver.wms.responses.map.kml.KMLTransformer$KMLTranslator.encode(KMLTransformer.java:128)
at org.geotools.xml.transform.TransformerBase$XMLReaderSupport.parse(TransformerBase.java:714)
at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484)
at org.geotools.xml.transform.TransformerBase$Task.run(TransformerBase.java:296)
at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:129)
at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:108)
at org.vfny.geoserver.wms.responses.map.kml.KMZMapProducer.writeTo(KMZMapProducer.java:149)
at org.vfny.geoserver.wms.responses.GetMapResponse.writeTo(GetMapResponse.java:614)
at org.geoserver.ows.adapters.ResponseAdapter.write(ResponseAdapter.java:60)
at org.geoserver.ows.Dispatcher.response(Dispatcher.java:712)
at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:216)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:178)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:163)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
27 Apr 16:40:00 ERROR [geoserver.kml] - Caught the WmsException!

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
Hide
Permalink
Arne Kepp added a comment - 27/Apr/09 9:46 AM

Switching to geometry / the_geom without restart results in a stale lock. This is probably a secondary effect.

27 Apr 16:41:52 ERROR [data.shapefile] - The following locker still has a lock� read on file:/home/ak/gs/1.7.x/data/release/data/shapefiles/states.shx by org.geotools.data.shapefile.shp.IndexFile
it was created with the following stack trace
org.geotools.data.shapefile.ShpFilesLocker$Trace: Locking file:/home/ak/gs/1.7.x/data/release/data/shapefiles/states.shx for read by org.geotools.data.shapefile.shp.IndexFile in thread btpool0-39
at org.geotools.data.shapefile.ShpFilesLocker.setTraceException(ShpFilesLocker.java:54)
at org.geotools.data.shapefile.ShpFilesLocker.<init>(ShpFilesLocker.java:33)
at org.geotools.data.shapefile.ShpFiles.acquireRead(ShpFiles.java:365)
at org.geotools.data.shapefile.ShpFiles.getReadChannel(ShpFiles.java:813)
at org.geotools.data.shapefile.shp.IndexFile.<init>(IndexFile.java:78)
at org.geotools.data.shapefile.shp.ShapefileReader.<init>(ShapefileReader.java:162)
at org.geotools.data.shapefile.ShapefileDataStore.openShapeReader(ShapefileDataStore.java:425)
at org.geotools.data.shapefile.indexed.IndexedShapefileDataStore.getAttributesReader(IndexedShapefileDataStore.java:428)
at org.geotools.data.shapefile.indexed.IndexedShapefileDataStore.getFeatureReader(IndexedShapefileDataStore.java:330)
at org.geotools.data.AbstractDataStore.getFeatureReader(AbstractDataStore.java:385)
at org.geotools.data.DefaultFeatureResults.reader(DefaultFeatureResults.java:210)
at org.geotools.data.store.DataFeatureCollection.openIterator(DataFeatureCollection.java:229)
at org.geotools.data.store.DataFeatureCollection.iterator(DataFeatureCollection.java:199)
at org.geotools.data.store.DataFeatureCollection.features(DataFeatureCollection.java:188)
at org.geotools.data.crs.ForceCoordinateSystemFeatureResults.openIterator(ForceCoordinateSystemFeatureResults.java:93)
at org.geotools.feature.collection.AbstractFeatureCollection.features(AbstractFeatureCollection.java:64)
at org.vfny.geoserver.wms.responses.map.kml.ExternalSortRegionatingStrategy.buildIndex(ExternalSortRegionatingStrategy.java:206)
at org.vfny.geoserver.wms.responses.map.kml.ExternalSortRegionatingStrategy.getSortedFeatures(ExternalSortRegionatingStrategy.java:148)
at org.vfny.geoserver.wms.responses.map.kml.CachedHierarchyRegionatingStrategy.computeFids(CachedHierarchyRegionatingStrategy.java:404)
at org.vfny.geoserver.wms.responses.map.kml.CachedHierarchyRegionatingStrategy.readFeaturesForTile(CachedHierarchyRegionatingStrategy.java:301)
at org.vfny.geoserver.wms.responses.map.kml.CachedHierarchyRegionatingStrategy.getFeaturesForTile(CachedHierarchyRegionatingStrategy.java:265)
at org.vfny.geoserver.wms.responses.map.kml.CachedHierarchyRegionatingStrategy.getFilter(CachedHierarchyRegionatingStrategy.java:168)
at org.vfny.geoserver.wms.responses.map.kml.BestGuessRegionatingStrategy.getFilter(BestGuessRegionatingStrategy.java:43)
at org.vfny.geoserver.wms.responses.map.kml.KMLUtils.loadFeatureCollection(KMLUtils.java:492)
at org.vfny.geoserver.wms.responses.map.kml.KMLSuperOverlayTransformer$KMLSuperOverlayerTranslator.featuresInTile(KMLSuperOverlayTransformer.java:262)
at org.vfny.geoserver.wms.responses.map.kml.KMLSuperOverlayTransformer$KMLSuperOverlayerTranslator.shouldDrawVectorLayer(KMLSuperOverlayTransformer.java:161)
at org.vfny.geoserver.wms.responses.map.kml.KMLSuperOverlayTransformer$KMLSuperOverlayerTranslator.encodeTileForViewing(KMLSuperOverlayTransformer.java:138)
at org.vfny.geoserver.wms.responses.map.kml.KMLSuperOverlayTransformer$KMLSuperOverlayerTranslator.encode(KMLSuperOverlayTransformer.java:126)
at org.vfny.geoserver.wms.responses.map.kml.KMLTransformer$KMLTranslator.encodeSuperOverlayLayer(KMLTransformer.java:243)
at org.vfny.geoserver.wms.responses.map.kml.KMLTransformer$KMLTranslator.encode(KMLTransformer.java:128)
at org.geotools.xml.transform.TransformerBase$XMLReaderSupport.parse(TransformerBase.java:714)
at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484)
at org.geotools.xml.transform.TransformerBase$Task.run(TransformerBase.java:296)
at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:129)
at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:108)
at org.vfny.geoserver.wms.responses.map.kml.KMZMapProducer.writeTo(KMZMapProducer.java:149)
at org.vfny.geoserver.wms.responses.GetMapResponse.writeTo(GetMapResponse.java:614)
at org.geoserver.ows.adapters.ResponseAdapter.write(ResponseAdapter.java:60)
at org.geoserver.ows.Dispatcher.response(Dispatcher.java:712)
at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:216)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:178)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:163)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
27 Apr 16:41:52 ERROR [data.shapefile] - The following locker still has a lock� read on file:/home/ak/gs/1.7.x/data/release/data/shapefiles/states.fix by org.geotools.data.shapefile.indexed.IndexedFidReader
it was created with the following stack trace

Show
Arne Kepp added a comment - 27/Apr/09 9:46 AM Switching to geometry / the_geom without restart results in a stale lock. This is probably a secondary effect. 27 Apr 16:41:52 ERROR [data.shapefile] - The following locker still has a lock� read on file:/home/ak/gs/1.7.x/data/release/data/shapefiles/states.shx by org.geotools.data.shapefile.shp.IndexFile it was created with the following stack trace org.geotools.data.shapefile.ShpFilesLocker$Trace: Locking file:/home/ak/gs/1.7.x/data/release/data/shapefiles/states.shx for read by org.geotools.data.shapefile.shp.IndexFile in thread btpool0-39 at org.geotools.data.shapefile.ShpFilesLocker.setTraceException(ShpFilesLocker.java:54) at org.geotools.data.shapefile.ShpFilesLocker.<init>(ShpFilesLocker.java:33) at org.geotools.data.shapefile.ShpFiles.acquireRead(ShpFiles.java:365) at org.geotools.data.shapefile.ShpFiles.getReadChannel(ShpFiles.java:813) at org.geotools.data.shapefile.shp.IndexFile.<init>(IndexFile.java:78) at org.geotools.data.shapefile.shp.ShapefileReader.<init>(ShapefileReader.java:162) at org.geotools.data.shapefile.ShapefileDataStore.openShapeReader(ShapefileDataStore.java:425) at org.geotools.data.shapefile.indexed.IndexedShapefileDataStore.getAttributesReader(IndexedShapefileDataStore.java:428) at org.geotools.data.shapefile.indexed.IndexedShapefileDataStore.getFeatureReader(IndexedShapefileDataStore.java:330) at org.geotools.data.AbstractDataStore.getFeatureReader(AbstractDataStore.java:385) at org.geotools.data.DefaultFeatureResults.reader(DefaultFeatureResults.java:210) at org.geotools.data.store.DataFeatureCollection.openIterator(DataFeatureCollection.java:229) at org.geotools.data.store.DataFeatureCollection.iterator(DataFeatureCollection.java:199) at org.geotools.data.store.DataFeatureCollection.features(DataFeatureCollection.java:188) at org.geotools.data.crs.ForceCoordinateSystemFeatureResults.openIterator(ForceCoordinateSystemFeatureResults.java:93) at org.geotools.feature.collection.AbstractFeatureCollection.features(AbstractFeatureCollection.java:64) at org.vfny.geoserver.wms.responses.map.kml.ExternalSortRegionatingStrategy.buildIndex(ExternalSortRegionatingStrategy.java:206) at org.vfny.geoserver.wms.responses.map.kml.ExternalSortRegionatingStrategy.getSortedFeatures(ExternalSortRegionatingStrategy.java:148) at org.vfny.geoserver.wms.responses.map.kml.CachedHierarchyRegionatingStrategy.computeFids(CachedHierarchyRegionatingStrategy.java:404) at org.vfny.geoserver.wms.responses.map.kml.CachedHierarchyRegionatingStrategy.readFeaturesForTile(CachedHierarchyRegionatingStrategy.java:301) at org.vfny.geoserver.wms.responses.map.kml.CachedHierarchyRegionatingStrategy.getFeaturesForTile(CachedHierarchyRegionatingStrategy.java:265) at org.vfny.geoserver.wms.responses.map.kml.CachedHierarchyRegionatingStrategy.getFilter(CachedHierarchyRegionatingStrategy.java:168) at org.vfny.geoserver.wms.responses.map.kml.BestGuessRegionatingStrategy.getFilter(BestGuessRegionatingStrategy.java:43) at org.vfny.geoserver.wms.responses.map.kml.KMLUtils.loadFeatureCollection(KMLUtils.java:492) at org.vfny.geoserver.wms.responses.map.kml.KMLSuperOverlayTransformer$KMLSuperOverlayerTranslator.featuresInTile(KMLSuperOverlayTransformer.java:262) at org.vfny.geoserver.wms.responses.map.kml.KMLSuperOverlayTransformer$KMLSuperOverlayerTranslator.shouldDrawVectorLayer(KMLSuperOverlayTransformer.java:161) at org.vfny.geoserver.wms.responses.map.kml.KMLSuperOverlayTransformer$KMLSuperOverlayerTranslator.encodeTileForViewing(KMLSuperOverlayTransformer.java:138) at org.vfny.geoserver.wms.responses.map.kml.KMLSuperOverlayTransformer$KMLSuperOverlayerTranslator.encode(KMLSuperOverlayTransformer.java:126) at org.vfny.geoserver.wms.responses.map.kml.KMLTransformer$KMLTranslator.encodeSuperOverlayLayer(KMLTransformer.java:243) at org.vfny.geoserver.wms.responses.map.kml.KMLTransformer$KMLTranslator.encode(KMLTransformer.java:128) at org.geotools.xml.transform.TransformerBase$XMLReaderSupport.parse(TransformerBase.java:714) at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484) at org.geotools.xml.transform.TransformerBase$Task.run(TransformerBase.java:296) at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:129) at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:108) at org.vfny.geoserver.wms.responses.map.kml.KMZMapProducer.writeTo(KMZMapProducer.java:149) at org.vfny.geoserver.wms.responses.GetMapResponse.writeTo(GetMapResponse.java:614) at org.geoserver.ows.adapters.ResponseAdapter.write(ResponseAdapter.java:60) at org.geoserver.ows.Dispatcher.response(Dispatcher.java:712) at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:216) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093) at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:178) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:163) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450) 27 Apr 16:41:52 ERROR [data.shapefile] - The following locker still has a lock� read on file:/home/ak/gs/1.7.x/data/release/data/shapefiles/states.fix by org.geotools.data.shapefile.indexed.IndexedFidReader it was created with the following stack trace
Hide
Permalink
Arne Kepp added a comment - 27/Apr/09 4:59 PM

target:
SimpleFeatureTypeImpl http://www.openplans.org/toppstates identified extends Feature(the_geom:MultiPolygon,the_geom:MultiPolygon)

origional: [sic]
SimpleFeatureTypeImpl http://www.openplans.org/toppstates identified extends Feature(the_geom:MultiPolygon)

This seems fair enough, the troublemaker is

if (target.getAttributeCount() > origional.getAttributeCount()) {
            throw new IllegalArgumentException(
                "Unable to retype  FeatureReader<SimpleFeatureType, SimpleFeature> (origional does not cover requested type)");
        }

We get in trouble in IndexedShapefileDataStore(AbstractDataStore)

if (!featureType.equals(reader.getFeatureType())) {
            LOGGER.fine("Recasting feature type to subtype by using a ReTypeFeatureReader");
            reader = new ReTypeFeatureReader(reader, featureType, false);
        }

so I'm wondering whether we can change what feature type we request in order to avoid the ReType?

Show
Arne Kepp added a comment - 27/Apr/09 4:59 PM target: SimpleFeatureTypeImpl http://www.openplans.org/toppstates identified extends Feature(the_geom:MultiPolygon,the_geom:MultiPolygon) origional: [sic] SimpleFeatureTypeImpl http://www.openplans.org/toppstates identified extends Feature(the_geom:MultiPolygon) This seems fair enough, the troublemaker is
if (target.getAttributeCount() > origional.getAttributeCount()) {
            throw new IllegalArgumentException(
                "Unable to retype  FeatureReader<SimpleFeatureType, SimpleFeature> (origional does not cover requested type)");
        }
We get in trouble in IndexedShapefileDataStore(AbstractDataStore)
if (!featureType.equals(reader.getFeatureType())) {
            LOGGER.fine("Recasting feature type to subtype by using a ReTypeFeatureReader");
            reader = new ReTypeFeatureReader(reader, featureType, false);
        }
so I'm wondering whether we can change what feature type we request in order to avoid the ReType?
Hide
Permalink
Arne Kepp added a comment - 27/Apr/09 5:10 PM - edited

So that would probably be in BestGuessRegionatingStrategy.getFilter

The type there is

SimpleFeatureTypeImpl http://www.openplans.org/toppstates identified extends Feature(the_geom:the_geom,STATE_NAME:STATE_NAME,STATE_FIPS:STATE_FIPS,\
SUB_REGION:SUB_REGION,STATE_ABBR:STATE_ABBR,LAND_KM:LAND_KM,\
WATER_KM:WATER_KM,PERSONS:PERSONS,FAMILIES:FAMILIES,\
HOUSHOLD:HOUSHOLD,MALE:MALE,FEMALE:FEMALE,WORKERS:WORKERS,\
DRVALONE:DRVALONE,CARPOOL:CARPOOL,PUBTRANS:PUBTRANS,\
EMPLOYED:EMPLOYED,UNEMPLOY:UNEMPLOY,SERVICE:SERVICE,MANUAL:MANUAL,\
P_MALE_MALE,P_FEMALE_FEMALE,SAMP_POP:SAMP_POP)

Show
Arne Kepp added a comment - 27/Apr/09 5:10 PM - edited So that would probably be in BestGuessRegionatingStrategy.getFilter The type there is SimpleFeatureTypeImpl http://www.openplans.org/toppstates identified extends Feature(the_geom:the_geom,STATE_NAME:STATE_NAME,STATE_FIPS:STATE_FIPS,\ SUB_REGION:SUB_REGION,STATE_ABBR:STATE_ABBR,LAND_KM:LAND_KM,\ WATER_KM:WATER_KM,PERSONS:PERSONS,FAMILIES:FAMILIES,\ HOUSHOLD:HOUSHOLD,MALE:MALE,FEMALE:FEMALE,WORKERS:WORKERS,\ DRVALONE:DRVALONE,CARPOOL:CARPOOL,PUBTRANS:PUBTRANS,\ EMPLOYED:EMPLOYED,UNEMPLOY:UNEMPLOY,SERVICE:SERVICE,MANUAL:MANUAL,\ P_MALE_MALE,P_FEMALE_FEMALE,SAMP_POP:SAMP_POP)
Hide
Permalink
Andrea Aime added a comment - 28/Apr/09 7:26 AM

Noticed it has been committed to 1.7.4, remember to forward port to 1.7.x and trunk

Show
Andrea Aime added a comment - 28/Apr/09 7:26 AM Noticed it has been committed to 1.7.4, remember to forward port to 1.7.x and trunk
Hide
Permalink
Andrea Aime added a comment - 29/Apr/09 1:13 PM

Ported to 1.7.x and trunk, fixed.

Show
Andrea Aime added a comment - 29/Apr/09 1:13 PM Ported to 1.7.x and trunk, fixed.
Hide
Permalink
Andrea Aime added a comment - 29/Apr/09 1:13 PM

Reopening to assign to the proper version

Show
Andrea Aime added a comment - 29/Apr/09 1:13 PM Reopening to assign to the proper version
Hide
Permalink
Arne Kepp added a comment - 29/Apr/09 8:47 PM

http://fisheye.codehaus.org/changelog/geoserver/branches/1.7.x?cs=12276

I pulled it out again and left the bug open because I wasn't able to actually trigger the bug (after reverting the fix) using my test case, though with the fix both code paths are exercised. I'll have another look when my head is functioning properly again.

Show
Arne Kepp added a comment - 29/Apr/09 8:47 PM http://fisheye.codehaus.org/changelog/geoserver/branches/1.7.x?cs=12276 I pulled it out again and left the bug open because I wasn't able to actually trigger the bug (after reverting the fix) using my test case, though with the fix both code paths are exercised. I'll have another look when my head is functioning properly again.

People

  • Assignee:
    Andrea Aime
    Reporter:
    Arne Kepp
Vote (0)
Watch (0)

Dates

  • Created:
    27/Apr/09 9:41 AM
    Updated:
    08/Dec/10 3:33 AM
    Resolved:
    29/Apr/09 1:13 PM
  • Atlassian JIRA (v5.0.4#731-sha1:3aa7374)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Codehaus. Try JIRA - bug tracking software for your team.