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
-~----------~----~----~----~------~----~------~--~---

Reply via email to