Hi Phoenix,

Thanks for reporting these.  I'll fix them and get them into the 0.9.2.0
release.

- Doug

On Tue, Dec 30, 2008 at 7:59 PM, Phoenix <[email protected]> wrote:

>
> Hi Doug,
>
> 1. AccessGroup::run_compaction. This bug is introduced by commit
> e2f17814ad0a001bda3808effd18497528cd9cd4.
>  src/cc/Hypertable/RangeServer/AccessGroup.cc:477
>
>   If something went wrong when exec run_compaction, it'll throw but
> there is no mechanism to catch it in Range::compact and
> Range::run_compaction. So the m_maintenance_in_progress will keep true
> which means that this range will never get compacted or splited.
>
>
> 2. RangeServer::load_range. If this RangeServer load 2 ranges of the
> same table at the same time, it may fail. Here we need to lock it.
>
> -    /** Get TableInfo, create if doesn't exist **/
> -    if (!m_live_map_ptr->get(table->id, table_info_ptr)) {
> -      table_info_ptr = new TableInfo(m_master_client_ptr, table,
> schema_ptr);
> -      register_table = true;
> -    }
> +    {
> +      boost::mutex::scoped_lock lock(s_mutex);
>
> +      /** Get TableInfo, create if doesn't exist **/
> +      if (!m_live_map_ptr->get(table->id, table_info_ptr)) {
> +       table_info_ptr = new TableInfo(m_master_client_ptr, table,
> schema_ptr);
> +       register_table = true;
> +    }
> >
>

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