1) crs authority vote 2) what is up 3) foss 4g presentation review 4) connection pooling
acuster: anyone have any topics for the poor bot?
jgarnett: gtbot add crs authorty, work underway but we needed votes
gtbot: Added agenda item '1: crs authorty, work underway but we needed votes' to the list.
jgarnett: gtbot what is up
jgarnett: gtbot add what it up
gtbot: Added agenda item '2: what it up' to the list.
chorner: eek
jgarnett: gtbot can we reivew foss4g presentations next meeting
jgarnett: gtbot add can we reivew foss4g presentations next meeting
gtbot: Added agenda item '3: can we reivew foss4g presentations next meeting' to the list.
jgarnett: aaime did you want to talk about your nifty proposal? or we still waiting while you update the page?
acuster: perhaps that was addressed to me
jdeolive: gtbot list
gtbot: Agenda Items:
gtbot: 1: crs authorty, work underway but we needed votes
gtbot: 2: what it up
gtbot: 3: can we reivew foss4g presentations next meeting
gtbot: End of agenda items.
jdeolive: gtbot add connection pooling
gtbot: Added agenda item '4: connection pooling' to the list.
groldan [n=gabriel@217.130.79.209] entered the room.
aaime: Hi
chorner: gtbot start
gtbot: Logging started.
acuster: go chorner go!
jgarnett: um chorner and myself are hacking hard today (deadline)
jgarnett: acuster do you want to "go"?
chorner: i'm not driving... i just turned the key and put a brick on the pedal
aaime: ha ha
acuster: go aaime, go!
aaime: That's not my topic?
***acuster is injured and can barely type
jgarnett: he means start the meeting
jgarnett: since the first topic is mine...
jgarnett: http://docs.codehaus.org/display/GEOTOOLS/Improve+CRSAuthority+Concurrency+Caching+and+Connection+Use
jgarnett: I only have two votes!
jgarnett: and we are at the "limit" where it gets accepted anyways
jgarnett: if you are a PMC please say aye / nay etc...
jgarnett: http://jira.codehaus.org/browse/GEOT-1286
jgarnett: Is showing the progress as we go; breaking out sub tasks works out quite nice.
cholmes: +1
iant: +1
jgarnett: I think what I will do is cut & paste the PMC list into the wiki page (and I can write down a +0 for anyone who has not commented by now ?)
jdeolive: +1 ( page updated )
jgarnett: thanks!
jgarnett: that is it for this topic ...
desruisseaux: A 0 or +1 vote is like "all or nothing". Can I suggest to start the work progressively (starting I guess with ObjectPool) so we can do recursive revision?
jgarnett: um
jdeolive: iant, what is your confluence id?
jgarnett: I am afraid not - we are on a deadline? I did try writing it up in parts first but .... the entire picture was needed for people to understand
jgarnett: (sorry martin)
desruisseaux: I woud prefer to not applies every name change right from the begining. Some are easy, but other are not as obvious. I don't find "EPSGAnsiDirectAuthority" much clearer than "FactoryUsingAnsiSQL".
jgarnett: (ha ha three people are now editing that page)
jgarnett: Understood;
jgarnett: well the names are not the important part (the "working correctly" is)
jgarnett: martin it is okay to me if we take our time with the naming so you are happpy.
jgarnett: that is I can stop what I am doing right now and switch gears and go do object pool - I was doing the naming first so I could make sense of stuff.
desruisseaux: Quite the opposite, I find this name a little bit confusing. It suggest that something like a set of Ansi EPSG code exists...
cholmes_ [n=chatzill@cpe-66-108-80-238.nyc.res.rr.com] entered the room.
desruisseaux: I would appreciate. I would also make it easier to follow the change if the name are relatively stable during hacking, and changed last.
iant_ [n=ijturton@c-71-58-71-181.hsd1.pa.comcast.net] entered the room.
simboss: (Hi guys)
iant_: hi
jgarnett: understood
jgarnett: martin is it okay if we take this up after the meeting? we can sort through the whole thing in 10 mins
aaim1 [n=aaime@host99-147.pool8248.interbusiness.it] entered the room.
desruisseaux: It would also be easier if small changes are commited often rather than big bunch of changes spaced by a lot of time.
jgarnett: (since I do not mind too much either way)
desruisseaux: Okay.
jgarnett: next topic? And thanks for voting everyone ...
jgarnett: (aside: martin if we sort out the naming after the meeting can we change you to a +1?)
jgarnett has changed the topic to: 1) crs authority vote 2) what is up 3) foss 4g presentation review 4) connection pooling
jgarnett: hello?
jgarnett: anyone here ...
jgarnett: (almost everyone has entered the room again...)
desruisseaux: This is +1 for starting the work, but if possible it would be nice if the work can be done progressively so we can check the changes often.
desruisseaux: yes
aaim1: Here I am
iant_: hi
groldan: yup
aaim1: I guess you were kicked out instead?
aaim1: I have been kicked out of all IRC channels at onece 4 minutes ago
jgarnett: strange ...!
jgarnett: okay martin - we will do the work in a progression and everything will be in jira
groldan: will we someday have the subversion plugin for jira?
groldan: would be lovely
aaim1: Are you still there?
groldan: I mean, it seems to be there but just not pointing to our repo?
chorner: are we back?
aaim1: hopefully
groldan: (yeah, I see everybody exiting and entering again)
iant_: seem to be
aaim1: Yep
aaim1: Shall we move to the next topic?
jgarnett_: let's move on ... I will sort out the logs after.
acuster: net splits; common when the network is used a lot and there is a lag between servers
jgarnett_: 2) what is up
aaim1: Connection pool work and Oracle write fixes (whoo hoo, we have a sponsor!)
jgarnett_: jg renaming referencing classes and under a deadline
groldan: moving internals to geoapi filters on spare time
desruisseaux: Under a deadline too (after the GeoAPI one) for Coverage I/O with NetCDF plugin.
chorner: refactoring crs authority caching stuff
simboss: playing with GIF 
jgarnett: good stuff 
iant_: still playing with JMapPane
jdeolive: geoserver kml
aaim1: This should be all I guess
aaim1: Next topic?
jgarnett: 3) foss4g presentation review
jgarnett: so we got two weeks left
iant_: until what?
jgarnett: last year we did stuff at the last minuet, I was hoping we could take things to the email list and so on this week.
jgarnett: until presentations proposals are submitted.
jgarnett: make up some text describing what you want to talk about; make it good enough that the presentation is actually accepted and so on.
jgarnett: If we arrange not to conflict we have a better chance etc...
jgarnett: there now seem to be around 50 presentations; and by next week there will be several hunderd.
jgarnett: Several presentations have already been accepted ...
jgarnett: http://www.foss4g2007.org/news/20070512/
iant_: I was allocated paper number 105 this morning
jgarnett: (including a geosever one - congrats!)
jgarnett: http://www.foss4g2007.org/presentations/view.php?abstract_id=8
cholmes: Saul's is already accepted.
aaim1: Yeah, I need to cook up a Geoserver one tomorrow
aaim1: (Geoserver past, present and future)
aaim1: But I have no plan to do a Geotools one
jgarnett: I would be happy to review any presentation you guys have cooking. My time is already booked with the demo theater - but I would like to see our community do well (again) at FOSS4G. So send stuff my way if you need a hand.
aaim1: Sure, thanks Jody 
jgarnett: well that is about it for me - wanted to make sure the deadline was in front of everyone. And offer to help if anyone needs it.
zzorn_sleep left the room (quit: Success).
jgarnett: We have talked about neat ideas on email in the past; seems like we have things to talk about (although travel plans are not yet known)
jgarnett_ left the room (quit: "ChatZilla 0.9.78.1 [Firefox 2.0.0.4/2007051502]").
aaim1: Well, I would move to the next topic
aaim1: jgarnett, are you here?
jgarnett: ues
jgarnett: the next topic is not mine ...
jgarnett: 4) connection pooling
aaime left the room (quit: Connection timed out).
aaim1: Well, I setup a branch to try out the shift
aaim1: and it worked well imho
aaim1: discovered that UnWrapping needed to be extended to Statement too
aaim1: besides that, no many suprises
aaim1: I migrated each datastore in less than one hour
jgarnett: Sweet
jgarnett: so what else do you need to finish up your proposal page?
aaim1: Nothing
aaim1: it's done
jgarnett: Okay so it is ready for me to look at .... link?
aaim1: http://docs.codehaus.org/display/GEOTOOLS/Connection+pool+subsystem+upgrade
jgarnett: so the first thing I review is .... Tasks - do you have volunteer time lined up?
jgarnett: Second thing I review is Documentation changes? Do you know what wiki pages need to be modified or created.
aaim1: I can finish the port next weekend
aaim1: (on the branch)
jgarnett: so far 0 for 2
aaim1: Nope, I know of no-one
aaim1: Do we have any documentation on how to use DataStore directly?
jgarnett: so until we line up people you should not put this to vote.
aaim1: (that is, without going thru the DataStoreFinder)
jgarnett: we do in the old wiki ...
aaim1: without going thru the DataStoreFinder???
jgarnett: tell you what - I will volunteer to update the docs (you can put my name next to the tasks)
jgarnett: (Lots of the code examples work directly with ShapefuleDataStore, or PostgisData - we did not explain factory very well last time)
aaim1: sorry, I never really understood those tables
aaim1: which is the place for the name of the person that's going to do a task?
jgarnett: Fair enough ... I will sort it out on this page (http://docs.codehaus.org/display/GEOTOOLS/Improve+CRSAuthority+Concurrency+Caching+and+Connection+Use)
jgarnett: and ask you to review.
jgarnett: Here was a good example: http://docs.codehaus.org/display/GEOTOOLS/DataSource+Hint+for+EPSG
aaim1: What I would need, if the proposal passes, is help with DB2 and GeoMedia
jgarnett: okay cool - so put those down as tasks and use
to indicate a volunteer is needed.
aaim1: Erk, we're editing the same page at the same time...
aaim1: Oh, I need help on ArcSDE too
groldan: what for?
groldan: it is not jdbc...
aaim1: switch to the new connection pool subsystem
aaim1: No?
groldan: nop
jgarnett: no they have their own api
aaim1: I kind of remember having seen ConnectionPool references in there
aaim1: maybe I'm wrong
groldan: ah, yeah, but the arcsde plugin has its own pool
groldan: for SeConnection, nothing to do with jdbc
jgarnett: they have their own pool and connections but they wrap jdbc
groldan: actually there's no jdbc whatsoever afaik
sfarber: Certainly not visible to any jsde_* client code...
jgarnett: I am done hacking on that page now andrea, if you want to fill in the tasks we can take the vote to email.
groldan: they use their own protocol over tcp to connect to the sde gateway
jgarnett: oh okay
sfarber: ahh, right.
jgarnett: they are crazy.
groldan: the gateway may use jdbc, odbc or whatever it uses, but its a service
aaim1: Ok, I updated the tasks
aaim1: I kind of expected some discussion on the merits of the proposal, instead of the form of it... noting?
jgarnett: Reading email gabriel was volunteering to do some JNDI setup documentation for the diferrent application containers (thanks gabriel)
jgarnett: the proposal is great andrea
jgarnett: it solves a very long standing need
jgarnett: their is not a lot of options
groldan: sorry we're lazy andrea, it is a huge step forward on the enterprise acceptance of both the library and geoserver
jgarnett: you chose a good way forward - I am a bit sad we have to unwrap connection and statement
groldan: and yes, I wonder how to test/communicate its use on the commercial servers
jgarnett: but I cannot see a way around it (darn incomplete JDBC api)
groldan: question:
aaim1: Well, JNDI should be a no brainer for those used to play with it
jgarnett: gabriel we have the same testing problem for the CRS Authority DataSource work.
aaim1: But.. have you seen how to configure JNDI datasource in Tomcat? Uarg!
groldan: having to unwrap connections means datastores expect a given jdbc implementation?
jgarnett: But it amounts to making sure a JNDI lookup is done, actual configuration of the different application containers is a crap shoot.
aaim1: Yes, a specific class
aaim1: (about configuring jndi in Tomcat, see here: http://tomcat.apache.org/tomcat-5.0-doc/jndi-resources-howto.html)
jgarnett: for the Oracle thing it wants an OracleConnection inorder to get at the Oracle STRUCT datastructure - that has a few more abilities beyond java.sql.Struct
jgarnett: (oracle is annoying)
groldan: (say in a j2ee container I may choose to use jtds or the webspehere, or the microsoft one to connect to sqlserver)
aaim1: For postgis, it needs to access the statement in order to gather the just created OID
groldan: concern is some companies I know don't let you choose the jdbc impl to use, but they mandate which ones to use (generally bad choses, thouhg 
aaim1: We're speaking about the driver here, not the pool
groldan: for postgis I guess there's not much alternatives
groldan: I mean the driver too
groldan: for oracle I guess it could get trickier?
aaim1: And if you decide to use anything other than the Oracle one, the datastore won't work
aaim1: (has never been, in fact)
aaim1: Not trickier, you just may end up rewriting a significant portion of the datastore
aaim1: 
groldan: given the case, do we have an extension point as to develop the unwrapper for whatever driver my client imposes on his container?)
aaim1: Yep, UnWrapper is an interface
aaim1: that you can lookup with SPI
jgarnett: Updated page with described document, gabriel and andrea you are marked down on the tasks list.
aaim1: but that allows you to choose whatever pool you want
aaim1: not what driver you need to use
groldan: ok, not that its an immediate need for me, but it could arise anytime soon
aaim1: Gabriel, to allow for different jdbc drivers, you'll need to shell out a new extension point inside the Oracle data store
groldan: I see
groldan: ok, good to know, thanks andrea
aaim1: I mean, it's not really possible to do certain things without accessing the Oracle connection afaik
groldan: do you foresee it would be difficult?
jgarnett: q: Andrea did you consider the proposal I made in the H2 module? where ConnectionPool is made into an interface and we switch internaly to one backed by a DataSource?
aaim1: I foresee it may be impossible
aaim1: Jody, no, I failed to understand it
jgarnett: I put it together in case you wanted a way forward that breaks less code - and could be considered for 2.3.x (and thus a stable geoserver branch)
jgarnett: ah darn ...
groldan: another question
jgarnett: http://svn.geotools.org/geotools/trunk/gt/modules/unsupported/h2/src/main/java/org/geotools/data/jdbc/DataSourceManager.java
aaim1: Well, the switch to an interface would be an API breakage anyways no?
jgarnett: Has the same API as our ConnectionPool - but uses a DataSource inside.
groldan: what happens on j2ee containers that already wrap the driver connections when in a jta context?
aaim1: ConnectionPool and ManageableDataSource are not that different
aaim1: Oh!
jgarnett: it would be a breakage; but not for client code.
aaim1: I forgot
aaim1: I had to add a ManageableDataSource sub-interface
aaim1: that has a close method
aaim1: because we need it
jgarnett: well close() is really a hack for us - for when we leave connections open.
aaim1: for all datasources but JNDI
aaim1: No no no
aaim1: It's to shut down the connection pool
jgarnett: ?
aaim1: Different use case
jgarnett: Okay
groldan: can we run datastores in jta contexts now?
aaim1: No
aaim1: Or else, maybe
jgarnett: gabriel to do that you will need to make a JTXTransaction implementation
groldan: that would be a huge plus
jgarnett: (just copy DefaultTransaction)
jgarnett: the resut of the codebase will not care too much .... and the JDBCDataStores can make use of the details.
jgarnett: The double handshake would just occur in the commit method.
aaim1: jgarnett, I'll try to have a look at the ConnectionPoll -> interface thing... I'll have to switch back all the code I guess
jgarnett: just look at it and send email.
aaim1: but I assumed my work was a throwaway anyways
jgarnett: (It was only a throwaway idea for you)
groldan: makes sense, but the code needs to know it is in a jta context
jgarnett: Nope it does not
jgarnett: it just needs to know it is in a Transaction
jgarnett: (geotools transaction)
jgarnett: the details on how that transaction works is up to your JTXTransaction implementation right?
jgarnett: The Transaction interface should have all the callbacks you need - if not please just propose some additions. It would be a sweet bit of functionality.
aaim1: sigh, I'm not much of a help here, always used Hiberante transaction that did hide the difference
groldan: what I mean (and I might just being nonsense) if I asks DataSource for a connection, and I'm inside a ejb method declared to be transactional, I'll get jtx ready connection
jgarnett: guys the meeting has runith over.
jgarnett: and I gotta go back to codeing up the crs stuff
groldan: anyway, what you say makes sense
jgarnett: can we end? Perhaps martin is still around to talk about naming ...
jgarnett: martin we could grab another channel if these guys want to keep going?
aaim1: I'm done
jgarnett: To sum up andrea - your proposal is very close; let's grab enough volunteers and make it happen (enough people is as important as the work)
jgarnett: sweet
jgarnett: Going to try and post the logs - I don't think gtbot should be trusted given our connection trouble today.
jgarnett: meeting over.
groldan: fine here, gotta run
groldan: bye all
groldan left the room (quit: Remote closed the connection).
aaim1: Bye bye
aaim1 left the room.