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
Note:
See TracTickets
for help on using tickets.
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