11小透明
#1
【测试环境】
【 OB 】
【 4.2.1】
【问题描述】
当集群写入数据很频繁时,libcdc.log会报以下报错,导致下游任务无法拉取到增量数据
[2024-03-15 14:28:13.487541] WARN common_alloc (ob_tenant_ctx_allocator.cpp:457) [322496][LogStreaWorkThr][T0][YEA410A48760C-000000000340000F-0-0] [lt=17][errcode=-4013] No memory or reach tenant memory limit([OOPS]=“alloc failed reason”, msg=server memory has reached the upper limit(server_hold: 107454906368, server_limit: 107456931430, alloc_size: 2097152))
[2024-03-15 14:28:13.487569] WDIAG common_alloc (ob_tenant_ctx_allocator.cpp:462) [322496][LogStreaWorkThr][T0][YEA410A48760C-000000000340000F-0-0] [lt=26][errcode=-4013] oops, alloc failed, tenant_id=500, ctx_id=0, ctx_name=DEFAULT_CTX_ID, ctx_hold=30419574784, ctx_limit=9223372036854775807, tenant_hold=30466359296, tenant_limit=9223372036854775807
序风
#3
这个报错很明显,内存不足了。你的租户、system_memory、observer内存分别是多少?
11小透明
#4
单台机器:
租户内存是90G
memory_limit 是 130G
system_memory是30G
机器内存总共是251G
11小透明
#5
还有一个问题,这个内存不足为什么只影响到了libcdc,我的理解他只是一个sdk,如果数据库的内存不足引发的异常应该是服务端那边报错吧
序风
#8
上面的日志,是libobcdc.log报出来的?还是observer.log看到的,可以把日志文件发一下吗
11小透明
#9
11小透明
#10
这个有老师能看下么,我调大的租户内存发现也还是不行
序风
#11
可以帮忙测试一下,写入慢慢加上去,看每秒插入多少数据量的时候会触发这个报错吗?
11小透明
#12
按照经验来看大概是3W,但是我前两天把租户内存又整体调大了,但是还不行
序风
#13
看上面的报错是500租户无法分配,可以调大system_memory试试
另外,把observer.log的日志发一下给我
序风
#16
11小透明
#17
observer.log的日志太大,里面数据的信息也有记录,不太好发,您能给几个关键词我去搜下么
三木大大
#18
logproxy近期(约一周左右)会有新的版本(v2.0.1 BP1),集成了最新的obcdc 4.2.1.4,优化了一些场景下的内存资源占用,到时候可以试下效果