语句查询报错Size overflow

社区版4.2.0.0版本
我进入机器后执行语句报错,应该如何排查问题呢?
select * from suspicious limit 1;
ERROR 4019 (HY000): Size overflow

1 个赞
  1. 如果 SQL 执行立刻报错的,推荐使用系统租户获取 trace_id。
    a. 登录系统租户,打开enable_rich_error_msg 参数
    alter system set enable_rich_error_msg=true;
    b.登录业务租户,执行报错 SQL 语句,会直接返回执行节点 IP 和 trace_id 信息。
    obclient [test]> select count(*) from t2;
    ERROR 1146 (42S02): Table ‘test.t2’ doesn’t exist
    [xx.xx.xx.1:2882] [2024-04-13 20:10:20.292087] [YB420BA1CC68-000615A0A8EA5E38-0-0]
    c.去 xx.xx.xx.1 节点过滤日志,如果最新日志无法过滤到,可以正则匹配多个日志进行过滤
    [root@x.x.x.1 ~]$ grep “YB420BA1CC68-000615A0A8EA5E38-0-0” rootservice.log
    [root@x.x.x.1 ~]$ grep “YB420BA1CC68-000615A0A8EA5E38-0-0” observer.log
    d.获取完日志信息后,关闭enable_rich_error_msg参数
    alter system set enable_rich_error_msg=false;
    按照上面步骤 排查 把日志发一下
2 个赞

ob4.2.0.0不建议使用了 目前推荐的LTS版本是ob4.2.5的 是长期支持的版本

1 个赞

执行这个报错了,
alter system set enable_rich_error_msg=true;
ERROR 4019 (HY000): Size overflow
然后执行select * from suspicious limit 1;
ERROR 4019 (HY000): Size overflow,并没有traceid

1 个赞

在执行一下 发一下observer.log的日志

1 个赞

