Now is when we benefit from the merging of the two pieces of code. I now have to modify the code so that the splitter knows about the precise functions that are supported.
Let me know if it works... It should but I don't have anything to test it against. Jesse On 24-Jul-06, at 3:28 PM, Chris Holmes wrote: > > > Jesse Eichar wrote: >> 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. > Perfect, yeah, for sure things on trunk should have the latest and > greatest. I'll try it out. > > Chris > > > >> 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.produceM >>>>> ap(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.produceM >>>>> ap(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.produceM >>>>> ap(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 >>>> >>> >>> --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 >> !DSPAM:1003,44c4f81a113702095110867! > > -- > 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
