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

Reply via email to