Code

Opened 5 years ago

Closed 4 years ago

Last modified 3 years ago

#10923 closed (fixed)

Use thread-safe GEOS API if available

Reported by: andrew_pendleton Owned by: jbronn
Component: GIS Version: master
Severity: Keywords: geos thread safe safety
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description

The number of configurations under which GeoDjango can be used is limited by its relative lack of thread-safety as compared to the rest of the framework, mainly due to the lack of thread-safety of underlying libraries like GEOS. The latest release of GEOS adds a thread-safe C API (proposed in http://trac.osgeo.org/geos/wiki/RFC3, tracked in http://trac.osgeo.org/geos/ticket/210, and committed prior to the release of GEOS 3.1.0), so GeoDjango should use it if it's available.

Attachments (3)

geos_threadsafe_v1.diff (36.2 KB) - added by jbronn 4 years ago.
geos_threadsafe_v2.diff (40.0 KB) - added by jbronn 4 years ago.
threading.local subclasses and I/O function accessors are actually necessary
geos_threadsafe_v3.diff (41.0 KB) - added by jbronn 4 years ago.
Improved comments, and a few imports over last patch.

Download all attachments as: .zip

Change History (8)

comment:1 Changed 5 years ago by jbronn

  • Keywords geos thread safe safety added
  • milestone set to 1.2
  • Needs documentation unset
  • Needs tests unset
  • Owner changed from nobody to jbronn
  • Patch needs improvement unset

comment:2 Changed 5 years ago by jbronn

See also the GeoDjango mercurial branch for a thread-safe GEOS interface. Thanks to a dev known as tazle, we have a beginning implementation, however, it's a non-trivial addition that can benefit from additional testing.

comment:3 Changed 5 years ago by Alex

  • Triage Stage changed from Unreviewed to Accepted

Changed 4 years ago by jbronn

Changed 4 years ago by jbronn

threading.local subclasses and I/O function accessors are actually necessary

Changed 4 years ago by jbronn

Improved comments, and a few imports over last patch.

comment:4 Changed 4 years ago by jbronn

  • Resolution set to fixed
  • Status changed from new to closed

(In [12214]) Fixed #10923 -- The GEOS bindings now use the thread-safe API, when applicable. Thanks, Tuure Laurinolli, for assistance in developing this patch.

comment:5 Changed 3 years ago by jacob

  • milestone 1.2 deleted

Milestone 1.2 deleted

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
as The resolution will be set. Next status will be 'closed'
The resolution will be deleted. Next status will be 'new'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.