大概内容是这样的,INFO [PROXY.SS] ob_mysql_client_session.cpp:652 [70208][Y0-00007F67645F1BA0] [lt=6] [dc=0] client session do_io_close((*this={this:0x7f674e0e9f20, is_proxy_mysql_client:true, is_waiting_trans_first_request:false, need_delete_cluster:false, is_first_dml_sql_got:true, vc_ready_killed:false, active:true, magic:19132429, conn_decrease:true, current_tid:70208, cs_id:2147516488, proxy_sessid:0, session_info:{is_inited:true, priv_info:{has_all_privilege:false, cs_id:2147516488, user_priv_set:-1, cluster_name:“oceanbase”, tenant_name:“sys”, user_name:“detect_user”}, version:{common_hot_sys_var_version:0, common_sys_var_version:0, mysql_hot_sys_var_version:0, mysql_sys_var_version:0, hot_sys_var_version:0, sys_var_version:0, user_var_version:0, db_name_version:0, last_insert_id_version:0, sess_info_version:0}, hash_version:{common_hot_sys_var_version:0, common_sys_var_version:0, mysql_hot_sys_var_version:0, mysql_sys_var_version:0, hot_sys_var_version:0, sys_var_version:0, user_var_version:0, db_name_version:0, last_insert_id_version:0, sess_info_version:0}, val_hash:{common_hot_sys_var_hash:0, common_cold_sys_var_hash:0, mysql_hot_sys_var_hash:0, mysql_cold_sys_var_hash:0, hot_sys_var_hash:0, cold_sys_var_hash:0, user_var_hash:0}, global_vars_version:-1, is_global_vars_changed:false, is_trans_specified:false, is_user_idc_name_set:false, is_read_consistency_set:false, idc_name:"", cluster_id:0, real_meta_cluster_name:"", safe_read_snapshot:0, syncing_safe_read_snapshot:0, route_policy:1, proxy_route_policy:3, user_identity:0, global_vars_version:-1, is_read_only_user:false, is_request_follower_user:false, obproxy_force_parallel_query_dop:1, ob20_request:{remain_payload_len:0, ob20_request_received_done:false, ob20_header:{ob 20 protocol header:{compressed_len:0, seq:0, non_compressed_len:0}, magic_num:0, header_checksum:0, connection_id:0, request_id:0, pkt_seq:0, payload_len:0, version:0, flag_.flags:0, reserved:0}}, client_cap:0, server_cap:0, last_server_addr:{Not IP address [0]:0}, last_server_sess_id:0}, dummy_ldc:{use_ldc:false, idc_name:"", item_count:0, site_start_index_array:[[0]0, [1]0, [2]0, [3]0], item_array:null, pl:null, ts:null, readonly_exist_status:“READONLY_ZONE_UNKNOWN”}, dummy_entry:null, server_state_version:0, cur_ss:null, bound_ss:null, lii_ss:null, cluster_resource:{this:0x7f674a24d080, ref_count:33, is_inited:true, cluster_info_key:{cluster_name:{config_string:“oceanbase”}, cluster_id:0}, cr_state:“CR_AVAIL”, version:2, last_access_time_ns:1733473026082936209, deleting_completed_thread_num:0, fetch_rslist_task_count:0, fetch_idc_list_task_count:0, last_idc_list_refresh_time_ns:1694069514775747191, last_rslist_refresh_time_ns:1733018772204234734, server_state_version:6}, client_vc:0x7f674e245950, using_ldg:false, trace_stats:NULL}, client_vc_=0x7f674e245950, this=0x7f674e0e9f20)
[2024-12-06 16:20:10.605176] INFO [PROXY.CS] ob_mysql_client_session.cpp:94 [70208][Y0-00007F67645F1BA0] [lt=61] [dc=0] client session destroy(cs_id=2147516488, proxy_sessid=0, client_vc=NULL)
[2024-12-06 16:20:10.605186] INFO [PROXY.SM] ob_mysql_sm.cpp:9420 [70208][Y0-00007F67645F1BA0] [lt=3] [dc=0] deallocating sm(sm_id=12254714)
[2024-12-06 16:20:11.604052] INFO [PROXY.CS] ob_mysql_client_session.cpp:554 [70208][Y0-00007F67645F1BA0] [lt=4] [dc=0] proxy mysql client session born(cs_id=2147516489)
[2024-12-06 16:20:11.604069] INFO [PROXY.CS] ob_mysql_client_session.cpp:370 [70208][Y0-00007F67645F1BA0] [lt=12] [dc=0] client session born(cs_id=2147516489, proxy_sessid=0, is_local_connection=true, client_vc=0x7f674e245950, client_fd=0, client_addr=)
[2024-12-06 16:20:11.604086] INFO [PROXY.CS] ob_mysql_client_session.cpp:241 [70208][Y0-00007F67645F1BA0] [lt=6] [dc=0] Starting new transaction using sm(cs_id=2147516489, get_transact_count()=0, sm_id=12254715)
[2024-12-06 16:20:11.604096] INFO [PROXY.SM] ob_mysql_sm.cpp:507 [70208][Y0-00007F67645F1BA0] [lt=5] [dc=0] the request already in buffer, continue to handle it(buffer len=0, is_auth_rquest=true)
[2024-12-06 16:20:11.604106] WARN [PROXY] get_cluster_name (ob_session_field_mgr.cpp:617) [70208][Y0-00007F67645F1BA0] [lt=6] [dc=0] fail to get cluster name(ret=-4018)
[2024-12-06 16:20:11.604115] WARN [PROXY] get_tenant_name (ob_session_field_mgr.cpp:629) [70208][Y0-00007F67645F1BA0] [lt=9] [dc=0] fail to get tenant name(ret=-4018)
[2024-12-06 16:20:11.604352] INFO [PROXY.SS] ob_mysql_server_session.cpp:106 [70208][Y0-00007F67645F1BA0] [lt=3] [dc=0] server session born(ss_id=25777938, server_ip={10.201.156.54:2881}, cs_id=2147516489, proxy_sessid=0, server_type=1)
[2024-12-06 16:20:11.604441] INFO [PROXY.SM] ob_mysql_sm.cpp:8872 [70208][Y0-00007F67645F1BA0] [lt=9] [dc=0] INTERNAL_ERROR, will disconnect(sm_id=12254715)
[2024-12-06 16:20:11.604469] INFO [PROXY] ob_client_vc.cpp:1170 [70208][Y0-00007F67645F1BA0] [lt=4] [dc=0] mysql client will kill self(this=0x7f67645e73c0)
[2024-12-06 16:20:11.604477] INFO [PROXY.SM] ob_mysql_sm.cpp:9301 [70208][Y0-00007F67645F1BA0] [lt=5] [dc=0] will deallocate sm(sm_id=12254715, pending_action=NULL, api_.callout_state=0, trans_state_.trace_log= | dropped=0)
[2024-12-06 16:20:11.604486] INFO [PROXY.SS] ob_mysql_client_session.cpp:652 [70208][Y0-00007F67645F1BA0] [lt=7] [dc=0] client session do_io_close((*this={this:0x7f674e0e9f20, is_proxy_mysql_client:true, is_waiting_trans_first_request:false, need_delete_cluster:false, is_first_dml_sql_got:true, vc_ready_killed:false, active:true, magic:19132429, conn_decrease:true, current_tid:70208, cs_id:2147516489, proxy_sessid:0, session_info:{is_inited:true, priv_info:{has_all_privilege:false, cs_id:2147516489, user_priv_set:-1, cluster_name:“oceanbase”, tenant_name:“sys”, user_name:“detect_user”}, version:{common_hot_sys_var_version:0, common_sys_var_version:0, mysql_hot_sys_var_version:0, mysql_sys_var_version:0, hot_sys_var_version:0, sys_var_version:0, user_var_version:0, db_name_version:0, last_insert_id_version:0, sess_info_version:0}, hash_version:{common_hot_sys_var_version:0, common_sys_var_version:0, mysql_hot_sys_var_version:0, mysql_sys_var_version:0, hot_sys_var_version:0, sys_var_version:0, user_var_version:0, db_name_version:0, last_insert_id_version:0, sess_info_version:0}, val_hash:{common_hot_sys_var_hash:0, common_cold_sys_var_hash:0, mysql_hot_sys_var_hash:0, mysql_cold_sys_var_hash:0, hot_sys_var_hash:0, cold_sys_var_hash:0, user_var_hash:0}, global_vars_version:-1, is_global_vars_changed:false, is_trans_specified:false, is_user_idc_name_set:false, is_read_consistency_set:false, idc_name:"", cluster_id:0, real_meta_cluster_name:"", safe_read_snapshot:0, syncing_safe_read_snapshot:0, route_policy:1, proxy_route_policy:3, user_identity:0, global_vars_version:-1, is_read_only_user:false, is_request_follower_user:false, obproxy_force_parallel_query_dop:1, ob20_request:{remain_payload_len:0, ob20_request_received_done:false, ob20_header:{ob 20 protocol header:{compressed_len:0, seq:0, non_compressed_len:0}, magic_num:0, header_checksum:0, connection_id:0, request_id:0, pkt_seq:0, payload_len:0, version:0, flag_.flags:0, reserved:0}}, client_cap:0, server_cap:0, last_server_addr:{Not IP address [0]:0}, last_server_sess_id:0}, dummy_ldc:{use_ldc:false, idc_name:"", item_count:0, site_start_index_array:[[0]0, [1]0, [2]0, [3]0], item_array:null, pl:null, ts:null, readonly_exist_status:“READONLY_ZONE_UNKNOWN”}, dummy_entry:null, server_state_version:0, cur_ss:null, bound_ss:null, lii_ss:null, cluster_resource:{this:0x7f674a24d080, ref_count:33, is_inited:true, cluster_info_key:{cluster_name:{config_string:“oceanbase”}, cluster_id:0}, cr_state:“CR_AVAIL”, version:2, last_access_time_ns:1733473026082936209, deleting_completed_thread_num:0, fetch_rslist_task_count:0, fetch_idc_list_task_count:0, last_idc_list_refresh_time_ns:1694069514775747191, last_rslist_refresh_time_ns:1733018772204234734, server_state_version:6}, client_vc:0x7f674e245950, using_ldg:false, trace_stats:NULL}, client_vc_=0x7f674e245950, this=0x7f674e0e9f20)
[2024-12-06 16:20:11.604553] INFO [PROXY.CS] ob_mysql_client_session.cpp:94 [70208][Y0-00007F67645F1BA0] [lt=65] [dc=0] client session destroy(cs_id=2147516489, proxy_sessid=0, client_vc=NULL)
[2024-12-06 16:20:11.604565] INFO [PROXY.SM] ob_mysql_sm.cpp:9420 [70208][Y0-00007F67645F1BA0] [lt=5] [dc=0] deallocating sm(sm_id=12254715)

1 个赞

你是通过obproxy连接的么?麻烦把obproxy.log日志和observer.log 压缩整体发一下 这样发出来 日志有点乱

1 个赞

我用ocenabse直连报错,以下是observer.log日志
1.txt (16.6 KB)
目前机器cpu、内存正常,但是日志盘快要满了

1 个赞

log_disk_size设置的不是内存的三倍么?
1、日志本地磁盘比这个参数大还是小 df -h
2、参数信息 试一下能不能查到
show parameters where name in (‘memory_limit’,‘memory_limit_percentage’,‘system_memory’,‘log_disk_size’,‘log_disk_percentage’,‘datafile_size’,‘datafile_disk_percentage’);
3、obd搭建的集群
obd cluster list --查询集群信息
obd cluster edit-config {集群名} --可以查看内存的信息
或者把yaml文件发一下

1 个赞

1.txt (2.1 KB)
配置如下,本地磁盘大小是7个T的

1 个赞

你好,这个问题可以帮忙看下嘛,比较着急,谢谢

1 个赞

你df -h一下 应该是你的clog日志满了 导致的不能写入日志 事物执行超时

1 个赞

是的,盘基本上满了,这个有什么办法吗,clog里面的日志删除会对服务有什么影响吗

1 个赞

数据盘设置的太大了 数据盘一旦设置好了 没有办法回收 日志盘如果设置的不是memory_limit的三倍 会有问题 导致的日志盘满了 不能写入 在clog满足的设置的大小的时候 clog会循环删除的 不允许手动删除 删除ob库就会宕机

1 个赞

好的,谢谢,我如果缩小数据盘的话重新部署我记得会重启,此时数据的话应该会清除吧,我就想把这个数据导出来,这个还有什么办法吗

1 个赞

是的 不允许缩容 除了导出没有什么好办法了 重新部署的时候 记得数据盘不要设置那么大 日志盘最小也是memory_limit的三倍

1 个赞

主要是现在怎么导出呢,语句都没法执行了啊

1 个赞

这就很尴尬了 目前除了导出没有好办法了

1 个赞

还有就是队列积压造成的4019 你后面可以看看

如何排查租户队列积压

https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000813134?back=kb

1 个赞

ob4.2.0.0目前已经不维护了 建议升级到LTS4.2.5bp1 这个是长期的维护的版本

1 个赞