oceanbase/unittest/clog/mock_ob_partition_log_service.h
2021-11-03 13:46:04 +08:00

1528 lines
41 KiB
C++

/**
* Copyright (c) 2021 OceanBase
* OceanBase CE is licensed under Mulan PubL v2.
* You can use this software according to the terms and conditions of the Mulan PubL v2.
* You may obtain a copy of Mulan PubL v2 at:
* http://license.coscl.org.cn/MulanPubL-2.0
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PubL v2 for more details.
*/
#ifndef OCEANBASE_MOCK_OB_PARTITION_LOG_SERVICE_H_
#define OCEANBASE_MOCK_OB_PARTITION_LOG_SERVICE_H_
#include "clog/ob_partition_log_service.h"
#include "clog/ob_log_define.h"
#include "election/ob_election_cb.h"
#include "storage/ob_base_storage_info.h"
#include "storage/ob_storage_log_type.h"
namespace oceanbase {
namespace common {
class ObILogAllocator;
}
namespace clog {
class MockPartitionLogService : public ObIPartitionLogService {
public:
virtual int init(ObILogEngine* log_engine, ObLogReplayEngineWrapper* replay_engine,
ObIFetchLogEngine* fetch_log_engine, election::ObIElectionMgr* election_mgr,
storage::ObPartitionService* partition_mgr, ObILogCallbackEngine* cb_engine, common::ObILogAllocator* alloc_mgr,
ObLogEventScheduler* event_scheduler, const common::ObAddr& self_addr, const common::ObVersion& version,
const common::ObPartitionKey& parition_key, const common::ObReplicaType replica_type,
const common::ObReplicaProperty replica_property, const common::ObBaseStorageInfo& base_storage_info,
const int16_t archive_restore_state, const bool can_repeat_create_standby,
ObRemoteLogQueryEngine* remote_log_query_engine, archive::ObArchiveMgr* archive_mgr,
archive::ObArchiveRestoreEngine* archive_restore_engine, const enum ObCreatePlsType& create_pls_type)
{
UNUSED(log_engine);
UNUSED(replay_engine);
UNUSED(fetch_log_engine);
UNUSED(election_mgr);
UNUSED(partition_mgr);
UNUSED(cb_engine);
UNUSED(alloc_mgr);
UNUSED(event_scheduler);
UNUSED(self_addr);
UNUSED(version);
UNUSED(parition_key);
UNUSED(replica_type);
UNUSED(replica_property);
UNUSED(base_storage_info);
UNUSED(archive_restore_state);
UNUSED(can_repeat_create_standby);
UNUSED(remote_log_query_engine);
UNUSED(archive_mgr);
UNUSED(archive_restore_engine);
UNUSED(create_pls_type);
return common::OB_SUCCESS;
}
virtual int force_set_server_list(const obrpc::ObServerList& server_list, const int64_t replica_num)
{
UNUSED(server_list);
UNUSED(replica_num);
return common::OB_SUCCESS;
}
virtual int get_leader_curr_member_list(const common::ObPartitionKey& pkey, common::ObMemberList& member_list) const
{
UNUSED(pkey);
UNUSED(member_list);
return OB_SUCCESS;
}
virtual int get_base_storage_info(common::ObBaseStorageInfo& base_storage_info, uint64_t& sw_last_replay_log_id)
{
UNUSED(base_storage_info);
UNUSED(sw_last_replay_log_id);
return OB_SUCCESS;
}
virtual int get_role_unsafe(int64_t& leader_epoch, common::ObTsWindows& changing_leader_windows) const
{
UNUSED(leader_epoch);
UNUSED(changing_leader_windows);
return OB_SUCCESS;
}
// virtual int get_curr_member_list(common::ObMemberList &member_list) const;
virtual int get_curr_member_list(const common::ObPartitionKey& pkey, common::ObMemberList& member_list) const
{
UNUSED(pkey);
UNUSED(member_list);
return OB_SUCCESS;
}
virtual int try_get_replica_num(int64_t& replica_num) const
{
UNUSED(replica_num);
return OB_SUCCESS;
}
virtual int receive_confirmed_info(const common::ObAddr& server, const int64_t src_cluster_id, const uint64_t log_id,
const ObConfirmedInfo& confirmed_info, const bool batch_committed)
{
UNUSED(server);
UNUSED(src_cluster_id);
UNUSED(log_id);
UNUSED(confirmed_info);
UNUSED(batch_committed);
return OB_SUCCESS;
}
virtual int submit_aggre_log(ObAggreBuffer* buffer, const int64_t base_timestamp)
{
UNUSED(buffer);
UNUSED(base_timestamp);
return OB_SUCCESS;
}
virtual int append_disk_log(
const ObLogEntry& log, const ObLogCursor& log_cursor, const int64_t accum_checksum, const bool batch_committed)
{
UNUSED(log);
UNUSED(log_cursor);
UNUSED(accum_checksum);
UNUSED(batch_committed);
return OB_SUCCESS;
}
virtual int set_online(const common::ObBaseStorageInfo& base_storage_info, const common::ObVersion& memstore_version)
{
UNUSED(base_storage_info);
UNUSED(memstore_version);
return OB_SUCCESS;
}
virtual int leader_keepalive(const int64_t keepalive_interval)
{
UNUSED(keepalive_interval);
return OB_SUCCESS;
}
virtual int sync_log_archive_progress()
{
return OB_SUCCESS;
}
virtual int process_archive_checkpoint(const uint64_t next_log_id, const int64_t next_log_ts)
{
UNUSED(next_log_id);
UNUSED(next_log_ts);
return OB_SUCCESS;
}
virtual int get_restore_leader_info(bool& is_restore_leader, int64_t& leader_takeover_ts)
{
UNUSED(is_restore_leader);
UNUSED(leader_takeover_ts);
return OB_SUCCESS;
}
virtual int receive_archive_log(const ObLogEntry& log_entry, const bool is_accum_checksum_valid,
const int64_t accum_checksum, const bool is_batch_committed)
{
UNUSED(log_entry);
UNUSED(is_accum_checksum_valid);
UNUSED(accum_checksum);
UNUSED(is_batch_committed);
return OB_SUCCESS;
}
int get_last_archived_log_id(
const int64_t incarnation, const int64_t log_archive_round, uint64_t& last_archive_log_id)
{
UNUSED(incarnation);
UNUSED(log_archive_round);
UNUSED(last_archive_log_id);
return OB_SUCCESS;
}
virtual int archive_checkpoint(const int64_t interval)
{
UNUSED(interval);
return OB_SUCCESS;
}
virtual int check_cascading_state()
{
return OB_SUCCESS;
}
virtual int fetch_register_server(const common::ObAddr& server, const common::ObReplicaType replica_type,
const int64_t next_replay_log_ts, const bool is_request_leader, const bool is_need_force_register,
const common::ObRegion& region, const int64_t cluster_id, const common::ObIDC& idc)
{
UNUSED(server);
UNUSED(replica_type);
UNUSED(next_replay_log_ts);
UNUSED(is_request_leader);
UNUSED(is_need_force_register);
UNUSED(region);
UNUSED(cluster_id);
UNUSED(idc);
return OB_SUCCESS;
}
virtual int fetch_register_server_resp_v2(const common::ObAddr& sender, const bool is_assign_parent_succeed,
const share::ObCascadMemberList& candidate_list, const int32_t msg_type)
{
UNUSED(sender);
UNUSED(is_assign_parent_succeed);
UNUSED(candidate_list);
UNUSED(msg_type);
return OB_SUCCESS;
}
virtual int replace_sick_child(
const common::ObAddr& sender, const int64_t cluster_id, const common::ObAddr& sick_child)
{
UNUSED(sender);
UNUSED(cluster_id);
UNUSED(sick_child);
return OB_SUCCESS;
}
int process_reject_msg(const common::ObAddr &server, const int64_t cluster_id,
const int32_t msg_type, const int64_t timestamp)
{
UNUSED(server);
UNUSED(cluster_id);
UNUSED(msg_type);
UNUSED(timestamp);
return OB_SUCCESS;
}
virtual int process_restore_alive_msg(const common::ObAddr& server, const uint64_t start_log_id)
{
UNUSED(server);
UNUSED(start_log_id);
return OB_SUCCESS;
}
virtual int process_restore_alive_req(
const common::ObAddr& server, const int64_t dst_cluster_id, const int64_t send_ts)
{
UNUSED(server);
UNUSED(dst_cluster_id);
UNUSED(send_ts);
return OB_SUCCESS;
}
virtual int process_restore_alive_resp(const common::ObAddr& server, const int64_t send_ts)
{
UNUSED(server);
UNUSED(send_ts);
return OB_SUCCESS;
}
virtual int process_restore_log_finish_msg(const common::ObAddr& src_server, const uint64_t log_id)
{
UNUSED(src_server);
UNUSED(log_id);
return OB_SUCCESS;
}
virtual int process_reregister_msg(
const common::ObAddr& src_server, const share::ObCascadMember& new_leader, const int64_t send_ts)
{
UNUSED(src_server);
UNUSED(new_leader);
UNUSED(send_ts);
return OB_SUCCESS;
}
virtual int get_log_archive_status(ObPGLogArchiveStatus& status)
{
UNUSED(status);
return OB_SUCCESS;
}
virtual int check_log_exist(const uint64_t log_id, bool& exist)
{
UNUSED(log_id);
UNUSED(exist);
return OB_SUCCESS;
}
virtual int process_sync_log_archive_progress_msg(
const common::ObAddr& server, const int64_t cluster_id, const ObPGLogArchiveStatus& status)
{
UNUSED(server);
UNUSED(cluster_id);
UNUSED(status);
return OB_SUCCESS;
}
virtual int get_role_unlock(int64_t& leader_epoch, common::ObTsWindows& changing_leader_windows) const
{
UNUSED(leader_epoch);
UNUSED(changing_leader_windows);
return OB_SUCCESS;
}
virtual int try_get_curr_member_list(common::ObMemberList& member_list) const
{
UNUSED(member_list);
return OB_SUCCESS;
}
virtual bool is_svr_in_member_list(const ObAddr& server) const
{
UNUSED(server);
return OB_SUCCESS;
}
virtual uint64_t get_start_log_id()
{
return OB_SUCCESS;
}
virtual uint64_t get_start_log_id_unsafe()
{
return OB_SUCCESS;
}
virtual int get_sw_max_log_id_info(uint64_t& sw_max_log_id, int64_t& sw_max_log_ts)
{
UNUSED(sw_max_log_id);
UNUSED(sw_max_log_ts);
return OB_SUCCESS;
}
virtual int query_max_flushed_ilog_id(uint64_t& last_flushed_ilog_id)
{
UNUSED(last_flushed_ilog_id);
return OB_SUCCESS;
}
virtual int wait_log_confirmed(const int64_t begin_time, const int64_t max_wait_time)
{
UNUSED(begin_time);
UNUSED(max_wait_time);
return OB_SUCCESS;
}
virtual int is_valid_member(const common::ObAddr& addr, bool& is_valid)
{
UNUSED(addr);
UNUSED(is_valid);
return OB_SUCCESS;
}
virtual int backfill_confirmed(const ObLogInfo& log_info, const bool batch_last_succeed)
{
UNUSED(log_info);
UNUSED(batch_last_succeed);
return OB_SUCCESS;
}
virtual int query_confirmed_log(const uint64_t log_id, transaction::ObTransID& trans_id, int64_t& submit_timestamp)
{
UNUSED(log_id);
UNUSED(trans_id);
UNUSED(submit_timestamp);
return OB_SUCCESS;
}
virtual int backfill_log(
const ObLogInfo& log_info, const ObLogCursor& log_cursor, const bool is_leader, ObISubmitLogCb* submit_cb)
{
UNUSED(log_info);
UNUSED(log_cursor);
UNUSED(is_leader);
UNUSED(submit_cb);
return OB_SUCCESS;
}
virtual int resubmit_log(const ObLogInfo& log_info, ObISubmitLogCb* submit_cb)
{
UNUSED(submit_cb);
UNUSED(log_info);
return OB_SUCCESS;
}
virtual int backfill_nop_log(const ObLogMeta& log_meta)
{
UNUSED(log_meta);
return OB_SUCCESS;
}
virtual int is_valid_member(const common::ObAddr& addr, bool& is_valid) const
{
UNUSED(addr);
UNUSED(is_valid);
return OB_SUCCESS;
}
virtual void destroy()
{
return;
}
virtual int stop_election()
{
return common::OB_SUCCESS;
}
virtual int remove_election()
{
return common::OB_SUCCESS;
}
virtual int get_log_id_timestamp(const int64_t prepare_version, ObLogMeta& log_meta)
{
UNUSED(prepare_version);
UNUSED(log_meta);
return common::OB_SUCCESS;
}
virtual int get_pls_epoch(int64_t& pls_epoch) const
{
UNUSED(pls_epoch);
return common::OB_SUCCESS;
}
virtual int try_update_keepalive()
{
return common::OB_SUCCESS;
}
virtual int submit_log(const char* buff, const int64_t size, const uint64_t log_id, const int64_t timestamp,
const storage::ObStorageLogType log_type, const common::ObVersion& version, ObISubmitLogCb* cb)
{
UNUSED(buff);
UNUSED(size);
UNUSED(log_id);
UNUSED(timestamp);
UNUSED(log_type);
UNUSED(cb);
UNUSED(version);
return common::OB_SUCCESS;
}
virtual int submit_log(const char* buff, const int64_t size, const storage::ObStorageLogType log_type,
const common::ObVersion& version, ObISubmitLogCb* cb, uint64_t& log_id, int64_t& log_timestamp)
{
UNUSED(buff);
UNUSED(size);
UNUSED(log_type);
UNUSED(cb);
UNUSED(version);
UNUSED(log_id);
UNUSED(log_timestamp);
return common::OB_SUCCESS;
}
virtual int submit_log(const char* buff, const int64_t size, const int64_t base_timestamp, ObISubmitLogCb* cb,
const bool need_aggre_commit, uint64_t& log_id, int64_t& log_timestamp)
{
UNUSED(buff);
UNUSED(size);
UNUSED(base_timestamp);
UNUSED(cb);
UNUSED(need_aggre_commit);
UNUSED(log_id);
UNUSED(log_timestamp);
return common::OB_SUCCESS;
}
virtual int force_set_replica_num(const int64_t replica_num)
{
UNUSED(replica_num);
return 0;
}
virtual int force_set_as_single_replica()
{
return 0;
}
virtual int force_reset_parent()
{
return 0;
}
virtual int force_set_parent(const common::ObAddr& new_parent)
{
UNUSED(new_parent);
return 0;
}
virtual int add_member(const common::ObMember& member, const int64_t quorum, obrpc::ObMCLogInfo& log_info)
{
UNUSED(member);
UNUSED(quorum);
UNUSED(log_info);
return common::OB_SUCCESS;
}
virtual int remove_member(const common::ObMember& member, const int64_t quorum, obrpc::ObMCLogInfo& log_info)
{
UNUSED(member);
UNUSED(quorum);
UNUSED(log_info);
return common::OB_SUCCESS;
}
virtual int is_member_change_done(const obrpc::ObMCLogInfo& log_info)
{
UNUSED(log_info);
return common::OB_SUCCESS;
}
virtual int get_minor_base_storage_info(common::ObBaseStorageInfo& base_storage_info)
{
UNUSED(base_storage_info);
return common::OB_SUCCESS;
}
virtual common::ObPartitionKey get_partition_key() const
{
return p_k_;
}
virtual int get_saved_base_storage_info(common::ObBaseStorageInfo& base_storage_info) const
{
UNUSED(base_storage_info);
return common::OB_SUCCESS;
}
virtual int get_leader(common::ObAddr& leader)
{
UNUSED(leader);
return common::OB_SUCCESS;
}
virtual int change_leader(const common::ObAddr& leader, common::ObTsWindows& changing_leader_windows)
{
UNUSED(leader);
UNUSED(changing_leader_windows);
return common::OB_SUCCESS;
}
virtual int get_role(common::ObRole& role) const
{
UNUSED(role);
return common::OB_SUCCESS;
}
virtual int set_archive_restore_state(const int16_t archive_restore_state)
{
UNUSED(archive_restore_state);
return common::OB_SUCCESS;
}
virtual bool is_archive_restoring() const
{
return false;
}
virtual common::ObAddr get_restore_leader() const
{
common::ObAddr fake_addr;
return fake_addr;
}
virtual int try_release_aggre_buffer()
{
return common::OB_SUCCESS;
}
virtual int get_role_unsafe(bool& in_changing_leader_windows, int64_t& leader_epoch) const
{
UNUSED(in_changing_leader_windows);
UNUSED(leader_epoch);
return common::OB_SUCCESS;
}
virtual int get_role_unlock(bool& in_changing_leader_windows, int64_t& leader_epoch) const
{
UNUSED(in_changing_leader_windows);
UNUSED(leader_epoch);
return common::OB_SUCCESS;
}
virtual int get_leader_curr_member_list(common::ObMemberList &member_list) const
{
UNUSED(member_list);
return common::OB_SUCCESS;
}
virtual int get_leader(common::ObAddr& leader) const
{
UNUSED(leader);
return common::OB_SUCCESS;
}
virtual int get_clog_parent_for_migration(common::ObAddr &parent, int64_t &cluster_id) const
{
UNUSED(parent);
UNUSED(cluster_id);
return common::OB_SUCCESS;
}
virtual int get_curr_member_list(common::ObMemberList& member_list) const
{
UNUSED(member_list);
return common::OB_SUCCESS;
}
virtual int get_curr_member_list_for_report(common::ObMemberList& member_list) const
{
UNUSED(member_list);
return common::OB_SUCCESS;
}
virtual int update_min_file_id(uint64_t log_id)
{
UNUSED(log_id);
return common::OB_SUCCESS;
}
virtual uint64_t get_min_file_id() const
{
return 0;
}
virtual int update_log_range(const file_id_t file_id, const uint64_t log_id)
{
UNUSED(file_id);
UNUSED(log_id);
return common::OB_SUCCESS;
}
virtual int check_if_start_log_task_empty(bool& is_empty)
{
UNUSED(is_empty);
return common::OB_SUCCESS;
}
virtual int receive_log(const ObLogEntry& log_entry, const common::ObAddr& server, const int64_t cluster_id,
const common::ObProposalID& proposal_id, const ObPushLogMode push_mode, const ReceiveLogType type)
{
UNUSED(log_entry);
UNUSED(server);
UNUSED(cluster_id);
UNUSED(proposal_id);
UNUSED(push_mode);
UNUSED(type);
return common::OB_SUCCESS;
}
virtual int receive_local_log(const ObLogEntry& log_entry)
{
UNUSED(log_entry);
return common::OB_SUCCESS;
}
virtual int ack_log(const common::ObAddr& server, const uint64_t log_id, const common::ObProposalID& proposal_id)
{
UNUSED(server);
UNUSED(log_id);
UNUSED(proposal_id);
return common::OB_SUCCESS;
}
virtual int standby_ack_log(const common::ObAddr& server, const int64_t cluster_id, const uint64_t log_id,
const common::ObProposalID& proposal_id)
{
UNUSED(server);
UNUSED(cluster_id);
UNUSED(log_id);
UNUSED(proposal_id);
return common::OB_SUCCESS;
}
virtual int fake_ack_log(const ObAddr& server, const uint64_t log_id, const ObProposalID& proposal_id)
{
UNUSED(server);
UNUSED(log_id);
UNUSED(proposal_id);
return common::OB_SUCCESS;
}
virtual int fake_receive_log(const ObAddr& server, const uint64_t log_id, const ObProposalID& proposal_id)
{
UNUSED(server);
UNUSED(log_id);
UNUSED(proposal_id);
return common::OB_SUCCESS;
}
virtual int get_log(const common::ObAddr& server, const uint64_t log_id, const int64_t log_num,
const ObFetchLogType fetch_type, const common::ObProposalID& proposal_id, const int64_t cluster_id,
const common::ObReplicaType replica_type, const int64_t network_limit, const uint64_t max_confirmed_log_id)
{
UNUSED(server);
UNUSED(log_id);
UNUSED(log_num);
UNUSED(fetch_type);
UNUSED(proposal_id);
UNUSED(cluster_id);
UNUSED(replica_type);
UNUSED(network_limit);
UNUSED(max_confirmed_log_id);
return common::OB_SUCCESS;
}
virtual int get_membership_log(char* buff, const int64_t buff_len, int64_t& used_len)
{
UNUSED(buff);
UNUSED(buff_len);
UNUSED(used_len);
return common::OB_SUCCESS;
}
virtual int get_max_log_id(
const common::ObAddr& server, const int64_t cluster_id, const common::ObProposalID& proposal_id)
{
UNUSED(server);
UNUSED(cluster_id);
UNUSED(proposal_id);
return common::OB_SUCCESS;
}
virtual int receive_max_log_id(const common::ObAddr& server, const uint64_t max_log_id,
const ObProposalID& proposal_id, const int64_t max_log_ts)
{
UNUSED(server);
UNUSED(max_log_id);
UNUSED(proposal_id);
UNUSED(max_log_ts);
return common::OB_SUCCESS;
}
virtual int append_disk_log(const ObLogEntry& log, const ObLogCursor& log_cursor, const int64_t accum_checksum)
{
UNUSED(log);
UNUSED(log_cursor);
UNUSED(accum_checksum);
return common::OB_SUCCESS;
}
virtual int is_offline(bool& is_temp)
{
is_temp = false;
return common::OB_SUCCESS;
}
virtual int set_offline()
{
return common::OB_SUCCESS;
}
virtual int set_scan_disk_log_finished()
{
return common::OB_SUCCESS;
}
virtual int switch_log()
{
int ret = OB_SUCCESS;
return ret;
}
virtual uint64_t get_curr_file_min_log_id() const
{
return 0;
}
virtual uint64_t get_curr_file_max_log_id() const
{
return 0;
}
virtual int on_election_role_change()
{
return common::OB_SUCCESS;
}
virtual int on_change_leader_retry(const common::ObAddr&, common::ObTsWindows&)
{
return common::OB_SUCCESS;
}
virtual int switch_state()
{
return common::OB_SUCCESS;
}
virtual int switch_state(bool& need_retry)
{
UNUSED(need_retry);
return common::OB_SUCCESS;
}
virtual int check_mc_and_sliding_window_state()
{
return common::OB_SUCCESS;
}
virtual int check_lower_level_member_state()
{
return common::OB_SUCCESS;
}
virtual bool is_heartbeat_timeout(const common::ObAddr& server) const
{
UNUSED(server);
return false;
}
virtual int check_replica_state()
{
return common::OB_SUCCESS;
}
virtual int send_heartbeat_to_leader()
{
return common::OB_SUCCESS;
}
virtual int check_mc_timeout()
{
return common::OB_SUCCESS;
}
virtual int check_stale_member(common::ObMember& stale_server)
{
UNUSED(stale_server);
return common::OB_SUCCESS;
}
virtual void check_memory_usage()
{
return;
}
virtual int renew_ms_log_flush_cb(const storage::ObMsInfoTask& arg)
{
UNUSED(arg);
return common::OB_SUCCESS;
}
virtual int flush_cb(const oceanbase::clog::ObLogFlushCbArg& arg)
{
UNUSED(arg);
return common::OB_SUCCESS;
}
virtual int set_election_leader(const common::ObAddr& leader, const int64_t lease_start)
{
UNUSED(leader);
UNUSED(lease_start);
return common::OB_SUCCESS;
}
virtual bool need_quicker_polling() const
{
return true;
}
virtual int set_next_index_log_id(const uint64_t log_id, const int64_t accum_checksum)
{
UNUSED(log_id);
UNUSED(accum_checksum);
return common::OB_SUCCESS;
}
virtual int receive_confirmed_info(
const common::ObAddr& server, const uint64_t log_id, const ObConfirmedInfo& confirm_info)
{
UNUSED(server);
UNUSED(log_id);
UNUSED(confirm_info);
return common::OB_SUCCESS;
}
virtual int is_in_sync(bool& is_sync) const
{
UNUSED(is_sync);
return common::OB_SUCCESS;
}
virtual int is_log_sync_with_leader(bool& is_sync) const
{
UNUSED(is_sync);
return common::OB_SUCCESS;
}
virtual int is_log_sync_with_primary(const int64_t switchover_epoch, bool& is_sync) const
{
UNUSED(switchover_epoch);
UNUSED(is_sync);
return common::OB_SUCCESS;
}
virtual bool vt_is_in_sync() const
{
return true;
}
virtual int update_max_confirmed_log_id(const common::ObAddr& server, const uint64_t log_id)
{
UNUSED(server);
UNUSED(log_id);
return common::OB_SUCCESS;
}
virtual int migrate_set_base_storage_info(const common::ObBaseStorageInfo& base_storage_info)
{
UNUSED(base_storage_info);
return common::OB_SUCCESS;
}
virtual int restore_replayed_log(const common::ObBaseStorageInfo& base_storage_info)
{
UNUSED(base_storage_info);
return common::OB_SUCCESS;
}
virtual uint64_t get_last_replay_log_id() const
{
return OB_INVALID_ID;
}
virtual int64_t get_last_submit_timestamp() const
{
return OB_INVALID_ID;
}
virtual void get_last_replay_log(uint64_t& log_id, int64_t& ts)
{
UNUSED(log_id);
UNUSED(ts);
}
virtual uint64_t get_last_slide_log_id()
{
return OB_INVALID_ID;
}
virtual int report_task_stat()
{
return common::OB_SUCCESS;
}
virtual int64_t get_membership_timestamp() const
{
return 0;
}
virtual int get_role_and_last_leader_active_time(oceanbase::common::ObRole& role, int64_t& timestamp) const
{
UNUSED(role);
UNUSED(timestamp);
return common::OB_SUCCESS;
}
virtual int try_replay(const bool need_async, bool& is_replayed, bool& unused)
{
UNUSED(need_async);
UNUSED(is_replayed);
UNUSED(unused);
return common::OB_SUCCESS;
}
virtual int follower_report_max_confirmed_log_id()
{
return common::OB_SUCCESS;
}
virtual int set_online(const storage::ObSavedStorageInfo& base_storage_info)
{
UNUSED(base_storage_info);
return common::OB_SUCCESS;
}
virtual int get_dst_leader_candidate(common::ObMemberList& member_list) const
{
UNUSED(member_list);
return common::OB_SUCCESS;
}
virtual int enable_replay()
{
return common::OB_SUCCESS;
}
virtual int disable_replay()
{
return common::OB_SUCCESS;
}
virtual int get_curr_leader_and_memberlist(common::ObAddr& leader, common::ObRole& role,
common::ObMemberList& curr_member_list, common::ObChildReplicaList& children_list) const
{
UNUSED(leader);
UNUSED(role);
UNUSED(curr_member_list);
UNUSED(children_list);
return common::OB_SUCCESS;
}
virtual int get_max_data_version(ObVersion& max_data_version) const
{
UNUSED(max_data_version);
return common::OB_SUCCESS;
}
virtual int remove_notify()
{
return common::OB_SUCCESS;
}
virtual int continue_notify()
{
return common::OB_SUCCESS;
}
virtual int on_get_election_priority(election::ObElectionPriority& priority)
{
UNUSED(priority);
return common::OB_SUCCESS;
}
virtual int set_follower_active()
{
return common::OB_SUCCESS;
}
virtual int get_proposal_id(common::ObProposalID& proposal_id) const
{
UNUSED(proposal_id);
return common::OB_SUCCESS;
}
int get_role_and_leader_epoch(ObRole& role, int64_t& leader_epoch)
{
UNUSED(role);
UNUSED(leader_epoch);
return common::OB_SUCCESS;
}
int get_role_and_leader_epoch(common::ObRole& role, int64_t& leader_epoch, int64_t& takeover_time)
{
UNUSED(role);
UNUSED(leader_epoch);
UNUSED(takeover_time);
return common::OB_SUCCESS;
}
int get_cursor_from_log_index(uint64_t log_id, ObLogCursorExt& csr)
{
UNUSED(log_id);
UNUSED(csr);
return OB_SUCCESS;
}
int get_cursor_from_log_index(const uint64_t log_id, ObLogCursor& cursor)
{
int ret = OB_SUCCESS;
UNUSED(log_id);
UNUSED(cursor);
return ret;
}
int get_follower_log_delay(int64_t& log_delay)
{
UNUSED(log_delay);
return common::OB_SUCCESS;
}
int get_next_replay_log_info(uint64_t& next_replay_log_id, int64_t& next_replay_log_timestamp)
{
UNUSED(next_replay_log_id);
UNUSED(next_replay_log_timestamp);
return common::OB_SUCCESS;
}
int process_keepalive_msg(const common::ObAddr& server, const int64_t cluster_id, const uint64_t next_log_id,
const int64_t next_log_ts_lb, const uint64_t deliver_cnt)
{
UNUSED(server);
UNUSED(cluster_id);
UNUSED(next_log_id);
UNUSED(next_log_ts_lb);
UNUSED(deliver_cnt);
return common::OB_SUCCESS;
}
virtual int process_restore_leader_alive_msg(const common::ObAddr& server, const int64_t resp_time)
{
UNUSED(server);
UNUSED(resp_time);
return common::OB_SUCCESS;
}
virtual int process_leader_max_log_msg(const common::ObAddr& server, const int64_t switchover_epoch,
const uint64_t leader_max_log_id, const int64_t leader_next_log_ts)
{
UNUSED(server);
UNUSED(switchover_epoch);
UNUSED(leader_max_log_id);
UNUSED(leader_next_log_ts);
return common::OB_SUCCESS;
}
virtual int notify_log_missing(
const common::ObAddr& leader, const uint64_t start_log_id, const bool is_in_member_list, const int32_t msg_type)
{
UNUSED(leader);
UNUSED(start_log_id);
UNUSED(is_in_member_list);
UNUSED(msg_type);
return common::OB_SUCCESS;
}
virtual int receive_replica_heartbeat(const common::ObAddr& server, const common::ObRegion& region,
const int32_t replica_type, const uint64_t max_log_id, const common::ObAddr& register_leader)
{
UNUSED(server);
UNUSED(region);
UNUSED(replica_type);
UNUSED(max_log_id);
UNUSED(register_leader);
return common::OB_SUCCESS;
}
virtual int reject_server(const common::ObAddr& server, const int32_t msg_type)
{
UNUSED(server);
UNUSED(msg_type);
return common::OB_SUCCESS;
}
virtual int process_reject_msg(const common::ObAddr& server, const int32_t msg_type)
{
UNUSED(server);
UNUSED(msg_type);
return common::OB_SUCCESS;
}
virtual int get_log_id_range(uint64_t& start_log_id, int64_t& start_ts, uint64_t& end_log_id, int64_t& end_ts)
{
start_log_id = OB_INVALID_ID;
start_ts = OB_INVALID_TIMESTAMP;
end_log_id = OB_INVALID_ID;
end_ts = OB_INVALID_TIMESTAMP;
return OB_SUCCESS;
}
virtual int truncate_log_index(const uint64_t new_start_id)
{
UNUSED(new_start_id);
return OB_SUCCESS;
}
virtual ObClogVirtualStat* alloc_clog_virtual_stat()
{
return static_cast<ObClogVirtualStat*>(NULL);
}
virtual int revert_clog_virtual_stat(ObClogVirtualStat* virtual_stat)
{
UNUSED(virtual_stat);
return OB_SUCCESS;
}
virtual int64_t get_sync_timestamp()
{
return OB_INVALID_TIMESTAMP;
}
virtual int update_log_sync_state(const uint64_t log_id_, const int64_t sync_timestamp)
{
UNUSED(log_id_);
UNUSED(sync_timestamp);
return common::OB_SUCCESS;
}
virtual int reduce_active_used()
{
return common::OB_SUCCESS;
}
virtual int async_get_log(const common::ObAddr& server, const int64_t cluster_id, const uint64_t start_log_id,
const uint64_t end_log_id, const ObFetchLogType fetch_type, const common::ObProposalID& proposal_id,
const int64_t network_limit)
{
UNUSED(server);
UNUSED(cluster_id);
UNUSED(start_log_id);
UNUSED(end_log_id);
UNUSED(fetch_type);
UNUSED(proposal_id);
UNUSED(network_limit);
return common::OB_SUCCESS;
}
virtual int get_next_timestamp(const uint64_t last_log_id, int64_t& res_ts)
{
UNUSED(last_log_id);
res_ts = OB_INVALID_TIMESTAMP;
return common::OB_SUCCESS;
}
virtual int get_next_served_log_info_for_leader(uint64_t& next_served_log_id, int64_t& next_served_log_ts)
{
next_served_log_id = OB_INVALID_ID;
next_served_log_ts = OB_INVALID_TIMESTAMP;
return common::OB_SUCCESS;
}
virtual int try_truncate(const common::ObBaseStorageInfo& base_storage_info)
{
UNUSED(base_storage_info);
return common::OB_SUCCESS;
}
virtual int update_leader_max_confirmed_log_id(const common::ObAddr& server, uint64_t log_id)
{
UNUSED(server);
UNUSED(log_id);
return common::OB_SUCCESS;
}
virtual int pre_prepare_freeze()
{
return common::OB_SUCCESS;
}
virtual int commit_abort_freeze()
{
return common::OB_SUCCESS;
}
virtual int get_cur_ilog_progress(uint64_t& log_id, int64_t& ts, file_id_t& file_id)
{
UNUSED(log_id);
UNUSED(ts);
UNUSED(file_id);
return common::OB_SUCCESS;
}
virtual int index_flush_cb(const uint64_t log_id, const int64_t ts)
{
UNUSED(log_id);
UNUSED(ts);
return common::OB_SUCCESS;
}
virtual int is_ilog_flushed(uint64_t log_id, bool& is_flushed)
{
UNUSED(log_id);
UNUSED(is_flushed);
return common::OB_SUCCESS;
}
virtual int get_sw_max_log_id(uint64_t& sw_max_log_id)
{
UNUSED(sw_max_log_id);
return common::OB_SUCCESS;
}
virtual uint64_t get_next_index_log_id() const
{
return 0;
}
virtual int64_t get_scan_confirmed_log_cnt() const
{
return 0;
}
virtual int allow_gc(bool& allow)
{
UNUSED(allow);
return common::OB_SUCCESS;
}
virtual int try_truncate_log_index(const uint64_t new_start_id, const bool new_merged)
{
UNUSED(new_merged);
UNUSED(new_start_id);
return common::OB_SUCCESS;
}
virtual int wait_log_callback_done()
{
return common::OB_SUCCESS;
}
virtual void set_zone_priority(const uint64_t zone_priority)
{
UNUSED(zone_priority);
}
virtual int set_region(const common::ObRegion& region)
{
UNUSED(region);
return common::OB_SUCCESS;
}
virtual int set_idc(const common::ObIDC& idc)
{
UNUSED(idc);
return common::OB_SUCCESS;
}
virtual enum ObReplicaType get_replica_type()
{
return ObReplicaType::REPLICA_TYPE_FULL;
}
virtual int set_replica_type(const enum ObReplicaType replica_type)
{
UNUSED(replica_type);
return common::OB_SUCCESS;
}
virtual int check_is_normal_partition(bool& is_normal_partition) const
{
UNUSED(is_normal_partition);
return common::OB_SUCCESS;
}
virtual int get_election_priority(election::ObElectionPriority& priority) const
{
UNUSED(priority);
return common::OB_SUCCESS;
}
virtual int get_candidate_info(ObCandidateInfo& info)
{
UNUSED(info);
return common::OB_SUCCESS;
}
virtual int pre_change_member(const int64_t quorum, const bool is_add_member, int64_t& mc_timestamp,
ObMemberList& member_list, ObProposalID& proposal_id)
{
int ret = OB_SUCCESS;
UNUSED(quorum);
UNUSED(is_add_member);
UNUSED(mc_timestamp);
UNUSED(member_list);
UNUSED(proposal_id);
return ret;
}
virtual int set_member_changing()
{
int ret = OB_SUCCESS;
return ret;
}
virtual int reset_member_changing()
{
int ret = OB_SUCCESS;
return ret;
}
virtual int wait_log_confirmed()
{
int ret = OB_SUCCESS;
return ret;
}
virtual int batch_change_member(const common::ObMember& member, const int64_t quorum, const int64_t mc_timestamp,
const common::ObProposalID& proposal_id, const bool is_add_member, obrpc::ObMCLogInfo& mc_log_info)
{
int ret = OB_SUCCESS;
UNUSED(member);
UNUSED(quorum);
UNUSED(mc_timestamp);
UNUSED(proposal_id);
UNUSED(is_add_member);
UNUSED(mc_log_info);
return ret;
}
virtual bool need_skip_when_check_start_service() const
{
bool bool_ret = false;
return bool_ret;
}
virtual int broadcast_info()
{
return 0;
}
virtual int update_broadcast_info(
const common::ObAddr& server, const common::ObReplicaType& replica_type, const uint64_t max_confirmed_log_id)
{
UNUSED(server);
UNUSED(replica_type);
UNUSED(max_confirmed_log_id);
return 0;
}
virtual int get_recyclable_log_id(uint64_t& log_id) const
{
UNUSED(log_id);
return 0;
}
virtual int get_partition_max_log_id(uint64_t& partition_max_log_id)
{
int ret = OB_SUCCESS;
UNUSED(partition_max_log_id);
return ret;
}
virtual uint64_t get_max_confirmed_log_id() const
{
return 0;
}
virtual int is_need_rebuild(bool& need_rebuild) const
{
UNUSED(need_rebuild);
return OB_NOT_SUPPORTED;
}
virtual bool is_leader_active() const
{
return false;
}
virtual int query_confirmed_log(const uint64_t log_id, ObLogEntry& log_entry)
{
UNUSED(log_id);
UNUSED(log_entry);
return OB_NOT_SUPPORTED;
}
virtual int change_quorum(const common::ObMemberList& curr_member_list, const int64_t curr_quorum,
const int64_t new_quorum, obrpc::ObMCLogInfo& log_info)
{
int ret = OB_SUCCESS;
UNUSED(curr_member_list);
UNUSED(curr_quorum);
UNUSED(new_quorum);
UNUSED(log_info);
return ret;
}
virtual int get_replica_num(int64_t& replica_num) const
{
int ret = OB_SUCCESS;
UNUSED(replica_num);
return ret;
}
virtual bool need_add_event_task()
{
return true;
}
virtual void reset_has_event_task()
{
return;
}
virtual int check_can_receive_batch_log(const uint64_t log_id)
{
UNUSED(log_id);
return common::OB_SUCCESS;
}
virtual int update_max_flushed_ilog_id(const uint64_t log_id)
{
UNUSED(log_id);
return common::OB_SUCCESS;
}
virtual int reset_has_pop_task()
{
return common::OB_SUCCESS;
}
virtual int get_cursor_with_cache(const int64_t scan_thread_index, const uint64_t log_id, ObLogCursorExt& log_cursor)
{
int ret = OB_SUCCESS;
UNUSED(scan_thread_index);
UNUSED(log_id);
UNUSED(log_cursor);
return ret;
}
virtual int set_member_list(const ObMemberList& member_list, const int64_t replica_num,
const common::ObAddr& assigned_leader, const int64_t lease_start)
{
UNUSED(member_list);
UNUSED(replica_num);
UNUSED(assigned_leader);
UNUSED(lease_start);
return OB_SUCCESS;
}
virtual int try_freeze_aggre_buffer()
{
return OB_SUCCESS;
}
virtual int leader_send_max_log_info()
{
return OB_SUCCESS;
}
virtual bool has_valid_next_replay_log_ts() const
{
return false;
}
virtual int process_check_rebuild_req(
const common::ObAddr& server, const uint64_t start_log_id, const int64_t cluster_id)
{
UNUSED(server);
UNUSED(start_log_id);
UNUSED(cluster_id);
return OB_SUCCESS;
}
virtual void get_max_majority_log(uint64_t& log_id, int64_t& log_ts) const
{
log_id = 0;
log_ts = 0;
}
virtual int change_restore_leader(const common::ObAddr& leader)
{
UNUSED(leader);
return OB_SUCCESS;
}
virtual int process_restore_takeover_msg(const int64_t send_ts)
{
UNUSED(send_ts);
return OB_SUCCESS;
}
virtual int set_restore_fetch_log_finished(ObArchiveFetchLogResult result)
{
UNUSED(result);
return OB_SUCCESS;
}
virtual int try_update_next_replay_log_ts_in_restore(const int64_t ts)
{
UNUSED(ts);
return OB_SUCCESS;
}
virtual int handle_standby_prepare_req(
const ObAddr& server, const int64_t cluster_id, const ObProposalID& proposal_id)
{
UNUSED(server);
UNUSED(cluster_id);
UNUSED(proposal_id);
return OB_SUCCESS;
}
virtual int handle_standby_prepare_resp(const ObAddr& server, const ObProposalID& proposal_id,
const uint64_t ms_log_id, const int64_t membership_version, const ObMemberList& member_list)
{
UNUSED(server);
UNUSED(proposal_id);
UNUSED(ms_log_id);
UNUSED(membership_version);
UNUSED(member_list);
return OB_SUCCESS;
}
virtual int ack_renew_ms_log(
const ObAddr& server, const uint64_t log_id, const int64_t submit_timestamp, const ObProposalID& ms_proposal_id)
{
UNUSED(server);
UNUSED(log_id);
UNUSED(submit_timestamp);
UNUSED(ms_proposal_id);
return OB_SUCCESS;
}
virtual int receive_renew_ms_log_confirmed_info(const common::ObAddr& server, const uint64_t log_id,
const common::ObProposalID& ms_proposal_id, const ObConfirmedInfo& confirmed_info)
{
UNUSED(server);
UNUSED(log_id);
UNUSED(ms_proposal_id);
UNUSED(confirmed_info);
return OB_SUCCESS;
}
virtual int check_and_set_restore_progress()
{
return OB_SUCCESS;
}
virtual int restore_leader_try_confirm_log()
{
return OB_SUCCESS;
}
virtual int standby_add_member(const common::ObMember& member, const int64_t quorum, obrpc::ObMCLogInfo& log_info)
{
UNUSED(member);
UNUSED(quorum);
UNUSED(log_info);
return OB_SUCCESS;
}
virtual int standby_remove_member(const common::ObMember& member, const int64_t quorum, obrpc::ObMCLogInfo& log_info)
{
UNUSED(member);
UNUSED(quorum);
UNUSED(log_info);
return OB_SUCCESS;
}
virtual int receive_renew_ms_log(const ObLogEntry& log_entry, const ObAddr& server, const int64_t cluster_id,
const ObProposalID& proposal_id, const ReceiveLogType type)
{
UNUSED(log_entry);
UNUSED(server);
UNUSED(cluster_id);
UNUSED(proposal_id);
UNUSED(type);
return OB_SUCCESS;
}
virtual int standby_pre_change_member(const int64_t quorum, const bool is_add_member, int64_t& mc_timestamp,
uint64_t max_log_id, ObMemberList& member_list, ObProposalID& proposal_id)
{
UNUSED(quorum);
UNUSED(is_add_member);
UNUSED(mc_timestamp);
UNUSED(max_log_id);
UNUSED(member_list);
UNUSED(proposal_id);
return OB_SUCCESS;
}
virtual int standby_wait_log_confirmed(
const int64_t begin_time, const int64_t max_wait_time, const uint64_t max_log_id)
{
UNUSED(begin_time);
UNUSED(max_wait_time);
UNUSED(max_log_id);
return OB_SUCCESS;
}
virtual int standby_batch_change_member(const common::ObMember& member, const int64_t quorum,
const int64_t mc_timestamp, const uint64_t max_log_id, const common::ObProposalID& proposal_id,
const bool is_add_member, obrpc::ObMCLogInfo& mc_log_info)
{
UNUSED(member);
UNUSED(quorum);
UNUSED(mc_timestamp);
UNUSED(max_log_id);
UNUSED(proposal_id);
UNUSED(is_add_member);
UNUSED(mc_log_info);
return OB_SUCCESS;
}
virtual int standby_update_protection_level()
{
return OB_SUCCESS;
}
virtual int get_standby_leader_protection_level(uint32_t& protection_level)
{
UNUSED(protection_level);
return OB_SUCCESS;
}
virtual int primary_process_protect_mode_switch()
{
return OB_SUCCESS;
}
virtual int handle_query_sync_start_id_req(const ObAddr& server, const int64_t cluster_id, const int64_t send_ts)
{
UNUSED(server);
UNUSED(cluster_id);
UNUSED(send_ts);
return OB_SUCCESS;
}
virtual int handle_sync_start_id_resp(
const ObAddr& server, const int64_t cluster_id, const int64_t original_send_ts, const uint64_t sync_start_id)
{
UNUSED(server);
UNUSED(cluster_id);
UNUSED(original_send_ts);
UNUSED(sync_start_id);
return OB_SUCCESS;
}
virtual bool has_valid_member_list() const
{
return true;
}
virtual bool is_standby_restore_state() const
{
return true;
}
virtual int process_restore_check_req(const common::ObAddr &server,
const int64_t cluster_id,
const ObRestoreCheckType restore_type)
{
UNUSED(server);
UNUSED(cluster_id);
UNUSED(restore_type);
return OB_SUCCESS;
}
virtual int check_and_try_leader_revoke(const election::ObElection::RevokeType& revoke_type)
{
UNUSED(revoke_type);
return OB_SUCCESS;
}
int try_update_leader_from_loc_cache()
{
return OB_SUCCESS;
}
virtual int process_query_restore_end_id_resp(const common::ObAddr &server,
const uint64_t last_restore_log_id) override
{
UNUSED(server);
UNUSED(last_restore_log_id);
return OB_SUCCESS;
}
private:
common::ObPartitionKey p_k_;
};
} // namespace clog
} // namespace oceanbase
#endif // OCEANBASE_CLOG_MOCK_OB_PARTITION_LOG_SERVICE_H_