Quoting Jody Garnett <[EMAIL PROTECTED]>:

> Saul Farber wrote:
> > Hey all,
> >
> > I've identified a nasty concurrency issue in the arcsde DataStore.
> I'm
> > attaching a patch, but it's basically a one-liner.
> >
> > A brief explanation:
> >
> > Every SDE "stream" object (query, update, etc.) is based on an SDE
> > connection, and if more than one "stream" object (SeStreamOp
> derived
> > class) is constructed with the same underlying connection object,
> and
> > then they're both pushed to do anything with the underlying
> connection
> > (for an SeQuery, that'd be "execute()", for an SeUpdate that'd be
> > "update()", etc.) bad things will happen.  Generally the underlying
> > connection object just locks up, causing the map being rendered to
> > simply hang.
> >
> > I think there's a logical error in the ArcSDEQuery class, in the
> > getSeQuery() method.  The finally block at the end releases the
> > connection that was just used to create the SeQuery object, and
> then
> > returns the SeQuery object to the calling method.  Presumably the
> > calling method then uses the SeQuery.execute() method, and the
> > underlying connection will likely then be re-handed out and
> > re-used...causing a deadlock.
> >
> > I've commented out the releaseConnection() call.
> >
> > What should I do to file this as an official bug and patch?
> >
> Well we should contact the module maintainer for the arcsde module
> - that is in the project.xml file. Looking it up now - seems to be
> Andrea!
> And make a jira bug report (with your one liner mentioned).
>
> If they don't respond in three days, a random PMC ccan make the
> change
> for you,
> but lets ask Andrea first.
ArcSDE?  That's Gabriel.  And I'm not sure about commenting out that
code, the point of the release connections is to allow geotools to try
to use less connections - you can set the max sde connections in the
factory.  The logic behind this is that esri limits some licenses to
only have one or two concurrent connections.  GeoTools tends to want to
open up a lot of connections, so sharing is a good thing.  Of course,
if it's causing problems, that's a bad thing, but I'm worried that just
commenting out that section will cause us to just use a ton of
connections, never attempting to share them.  It's been too long since
I've looked at specifics, but perhaps a better solution would be to
make sure that the update stuff is not released?  Or perhaps a config
option that does no attempted sharing, lets geotools use as many
different connections as it wants?  Gabriel, thoughts?

Chris

>
> BTW the section of the guide that covers this stuff is here:
> -<http://docs.codehaus.org/display/GEOTOOLS/Hacking>
>
> Jody
>
>
> -------------------------------------------------------
> SF.Net email is sponsored by:
> Tame your development challenges with Apache's Geronimo App Server.
> Download
> it for free - -and be entered to win a 42" plasma tv or your very own
> Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
> _______________________________________________
> Geotools-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geotools-devel
>




----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to