Hi Chris, I've changed 2.2.x so it is backwards compatible as you suggest in this email. But I'm leaving the changes on 2.3 because the new constructor is more flexible.
Jesse On 24-Jul-06, at 8:30 AM, Chris Holmes wrote: > Sequence of events: > > 1. PostGIS filter processing wasn't working right with Functions > (correct me if I'm wrong here, this is my surface level > understanding, I couldn't figure out a deeper sense when really > digging in to the code as the function handling seemed to be really > naive) > > 2. Jesse ported WFS filter processing code to main, and Cory ported > it to PostGIS. > > 3. I complained about the port, since all the previous code that > did filter splitting still remained, and the new stuff was just > dumped in to PostGISDataStore, ignoring the nice decomposition we > did previously. > > 4. Cory fixed it the right way. But changed the method signature > since the new filter stuff requires to know the attribute and some > transaction stuff. > > 5. All datastores were updated to the new method signature. > > 5 is the step that broke backwards compatibility, since if I just > build Oracle on its own, but don't also build main (which is the > right way from a customer perspective, I just pass them a new > oracle jar, not a whole new gt2-main jar), then it doesn't find the > method. > > I believe a way to fix may be to have all the non-WFS datastores > use the old method signature. I know that this poses one problem, > since the featureType will be null. I believe that sql splitting > code should not need to depend on knowing the AttributeType - at > least it did fine before, and the new stuff doesn't depend on > functions. I concede that the new stuff might do something a bit > smarter, but I don't know it well enough, and I know the older > stuff worked just fine with out the additional type checking. The > new stuff works fine without the transaction argument thing, but in > looking at the code, I fear that right now it requires the > featureType, or else it passes everything to the post filter, which > is obviously less than ideal. > > best regards, > > Chris > > Jody Garnett wrote: >> Trying to figure out the sequence of events that broke >> compatibility here ... >> Did you guys sort this out ... there is no follow up email. >> Lets grab an agenda item if this is not resolved. >> Jody >>> So we lost backwards compatibility with DataStores. I built a >>> new Oracle jar with a bug fix that didn't make it across from >>> 2.1.x. I couldn't build because it needed a new main build as >>> there was a class not found. So I built main again, and then >>> tried to just distribute the oracle jar. >>> >>> Got this error, buried is: >>> Caused by: java.lang.NoSuchMethodError: >>> org.geotools.data.jdbc.DefaultSQLBuilder.<init>(Lorg/geotools/ >>> filter/SQL >>> Encoder;Lorg/geotools/feature/FeatureType;Lorg/geotools/filter/ >>> visitor/C >>> lientTransactionAccessor;)V >>> >>> So now I have to distribute a 2.5 meg main jar to get users >>> working right. Is there any way to make it so this code is >>> backwards compatible? I'm not sure what a client transaction >>> accessor is. This is RC's, so I'm not going to raise a big fit >>> which I would if it was 2.2.0. But it kinda sucks since >>> GeoServer is in 1.3.2, and we did the upgrade to 2.2.x for 1.3.1 >>> since we thought it'd be stable - I'd ideally like my datastore >>> users to be able to upgrade a bug fix with only having to put in >>> one new jar. >>> >>> Chris >>> >>> -------- Original Message -------- >>> Subject: RE: [Geoserver-users] Geoserver leaves (again) too many >>> open database connections to Oracle? >>> Date: Fri, 21 Jul 2006 17:04:44 +0200 >>> From: Hans-Ulrich Otto <[EMAIL PROTECTED]> >>> To: Chris Holmes <[EMAIL PROTECTED]> >>> CC: Tilman klar <[EMAIL PROTECTED]>, Hannes Scharmann >>> <[EMAIL PROTECTED]> >>> >>> Hi, >>> >>> I am getting the exceptions below, when I try to access WMS (via >>> mapbuilder) with this jar: >>> >>> Thanks for the help, >>> Uli. >>> ----------------------------------- >>> >>> http.HttpServlet.service(HttpServlet.java:689) >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) >>> at >>> org.vfny.geoserver.wms.servlets.WmsDispatcher.doResponse >>> (WmsDispatcher.j >>> ava:156) >>> at >>> org.vfny.geoserver.wms.servlets.WmsDispatcher.doGet >>> (WmsDispatcher.java:1 >>> 15) >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter >>> (Applica >>> tionFilterChain.java:252) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.doFilter >>> (ApplicationFilt >>> erChain.java:173) >>> at >>> org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter >>> (SetCharac >>> terEncodingFilter.java:122) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter >>> (Applica >>> tionFilterChain.java:202) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.doFilter >>> (ApplicationFilt >>> erChain.java:173) >>> at >>> org.apache.catalina.core.StandardWrapperValve.invoke >>> (StandardWrapperValv >>> e.java:213) >>> at >>> org.apache.catalina.core.StandardContextValve.invoke >>> (StandardContextValv >>> e.java:178) >>> at >>> org.apache.catalina.authenticator.AuthenticatorBase.invoke >>> (Authenticator >>> Base.java:524) >>> at >>> org.apache.catalina.core.StandardHostValve.invoke >>> (StandardHostValve.java >>> :126) >>> at >>> org.apache.catalina.valves.ErrorReportValve.invoke >>> (ErrorReportValve.java >>> :105) >>> at >>> org.apache.catalina.core.StandardEngineValve.invoke >>> (StandardEngineValve. >>> java:107) >>> at >>> org.apache.catalina.connector.CoyoteAdapter.service >>> (CoyoteAdapter.java:1 >>> 48) >>> at >>> org.apache.coyote.http11.Http11AprProcessor.process >>> (Http11AprProcessor.j >>> ava:831) >>> at >>> org.apache.coyote.http11.Http11AprProtocol >>> $Http11ConnectionHandler.proce >>> ss(Http11AprProtocol.java:639) >>> at >>> org.apache.tomcat.util.net.AprEndpoint$Worker.run >>> (AprEndpoint.java:1196) >>> at java.lang.Thread.run(Thread.java:595) >>> Caused by: java.lang.NoSuchMethodError: >>> org.geotools.data.jdbc.DefaultSQLBuilder.<init>(Lorg/geotools/ >>> filter/SQL >>> Encoder;Lorg/geotools/feature/FeatureType;Lorg/geotools/filter/ >>> visitor/C >>> lientTransactionAccessor;)V >>> at >>> org.geotools.data.oracle.OracleDataStore.getSqlBuilder >>> (OracleDataStore.j >>> ava:257) >>> at >>> org.geotools.data.jdbc.JDBC1DataStore.getFeatureReader >>> (JDBC1DataStore.ja >>> va:601) >>> at >>> org.geotools.data.jdbc.JDBCFeatureCollection.reader >>> (JDBCFeatureCollectio >>> n.java:78) >>> at >>> org.geotools.renderer.lite.StreamingRenderer.getReader >>> (StreamingRenderer >>> .java:1096) >>> at >>> org.geotools.renderer.lite.StreamingRenderer.processStylers >>> (StreamingRen >>> derer.java:1194) >>> at >>> org.geotools.renderer.lite.StreamingRenderer.paint >>> (StreamingRenderer.jav >>> a:506) >>> at >>> org.geotools.renderer.lite.StreamingRenderer.paint >>> (StreamingRenderer.jav >>> a:390) >>> at >>> org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap >>> (Def >>> aultRasterMapProducer.java:244) >>> at >>> org.vfny.geoserver.wms.responses.GetMapResponse.execute >>> (GetMapResponse.j >>> ava:187) >>> at >>> org.vfny.geoserver.servlets.AbstractService.doService >>> (AbstractService.ja >>> va:452) >>> ... 23 more >>> >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter >>> (Applica >>> tionFilterChain.java:252) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.doFilter >>> (ApplicationFilt >>> erChain.java:173) >>> at >>> org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter >>> (SetCharac >>> terEncodingFilter.java:122) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter >>> (Applica >>> tionFilterChain.java:202) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.doFilter >>> (ApplicationFilt >>> erChain.java:173) >>> at >>> org.apache.catalina.core.StandardWrapperValve.invoke >>> (StandardWrapperValv >>> e.java:213) >>> at >>> org.apache.catalina.core.StandardContextValve.invoke >>> (StandardContextValv >>> e.java:178) >>> at >>> org.apache.catalina.authenticator.AuthenticatorBase.invoke >>> (Authenticator >>> Base.java:524) >>> at >>> org.apache.catalina.core.StandardHostValve.invoke >>> (StandardHostValve.java >>> :126) >>> at >>> org.apache.catalina.valves.ErrorReportValve.invoke >>> (ErrorReportValve.java >>> :105) >>> at >>> org.apache.catalina.core.StandardEngineValve.invoke >>> (StandardEngineValve. >>> java:107) >>> at >>> org.apache.catalina.connector.CoyoteAdapter.service >>> (CoyoteAdapter.java:1 >>> 48) >>> at >>> org.apache.coyote.http11.Http11AprProcessor.process >>> (Http11AprProcessor.j >>> ava:831) >>> at >>> org.apache.coyote.http11.Http11AprProtocol >>> $Http11ConnectionHandler.proce >>> ss(Http11AprProtocol.java:639) >>> at >>> org.apache.tomcat.util.net.AprEndpoint$Worker.run >>> (AprEndpoint.java:1196) >>> at java.lang.Thread.run(Thread.java:595) >>> Caused by: java.lang.NoSuchMethodError: >>> org.geotools.data.jdbc.DefaultSQLBuilder.<init>(Lorg/geotools/ >>> filter/SQL >>> Encoder;Lorg/geotools/feature/FeatureType;Lorg/geotools/filter/ >>> visitor/C >>> lientTransactionAccessor;)V >>> at >>> org.geotools.data.oracle.OracleDataStore.getSqlBuilder >>> (OracleDataStore.j >>> ava:257) >>> at >>> org.geotools.data.jdbc.JDBC1DataStore.getFeatureReader >>> (JDBC1DataStore.ja >>> va:601) >>> at >>> org.geotools.data.jdbc.JDBCFeatureCollection.reader >>> (JDBCFeatureCollectio >>> n.java:78) >>> at >>> org.geotools.renderer.lite.StreamingRenderer.getReader >>> (StreamingRenderer >>> .java:1096) >>> at >>> org.geotools.renderer.lite.StreamingRenderer.processStylers >>> (StreamingRen >>> derer.java:1194) >>> at >>> org.geotools.renderer.lite.StreamingRenderer.paint >>> (StreamingRenderer.jav >>> a:506) >>> at >>> org.geotools.renderer.lite.StreamingRenderer.paint >>> (StreamingRenderer.jav >>> a:390) >>> at >>> org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap >>> (Def >>> aultRasterMapProducer.java:244) >>> at >>> org.vfny.geoserver.wms.responses.GetMapResponse.execute >>> (GetMapResponse.j >>> ava:187) >>> at >>> org.vfny.geoserver.servlets.AbstractService.doService >>> (AbstractService.ja >>> va:452) >>> ... 23 more >>> erChain.doFilter(ApplicationFilterChain.java:173) >>> at >>> org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter >>> (SetCharac >>> terEncodingFilter.java:122) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter >>> (Applica >>> tionFilterChain.java:202) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.doFilter >>> (ApplicationFilt >>> erChain.java:173) >>> at >>> org.apache.catalina.core.StandardWrapperValve.invoke >>> (StandardWrapperValv >>> e.java:213) >>> at >>> org.apache.catalina.core.StandardContextValve.invoke >>> (StandardContextValv >>> e.java:178) >>> at >>> org.apache.catalina.authenticator.AuthenticatorBase.invoke >>> (Authenticator >>> Base.java:524) >>> at >>> org.apache.catalina.core.StandardHostValve.invoke >>> (StandardHostValve.java >>> :126) >>> at >>> org.apache.catalina.valves.ErrorReportValve.invoke >>> (ErrorReportValve.java >>> :105) >>> at >>> org.apache.catalina.core.StandardEngineValve.invoke >>> (StandardEngineValve. >>> java:107) >>> at >>> org.apache.catalina.connector.CoyoteAdapter.service >>> (CoyoteAdapter.java:1 >>> 48) >>> at >>> org.apache.coyote.http11.Http11AprProcessor.process >>> (Http11AprProcessor.j >>> ava:831) >>> at >>> org.apache.coyote.http11.Http11AprProtocol >>> $Http11ConnectionHandler.proce >>> ss(Http11AprProtocol.java:639) >>> at >>> org.apache.tomcat.util.net.AprEndpoint$Worker.run >>> (AprEndpoint.java:1196) >>> at java.lang.Thread.run(Thread.java:595) >>> Caused by: java.lang.NoSuchMethodError: >>> org.geotools.data.jdbc.DefaultSQLBuilder.<init>(Lorg/geotools/ >>> filter/SQL >>> Encoder;Lorg/geotools/feature/FeatureType;Lorg/geotools/filter/ >>> visitor/C >>> lientTransactionAccessor;)V >>> at >>> org.geotools.data.oracle.OracleDataStore.getSqlBuilder >>> (OracleDataStore.j >>> ava:257) >>> at >>> org.geotools.data.jdbc.JDBC1DataStore.getFeatureReader >>> (JDBC1DataStore.ja >>> va:601) >>> at >>> org.geotools.data.jdbc.JDBCFeatureCollection.reader >>> (JDBCFeatureCollectio >>> n.java:78) >>> at >>> org.geotools.renderer.lite.StreamingRenderer.getReader >>> (StreamingRenderer >>> .java:1096) >>> at >>> org.geotools.renderer.lite.StreamingRenderer.processStylers >>> (StreamingRen >>> derer.java:1194) >>> at >>> org.geotools.renderer.lite.StreamingRenderer.paint >>> (StreamingRenderer.jav >>> a:506) >>> at >>> org.geotools.renderer.lite.StreamingRenderer.paint >>> (StreamingRenderer.jav >>> a:390) >>> at >>> org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap >>> (Def >>> aultRasterMapProducer.java:244) >>> at >>> org.vfny.geoserver.wms.responses.GetMapResponse.execute >>> (GetMapResponse.j >>> ava:187) >>> at >>> org.vfny.geoserver.servlets.AbstractService.doService >>> (AbstractService.ja >>> va:452) >>> ... 23 more >>> >>> >>> >>> -----Original Message----- >>> From: Chris Holmes [mailto:[EMAIL PROTECTED] >>> Sent: Freitag, 21. Juli 2006 16:45 >>> To: Hans-Ulrich Otto >>> Cc: Tilman klar; Hannes Scharmann >>> Subject: Re: [Geoserver-users] Geoserver leaves (again) too many >>> open >>> database connections to Oracle? >>> >>> What was the error? >>> >>> Maybe I'll try the oracle express edition this weekend, as it's >>> supposed >>> >>> to be lightweight and I can test on it. >>> >>> C >>> >>> Hans-Ulrich Otto wrote: >>>> Hi, >>>> >>>> Thanks for the quick reply. Unfortunately, the jar does not work. >>> After >>>> replacing and restarting, geoserver was not able to connect to >>>> Oracle >>> at >>>> all. >>>> Best regards, >>>> >>>> Uli. >>>> >>>> -----Original Message----- >>>> From: Chris Holmes [mailto:[EMAIL PROTECTED] Sent: >>>> Donnerstag, 20. Juli 2006 21:41 >>>> To: Hans-Ulrich Otto >>>> Cc: Tilman klar; Hannes Scharmann >>>> Subject: Re: [Geoserver-users] Geoserver leaves (again) too many >>>> open >>>> database connections to Oracle? >>>> >>>> Could you guys give this one a whirl? There's been some >>>> development that leads to a small chance that I need to give you >>>> another update, >>> but >>>> the developers told me this should work. If it's good, I'll go >>>> ahead and put out a plug-in release. >>>> >>>> best regards, >>>> >>>> Chris >>>> >>>> Hans-Ulrich Otto wrote: >>>>> Hi, >>>>> >>>>> >>>>> We upgraded this week geoserver 1.3.2 (from 1.3.0) and noticed >>>>> that suddenly an old (and in 1.3.0) already fixed problem >>>>> happens again: Geoserver leaves a lot of open connections to >>>>> Oracle db. At some >>> point >>>>> in time the max. number of connections is reached (in our case >>>>> 160) >>>> and >>>>> Oracle rejects any further access. >>>>> >>>>> >>>>> Can we maybe fix this by using an older Oracle connector? >>>>> >>>>> >>>>> Thanks in advance for a quick reply, >>>>> >>>>> >>>>> Uli. >>>>> >>>>> >>>>> >>>>> >>>>> >>> -------------------------------------------------------------------- >>> ---- >>> -------------------------------------------------------------------- >>> ---- >>>> - >>>>> Take Surveys. Earn Cash. Influence the Future of IT >>>>> Join SourceForge.net's Techsay panel and you'll get the chance to >>>> share your >>>>> opinions on IT & business topics through brief surveys -- and earn >>>> cash >>>> >>> http://www.techsay.com/default.php? >>> page=join.php&p=sourceforge&CID=DEVDE >>>> V >>>>> >>>>> >>>>> >>> -------------------------------------------------------------------- >>> ---- >>>>> _______________________________________________ >>>>> Geoserver-users mailing list >>>>> [EMAIL PROTECTED] >>>>> https://lists.sourceforge.net/lists/listinfo/geoserver-users >>>>> >>>>> >>>>> >>> -------------------------------------------------------------------- >>> ----- >>> Take Surveys. Earn Cash. Influence the Future of IT >>> Join SourceForge.net's Techsay panel and you'll get the chance to >>> share your >>> opinions on IT & business topics through brief surveys -- and >>> earn cash >>> http://www.techsay.com/default.php? >>> page=join.php&p=sourceforge&CID=DEVDEV >>> -------------------------------------------------------------------- >>> ---- >>> >>> _______________________________________________ >>> Geotools-devel mailing list >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/geotools-devel >>> >> --------------------------------------------------------------------- >> ---- >> Take Surveys. Earn Cash. Influence the Future of IT >> Join SourceForge.net's Techsay panel and you'll get the chance to >> share your >> opinions on IT & business topics through brief surveys -- and earn >> cash >> http://www.techsay.com/default.php? >> page=join.php&p=sourceforge&CID=DEVDEV >> _______________________________________________ >> Geotools-devel mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/geotools-devel >> !DSPAM:1003,44c4de4b99767785049143! > > -- > Chris Holmes > The Open Planning Project > http://topp.openplans.org > <cholmes.vcf> > ---------------------------------------------------------------------- > --- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > opinions on IT & business topics through brief surveys -- and earn > cash > http://www.techsay.com/default.php? > page=join.php&p=sourceforge&CID=DEVDEV________________________________ > _______________ > Geotools-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/geotools-devel ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Geotools-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geotools-devel
