使用并发删除表数据出现 -4019

【 使用环境 】测试环境
【 OB 】3.4.2 企业版
【 使用版本 】
【问题描述】使用下列SQL 删除表数据出现-4019错误。请问什么原因导致这个问题?
delete
/*+ parallel(64) enable_parallel_dml */
FROM
entry_data_success
WHERE
entity_id = (1)
and BOOK_CODE = (‘BookI17’)
and YEAR_MONTH = (‘202305’);

语句的执行计划:

|ID|OPERATOR |NAME |EST. ROWS|COST |

|0 |PX COORDINATOR | |7 |3201759|
|1 | EXCHANGE OUT DISTR |:EX10002 |7 |3201759|
|2 | INDEX DELETE |ENTRY_DATA_SUCCESS(IDX_ENTRY_DATA_SUCCESS_BU_VOUCHER_NO_0805)|7 |3201759|
|3 | EXCHANGE IN DISTR | |7 |3201753|
|4 | EXCHANGE OUT DISTR (HASH) |:EX10001 |7 |3201753|
|5 | MATERIAL | |7 |3201753|
|6 | DELETE | |7 |3201753|
|7 | EXCHANGE IN DISTR | |7 |3201746|
|8 | EXCHANGE OUT DISTR (PKEY HASH)|:EX10000 |7 |3201743|
|9 | PX BLOCK ITERATOR | |7 |3201743|
|10| TABLE SCAN |ENTRY_DATA_SUCCESS |7 |3201743|

【复现路径】问题出现前后相关操作
【附件及日志】
[2024-08-16 16:38:37.320433] INFO [STORAGE.TRANS] ob_memtable_mutator.cpp:419 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=2] [dc=0] serialize row fail(ret=-4019, buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832628)
[2024-08-16 16:38:37.327290] WDIAG ob_object.cpp:291 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=2] [dc=0][errcode=-4019] encode object fail(name=“scale_”, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.327305] WDIAG ob_object.cpp:1475 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=14] [dc=0][errcode=-4019] encode object fail(name=“meta_”, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.327310] WDIAG [COMMON] ob_rowkey.cpp:351 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=3] [dc=0][errcode=-4019] serialize object failed.(i=0, buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.327315] WDIAG [COMMON] ob_rowkey.cpp:283 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=3] [dc=0][errcode=-4019] serialize objects failed.(buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832644, obj_cnt=4, ret=-4019)
[2024-08-16 16:38:37.327322] INFO [STORAGE.TRANS] ob_memtable_mutator.cpp:419 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=5] [dc=0] serialize row fail(ret=-4019, buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832628)
[2024-08-16 16:38:37.333881] WDIAG ob_object.cpp:291 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=2] [dc=0][errcode=-4019] encode object fail(name=“scale_”, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.333896] WDIAG ob_object.cpp:1475 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=13] [dc=0][errcode=-4019] encode object fail(name=“meta_”, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.333900] WDIAG [COMMON] ob_rowkey.cpp:351 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=2] [dc=0][errcode=-4019] serialize object failed.(i=0, buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.333905] WDIAG [COMMON] ob_rowkey.cpp:283 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=3] [dc=0][errcode=-4019] serialize objects failed.(buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832644, obj_cnt=4, ret=-4019)
[2024-08-16 16:38:37.333910] INFO [STORAGE.TRANS] ob_memtable_mutator.cpp:419 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=3] [dc=0] serialize row fail(ret=-4019, buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832628)
[2024-08-16 16:38:37.340749] WDIAG ob_object.cpp:291 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=3] [dc=0][errcode=-4019] encode object fail(name=“scale_”, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.340766] WDIAG ob_object.cpp:1475 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=15] [dc=0][errcode=-4019] encode object fail(name=“meta_”, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.340770] WDIAG [COMMON] ob_rowkey.cpp:351 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=2] [dc=0][errcode=-4019] serialize object failed.(i=0, buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.340776] WDIAG [COMMON] ob_rowkey.cpp:283 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=4] [dc=0][errcode=-4019] serialize objects failed.(buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832644, obj_cnt=4, ret=-4019)
[2024-08-16 16:38:37.340780] INFO [STORAGE.TRANS] ob_memtable_mutator.cpp:419 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=2] [dc=0] serialize row fail(ret=-4019, buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832628)
[2024-08-16 16:38:37.347391] WDIAG ob_object.cpp:291 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=3] [dc=0][errcode=-4019] encode object fail(name=“scale_”, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.347402] WDIAG ob_object.cpp:1475 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=10] [dc=0][errcode=-4019] encode object fail(name=“meta_”, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.347407] WDIAG [COMMON] ob_rowkey.cpp:351 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=3] [dc=0][errcode=-4019] serialize object failed.(i=0, buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.347411] WDIAG [COMMON] ob_rowkey.cpp:283 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=3] [dc=0][errcode=-4019] serialize objects failed.(buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832644, obj_cnt=4, ret=-4019)
[2024-08-16 16:38:37.347415] INFO [STORAGE.TRANS] ob_memtable_mutator.cpp:419 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=2] [dc=0] serialize row fail(ret=-4019, buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832628)
[2024-08-16 16:38:37.354154] WDIAG ob_object.cpp:291 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=3] [dc=0][errcode=-4019] encode object fail(name=“scale_”, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.354170] WDIAG ob_object.cpp:1475 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=15] [dc=0][errcode=-4019] encode object fail(name=“meta_”, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.354176] WDIAG [COMMON] ob_rowkey.cpp:351 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=3] [dc=0][errcode=-4019] serialize object failed.(i=0, buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.354202] WDIAG [COMMON] ob_rowkey.cpp:283 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=23] [dc=0][errcode=-4019] serialize objects failed.(buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832644, obj_cnt=4, ret=-4019)
[2024-08-16 16:38:37.354218] INFO [STORAGE.TRANS] ob_memtable_mutator.cpp:419 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=13] [dc=0] serialize row fail(ret=-4019, buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832628)
[2024-08-16 16:38:37.361186] WDIAG ob_object.cpp:291 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=11] [dc=0][errcode=-4019] encode object fail(name=“scale_”, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.361205] WDIAG ob_object.cpp:1475 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=17] [dc=0][errcode=-4019] encode object fail(name=“meta_”, buf_len=1832644, pos=1832644, ret=-4019)
[2024-08-16 16:38:37.361209] WDIAG [COMMON] ob_rowkey.cpp:351 [22350][0][YB42C0A800AC-00061FA27C2CDF2B-0-0] [lt=2] [dc=0][errcode=-4019] serialize object failed.(i=0, buf=0x2b2a4f9d30c0, buf_len=1832644, pos=1832644, ret=-4019)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

