Hi Phoenix, Data is added to the AccessGroup only when the mutex is locked. The add() method does not contain a mutex lock, but if you look inside RangeServer::update(), you'll see where the Ranges get locked before calling add(). Since this method locks the mutex, there should be no problem.
- Doug On Tue, Jun 16, 2009 at 3:44 AM, Phoenix <[email protected]> wrote: > > Hi all, > > In the current code, freezing the CellCache is earlier than the > creating of the new CellCache.(src/cc/Hypertable/RangeServer/ > AccessGroup.cc) > m_immutable_cache->freeze(); > m_cell_cache = new CellCache(); > > Here, if there are data inserting into the CellCache just between the > the above two operations, it would fail. <It'll result in assert fail > in CellCache::add> > > Just exchanging them should be OK: > m_cell_cache = new CellCache(); > m_immutable_cache->freeze(); > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Hypertable Development" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/hypertable-dev?hl=en -~----------~----~----~----~------~----~------~--~---
