Hi, Jon, >From what I can see in the file fileManager.cpp, both fileManager::clear and fileManager::flushFile attempts to remove files from both list of mapped files as well as those simply read into memory. If you know exactly what files you want to remove from the file cache, you definitely could invoke flushFile directly. If you encounters any problems, please let us know.
If you are update a data directory, you can also use ibis::fileManager::flushDir. John On 9/28/15 9:32 AM, Jon Strabala wrote: > John, > > There are two functions e.g. in fileManager.cpp > > ibis::fileManager::clear // attempts to free resources across > all files > ibis::fileManager::flushFile // attempts to free resources for one file > > I believe that only ibis::fileManager::clear seems to call > mapped.clear(); and incore.clear(). > > I don't think ibis::fileManager::flushFile removes memmorry map > references - is there a reason for this (or am I mistaken about this > function) ? > > Since I am updating partitions in real-time in a multi threaded > environment I need to make sure that there is no activity (e.g. set a > write lock) and also flush stale cached data. Right now I use > ibis::fileManager::clear which seems like overkill considering I might > only be updating one partition out of 500. I would like to use > ibis::fileManager::flushFile since it appears that it would have a > minimal performance impact, but as I said I don'tr think it will free > a memory mapped reference. > > Best Regards, > > Jon Strabala > > > _______________________________________________ > FastBit-users mailing list > [email protected] > https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users > _______________________________________________ FastBit-users mailing list [email protected] https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users
