Opened 13 years ago

Closed 13 years ago

#4039 closed defect (fixed)

georaster - multithreading problems

Reported by: ilucena Owned by: ilucena
Priority: normal Milestone:
Component: GDAL_Raster Version: svn-trunk
Severity: normal Keywords: georaster, multithread
Cc: warmerdam

Description

The GeoRaster driver is not multithread safe but it should not crashes if individual images are been loaded simultaneously.

But since the driver shares the OCI connection between datasets, the long transactions that update the blocks of pixels get mixed up between threads.

In that cases the error message that comes from the server is usually:

ORA-22990: LOB locators cannot span transactions

Change History (1)

comment:1 by ilucena, 13 years ago

Resolution: fixed
Status: newclosed

I completely remove the code on the file "georaster_driver.cpp" (and GeoRasterDriver class definition on "georaster_priv.h") that was suppose to speed up things by sharing OCI connections between datasets of the same user/db.

So now each GDAL dataset loaded by the same process (multithread or not) will have an independent OCI connection. I will investigate the possibility and benefit of using a OCI connection pooling approach.

Completed: At revision: r22166

Note: See TracTickets for help on using tickets.