[kepler-dev] Thread synchronization in org.kepler.objectmanager.cache.DataCacheManager?

Kevin Ruland kruland at ku.edu
Tue Aug 16 13:18:28 PDT 2005


Hi all

While exploring the code, I noticed something which raised my internal
alarm.  In org.kepler.objectmanager.cache.DataCacheManager.saveCache()
method, there is a spin lock on the variable mDoingSave.  I have a
couple of concerns about this. First the code optimizer might eliminate
the loop because it doesn't do anything.  Second, because there are no
synchronized keywords about, this code, even if it functions, is a race
condition.

Matt mentioned to me that this method might only be used during
application shutdown.  However, it's called from
org.ecoinformatics.seek.datasource.DarwinCoreSchema.loadDarwinCodeSchema())
which by name alone does not seem likely to be called during shutdown. 
He also said that this class is currently under active development and I
might have caught it in an unsavory state.

Kevin


More information about the Kepler-dev mailing list