[CP] 对inner table放开column_store_only路由策略检查
This commit is contained in:
parent
7e54a9117e
commit
d22b2f7f2e
@ -864,7 +864,8 @@ int ObLogPlan::weak_select_replicas(const ObAddr &local_server,
|
||||
} else if (OB_FAIL(route_policy.calculate_replica_priority(local_server,
|
||||
phy_part_loc_info.get_ls_id(),
|
||||
replica_array,
|
||||
route_policy_ctx))) {
|
||||
route_policy_ctx,
|
||||
is_inner_table(phy_tbl_loc_info->get_ref_table_id())))) {
|
||||
LOG_WARN("fail to calculate replica priority", K(replica_array), K(route_policy_ctx), K(ret));
|
||||
} else if (OB_FAIL(route_policy.select_replica_with_priority(route_policy_ctx, replica_array, phy_part_loc_info))) {
|
||||
LOG_WARN("fail to select replica", K(replica_array), K(ret));
|
||||
|
@ -123,7 +123,8 @@ int ObRoutePolicy::filter_replica(const ObAddr &local_server,
|
||||
int ObRoutePolicy::calculate_replica_priority(const ObAddr &local_server,
|
||||
const ObLSID &ls_id,
|
||||
ObIArray<CandidateReplica>& candi_replicas,
|
||||
ObRoutePolicyCtx &ctx)
|
||||
ObRoutePolicyCtx &ctx,
|
||||
bool is_inner_table)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
if (OB_UNLIKELY(!is_inited_)) {
|
||||
@ -133,6 +134,7 @@ int ObRoutePolicy::calculate_replica_priority(const ObAddr &local_server,
|
||||
ObRoutePolicyType policy_type = get_calc_route_policy_type(ctx);
|
||||
if (1 == candi_replicas.count() &&
|
||||
policy_type == COLUMN_STORE_ONLY &&
|
||||
!is_inner_table &&
|
||||
!ObReplicaTypeCheck::is_columnstore_replica(candi_replicas.at(0).get_replica_type())) {
|
||||
ret = OB_NO_REPLICA_VALID;
|
||||
LOG_USER_ERROR(OB_NO_REPLICA_VALID);
|
||||
|
@ -178,7 +178,8 @@ public:
|
||||
int calculate_replica_priority(const ObAddr &local_server,
|
||||
const share::ObLSID &ls_id,
|
||||
common::ObIArray<CandidateReplica>& candi_replicas,
|
||||
ObRoutePolicyCtx &ctx);
|
||||
ObRoutePolicyCtx &ctx,
|
||||
bool is_inner_table = false);
|
||||
int init_candidate_replicas(common::ObIArray<CandidateReplica> &candi_replicas);
|
||||
int select_replica_with_priority(const ObRoutePolicyCtx &route_policy_ctx,
|
||||
const common::ObIArray<CandidateReplica> &replica_array,
|
||||
|
Loading…
x
Reference in New Issue
Block a user