patch 4.0
This commit is contained in:
@ -11,41 +11,44 @@
|
||||
*/
|
||||
|
||||
#include "fake_zone_manager.h"
|
||||
namespace oceanbase {
|
||||
namespace rootserver {
|
||||
namespace oceanbase
|
||||
{
|
||||
namespace rootserver
|
||||
{
|
||||
using namespace common;
|
||||
using namespace share;
|
||||
|
||||
void FakeZoneManager::init_zone_manager(const int64_t version, int64_t zone_cnt)
|
||||
{
|
||||
UNUSED(version);
|
||||
zone_count_ = zone_cnt;
|
||||
global_info_.frozen_version_.value_ = version;
|
||||
global_info_.try_frozen_version_.value_ = version;
|
||||
global_info_.global_broadcast_version_.value_ = version;
|
||||
global_info_.last_merged_version_.value_ = version;
|
||||
// global_info_.frozen_version_.value_ = version;
|
||||
// global_info_.try_frozen_version_.value_ = version;
|
||||
// global_info_.global_broadcast_version_.value_ = version;
|
||||
// global_info_.last_merged_version_.value_ = version;
|
||||
|
||||
ObZoneInfo info;
|
||||
info.status_.value_ = ObZoneStatus::ACTIVE;
|
||||
info.last_merged_time_.value_ = ::oceanbase::common::ObTimeUtility::current_time();
|
||||
info.merge_start_time_.value_ = ::oceanbase::common::ObTimeUtility::current_time();
|
||||
info.broadcast_version_.value_ = version;
|
||||
info.last_merged_version_.value_ = version;
|
||||
info.all_merged_version_.value_ = version;
|
||||
// info.last_merged_time_.value_ = ::oceanbase::common::ObTimeUtility::current_time();
|
||||
// info.merge_start_time_.value_ = ::oceanbase::common::ObTimeUtility::current_time();
|
||||
// info.broadcast_version_.value_ = version;
|
||||
// info.last_merged_version_.value_ = version;
|
||||
// info.all_merged_version_.value_ = version;
|
||||
|
||||
for (int64_t i = 0; i < zone_count_; ++i) {
|
||||
zone_infos_[i] = info;
|
||||
zone_infos_[i].zone_ = to_cstring(i + 1);
|
||||
zone_infos_[i].region_.info_ = to_cstring(i / 2 + 10);
|
||||
zone_infos_[i].region_.info_ = to_cstring(i/2 + 10);
|
||||
}
|
||||
|
||||
inited_ = true;
|
||||
loaded_ = true;
|
||||
}
|
||||
|
||||
ObZoneInfo* FakeZoneManager::locate_zone(const ObZone& zone)
|
||||
ObZoneInfo *FakeZoneManager::locate_zone(const ObZone &zone)
|
||||
{
|
||||
|
||||
ObZoneInfo* info = NULL;
|
||||
ObZoneInfo *info = NULL;
|
||||
for (int64_t i = 0; i < zone_count_; ++i) {
|
||||
if (zone_infos_[i].zone_ == zone) {
|
||||
info = &zone_infos_[i];
|
||||
@ -54,52 +57,54 @@ ObZoneInfo* FakeZoneManager::locate_zone(const ObZone& zone)
|
||||
return info;
|
||||
}
|
||||
|
||||
int FakeZoneManager::start_zone_merge(const ObZone& zone)
|
||||
int FakeZoneManager::start_zone_merge(const ObZone &zone)
|
||||
{
|
||||
ObZoneInfo* info = locate_zone(zone);
|
||||
ObZoneInfo *info = locate_zone(zone);
|
||||
if (info) {
|
||||
info->broadcast_version_.value_++;
|
||||
info->merge_start_time_.value_ = ::oceanbase::common::ObTimeUtility::current_time();
|
||||
info->last_merged_time_.value_ = 0;
|
||||
// info->broadcast_version_.value_++;
|
||||
// info->merge_start_time_.value_ = ::oceanbase::common::ObTimeUtility::current_time();
|
||||
// info->last_merged_time_.value_ = 0;
|
||||
return OB_SUCCESS;
|
||||
}
|
||||
return OB_ENTRY_NOT_EXIST;
|
||||
}
|
||||
|
||||
int FakeZoneManager::finish_zone_merge(
|
||||
const ObZone& zone, const int64_t merged_version, const int64_t all_merged_version)
|
||||
int FakeZoneManager::finish_zone_merge(const ObZone &zone, const int64_t merged_version,
|
||||
const int64_t all_merged_version)
|
||||
{
|
||||
ObZoneInfo* info = locate_zone(zone);
|
||||
UNUSED(merged_version);
|
||||
UNUSED(all_merged_version);
|
||||
ObZoneInfo *info = locate_zone(zone);
|
||||
if (info) {
|
||||
info->last_merged_version_.value_ = merged_version;
|
||||
info->last_merged_time_.value_ = ::oceanbase::common::ObTimeUtility::current_time();
|
||||
info->all_merged_version_.value_ = all_merged_version;
|
||||
info->is_merge_timeout_.value_ = 0;
|
||||
// info->last_merged_version_.value_ = merged_version;
|
||||
// info->last_merged_time_.value_ = ::oceanbase::common::ObTimeUtility::current_time();
|
||||
// info->all_merged_version_.value_ = all_merged_version;
|
||||
// info->is_merge_timeout_.value_ = 0;
|
||||
return OB_SUCCESS;
|
||||
}
|
||||
return OB_ENTRY_NOT_EXIST;
|
||||
}
|
||||
|
||||
int FakeZoneManager::set_zone_merge_timeout(const ObZone& zone)
|
||||
int FakeZoneManager::set_zone_merge_timeout(const ObZone &zone)
|
||||
{
|
||||
ObZoneInfo* info = locate_zone(zone);
|
||||
ObZoneInfo *info = locate_zone(zone);
|
||||
if (info) {
|
||||
info->is_merge_timeout_.value_ = 1;
|
||||
// info->is_merge_timeout_.value_ = 1;
|
||||
return OB_SUCCESS;
|
||||
}
|
||||
return OB_ENTRY_NOT_EXIST;
|
||||
}
|
||||
|
||||
int FakeZoneManager::set_zone_merging(const ObZone& zone)
|
||||
int FakeZoneManager::set_zone_merging(const ObZone &zone)
|
||||
{
|
||||
int ret = OB_ENTRY_NOT_EXIST;
|
||||
ObZoneInfo* info = locate_zone(zone);
|
||||
ObZoneInfo *info = locate_zone(zone);
|
||||
if (info) {
|
||||
info->is_merging_.value_ = 1;
|
||||
// info->is_merging_.value_ = 1;
|
||||
ret = OB_SUCCESS;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
} // end namespace rootserver
|
||||
} // end namespace oceanbase
|
||||
} // end namespace rootserver
|
||||
} // end namespace oceanbase
|
||||
|
||||
Reference in New Issue
Block a user