alter ob_tcp_invited_nodes max_length=64K
This commit is contained in:
@ -379,9 +379,18 @@ int check_sys_var_options(ObExecContext &ctx,
|
||||
EXPR_DEFINE_CAST_CTX(expr_ctx, CM_NONE);
|
||||
EXPR_GET_VARCHAR_V2(value_obj, val_str);
|
||||
if (OB_SUCC(ret)) {
|
||||
if(OB_UNLIKELY(val_str.length() > OB_MAX_SYS_VAR_VAL_LENGTH)) {
|
||||
int64_t sys_var_val_length = OB_MAX_SYS_VAR_VAL_LENGTH;
|
||||
if (set_var.var_name_ == OB_SV_TCP_INVITED_NODES) {
|
||||
uint64_t data_version = 0;
|
||||
if (OB_FAIL(GET_MIN_DATA_VERSION(set_var.actual_tenant_id_, data_version))) {
|
||||
LOG_WARN("fail to get sys data version", KR(ret));
|
||||
} else if (data_version >= DATA_VERSION_4_2_1_1) {
|
||||
sys_var_val_length = OB_MAX_TCP_INVITED_NODES_LENGTH;
|
||||
}
|
||||
}
|
||||
if (OB_SUCC(ret) && OB_UNLIKELY(val_str.length() > sys_var_val_length)) {
|
||||
ret = OB_SIZE_OVERFLOW;
|
||||
LOG_WARN("set sysvar value is overflow", "max length", OB_MAX_SYS_VAR_VAL_LENGTH, "value length", val_str.length(), K(sys_id), K(val_str));
|
||||
LOG_WARN("set sysvar value is overflow", "max length", sys_var_val_length, "value length", val_str.length(), K(sys_id), K(val_str));
|
||||
} else if (OB_FAIL(sys_var_list.push_back(obrpc::ObSysVarIdValue(sys_id, val_str)))) {
|
||||
LOG_WARN("failed to push back", K(sys_id), K(val_str), K(ret));
|
||||
}
|
||||
|
||||
@ -715,9 +715,19 @@ int ObVariableSetExecutor::update_global_variables(ObExecContext &ctx,
|
||||
EXPR_DEFINE_CAST_CTX(expr_ctx, CM_NONE);
|
||||
EXPR_GET_VARCHAR_V2(val, val_str);
|
||||
ObSysVarSchema sysvar_schema;
|
||||
if (OB_UNLIKELY(val_str.length() > OB_MAX_SYS_VAR_VAL_LENGTH)) {
|
||||
|
||||
int64_t sys_var_val_length = OB_MAX_SYS_VAR_VAL_LENGTH;
|
||||
if (set_var.var_name_ == OB_SV_TCP_INVITED_NODES) {
|
||||
uint64_t data_version = 0;
|
||||
if (OB_FAIL(GET_MIN_DATA_VERSION(set_var.actual_tenant_id_, data_version))) {
|
||||
LOG_WARN("fail to get sys data version", KR(ret));
|
||||
} else if (data_version >= DATA_VERSION_4_2_1_1) {
|
||||
sys_var_val_length = OB_MAX_TCP_INVITED_NODES_LENGTH;
|
||||
}
|
||||
}
|
||||
if (OB_SUCC(ret) && OB_UNLIKELY(val_str.length() > sys_var_val_length)) {
|
||||
ret = OB_SIZE_OVERFLOW;
|
||||
LOG_WARN("set sysvar value is overflow", "max length", OB_MAX_SYS_VAR_VAL_LENGTH,
|
||||
LOG_WARN("set sysvar value is overflow", "max length", sys_var_val_length,
|
||||
"value length", val_str.length(), "name", set_var.var_name_, "value", val_str);
|
||||
} else if (OB_FAIL(sysvar_schema.set_name(set_var.var_name_))) {
|
||||
LOG_WARN("set sysvar schema name failed", K(ret));
|
||||
|
||||
@ -79,14 +79,27 @@ int ObExprGetSysVar::calc_result_type2(ObExprResType &type,
|
||||
}
|
||||
if (ob_is_string_type(data_type)) {
|
||||
type.set_collation_level(CS_LEVEL_SYSCONST);
|
||||
type.set_length(OB_MAX_SYS_VAR_VAL_LENGTH);
|
||||
if (is_oracle_mode()) {
|
||||
type.set_collation_type(session->get_nls_collation());
|
||||
type.set_length_semantics(session->get_actual_nls_length_semantics());
|
||||
} else {
|
||||
ObCollationType conn_coll = CS_TYPE_INVALID;
|
||||
OZ(session->get_collation_connection(conn_coll));
|
||||
OX(type.set_collation_type(conn_coll));
|
||||
|
||||
int64_t sys_var_val_length = OB_MAX_SYS_VAR_VAL_LENGTH;
|
||||
if (0 == var_name.compare(OB_SV_TCP_INVITED_NODES)) {
|
||||
uint64_t data_version = 0;
|
||||
if (OB_FAIL(GET_MIN_DATA_VERSION(session->get_effective_tenant_id(), data_version))) {
|
||||
LOG_WARN("fail to get sys data version", KR(ret));
|
||||
} else if (data_version >= DATA_VERSION_4_2_1_1) {
|
||||
sys_var_val_length = OB_MAX_TCP_INVITED_NODES_LENGTH;
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
type.set_length(sys_var_val_length);
|
||||
if (is_oracle_mode()) {
|
||||
type.set_collation_type(session->get_nls_collation());
|
||||
type.set_length_semantics(session->get_actual_nls_length_semantics());
|
||||
} else {
|
||||
ObCollationType conn_coll = CS_TYPE_INVALID;
|
||||
OZ(session->get_collation_connection(conn_coll));
|
||||
OX(type.set_collation_type(conn_coll));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user