|
The issue is reproduced when we try to read and dispose an iterator while accessing a shape file. When a different thread (other than the one which queried the features) tries to dispose the FeatureIterator, the file handles are left open.
While debugging, i found that the class ShpFiles.java keeps the open file locks in a map the key used is the Thread.currentThread(). If a different thread tries to dispose the resources, it is unable to find the file locks in this map because they were stored by a different thread. And hence, the file handles are left open.
|