您在并发删除表数据时遇到了错误码 -4019,这通常表示出现了空间溢出的问题。

根因分析场景: 事务其他错误
根因分析命令: obdiag rca run --scene=transaction_other_error

日志采集场景: 内存问题
日志采集命令: obdiag gather scene run --scene=observer.memory

为了更好地定位问题,请您执行上述根因分析和日志采集命令,并将输出结果提供给我们。如果您使用的是 OCP 管理平台,可以直接在平台上执行这些命令;如果是其他部署方式,请登录到对应的 OBServer 上执行。

此外,为了更准确地定位问题,请您回答以下几个问题:

  1. 您能否提供出现错误时正在执行的具体 SQL 语句?
  2. 当前集群的资源使用情况如何,例如 CPU、内存和磁盘使用率?
  3. 是否有其他并发操作正在进行,如大量插入或更新操作?
  4. 您是否注意到集群中有任何异常警告或错误日志?

具体信息可参考以下文档:

附上敏捷诊断工具 obdiag 使用帮助链接


为什么从执行计划显示 delete 使用了MATERIAL算子?

你好,你提的这个技术问题牵涉到OceanBase企业版范围内的功能细节;针对此类问题,建议你通过以下方式寻求帮助:

  1. 如你所在的企业客户已签署OceanBase企业版销售合同,请你联系客户经理;
  2. 如你所在的企业客户尚未签署OceanBase企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。

另外,我们欢迎你使用社区版,并在论坛/社群中分享你对社区版本的想法、经验和问题,与其他社区成员共同交流。