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