bool ServerCollect::remove_writable_(const common::ArrayHelper<BlockCollect*>& blocks) { RWLock::Lock lock(mutex_, WRITE_LOCKER); BlockCollect* block = NULL; for (int32_t i = 0; i < blocks.get_array_index(); ++i) { block = *blocks.at(i); TBSYS_LOG(DEBUG, "%s remove_writable: is_full: %d, servers size: %d", tbsys::CNetUtil::addrToString(id()).c_str(), block->is_full(), block->get_servers_size()); if (!block->is_writable() || !is_equal_group(block->id())) hold_master_->erase(block); if (block->is_full() || !is_equal_group(block->id())) writable_->erase(block); } return true; }