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