关于nebula-storage配置问题


这是 三台服务器七天的内存变化,应该是正常的

目前nebula-graph 频繁宕掉情况总结
①目前观察nebula-graph宕机重启后使用内存一直增长(波动范围一般到几G),但是系统内存使用率一直都是比较稳定。
②nebula-graph 开启最详细日志记录后,并无有用信息。
③系统日志报错信息是 kernel: [10838389.205278] executor-pri3-6[59562]: segfault at 209 ip 0000000001067031 sp 00007f824b9f3060 error 4 in nebula-graphd[ece000+1754000]
按百度说法是内存越界
④抓取不同的ngql后,发现频繁执行读ngql,就会导致nebula-graph宕机
⑤目前插入不会导致nebula-graph宕机。
⑥解析core文件 显示内容如下
#0 0x0000000001067031 in ?? ()
#1 0x000000000106711c in ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N6nebula5ValueEESaISA_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSC_18_Mod_range_hashingENSC_20_Default_ranged_hashENSC_20_Prime_rehash_policyENSC_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_assignIZNSN_C4ERKSN_EUlPKNSC_10_Hash_nodeISA_Lb1EEEE_EEvSQ_RKT ()
#2 0x0000000001bb73fc in nebula::Tag::Tag(nebula::Tag const&) ()
#3 0x0000000001bafcab in nebula::Value::setV(std::unique_ptr<nebula::Vertex, std::default_deletenebula::Vertex > const&) ()
#4 0x00000000011f2eec in nebula::graph::ArgumentExecutor::execute() ()
#5 0x00000000012e45a7 in nebula::graph::AsyncMsgNotifyBasedScheduler::execute(nebula::graph::Executor*) const ()
#6 0x00000000012e4e35 in ?? ()
#7 0x00000000012e4f97 in ?? ()
#8 0x00000000020086dc in ?? ()
#9 0x0000000001dbe8c7 in virtual thunk to apache::thrift::concurrency::FunctionRunner::run() ()
#10 0x0000000001f00078 in apache::thrift::concurrency::ThreadManager::Impl::Worker::run() ()
#11 0x0000000001f0217e in apache::thrift::concurrency::PthreadThread::threadMain(void*) ()
#12 0x00007f826a188ea5 in start_thread (arg=0x7f824b9fd700) at pthread_create.c:307
#13 0x00007f8269eb1b0d in clone () at …/sysdeps/unix/sysv/linux/x86_64/clone.S:111

么西么西 :rofl: 静待回复

1 个赞

么西么西 :rofl: 静待回复

@jmq2020 这个麻烦确认下 有啥结论了吗

还没,现在还没复现你的场景

match (m:Ncdxm)-[r1:Rcdcp]->(v:Ncdcp)-[r2:Rgk]-(c:Ngkgs)
where id(m) ==“Ncdxm_212312312312312123” and m.Ncdxm.prj_typ_cd not in [“ESCJYD”,“CDDYW”,“CDDYWUL”,“OWNJYD”]
and r1.is_valid == “0” and r2.is_valid == “0”
with c,(m.Ncdxm.crt_tm-duration({days:30})) as bfdays return pas,‘万’ as rule limit 30
执行这种语句 基本七八次就可以把graph搞挂 稳定复现,检查Ncdxm_212312312312312123节点大概90个2度关系

1 个赞

如果无法复现的话,咱们可以远程给看下吗?感觉这个应该是个BUG的。

with c,(m.Ncdxm.crt_tm-duration({days:30})) as bfdays return pas,‘万’ as rule limit 30
这个语法写错了吧

match (m:Ncdxm)-[r1:Rcdcp]->(v:Ncdcp)-[r2:Rgk]-(c:Ngkgs)
where id(m) ==“Ncdxm_232323213231” and m.Ncdxm.prj_typ_cd not in [“ESCJYD”,“CDDYW”,“CDDYWUL”,“OWNJYD”]
and r1.is_valid == “0” and r2.is_valid == “0”
with c,(m.Ncdxm.crt_tm-duration({days:30})) as bfdays
match pas = (m:Ncdxm)-[:Rcdcp]->(v:Ncdcp)-[:Rgk]-(c:Ngkgs)
where m.Ncdxm.crt_tm > bfdays
with distinct m as m,v
with (sum(v.Ncdcp.open)) as sp,m
where sp >= 6000000
match pas = (m:Ncdxm)-[:Rcdcp]->(v:Ncdcp)-[:Rgk]-(c:Ngkgs)
return pas,‘万’ as rule limit 30
这个

@jmq2020 麻烦这下这个语法有问题吗

(m.Ncdxm.crt_tm-duration({days:30})) as bfdays 这句是什么意思

创建时间 往前推30天

crt_tm-duration 是 Ncdxm的一个属性吗, days 是Ncdxm的属性吗

crt_tm是Ncdxm标签的一个属性,duration是时间函数啊


结果就是crt_time往前数30天

嗯嗯,明白了

(root@nebula) [nba]> create tag if not exists playera(name string, age int, dura duration)
Execution succeeded (time spent 1270/1577 us)

Fri, 08 Jul 2022 15:21:11 CST

(root@nebula) [nba]>  insert VERTEX playera(name, age, dura) values "12":("12", 12, duration({years:12, days:14, hours:19})), "13":("13", 11, duration({years:13, days:15, hours:20}))
Execution succeeded (time spent 1767/2018 us)

Fri, 08 Jul 2022 15:21:22 CST

(root@nebula) [nba]> insert edge like(likeness) values "12"->"13":(1011)
Execution succeeded (time spent 1781/2073 us)

Fri, 08 Jul 2022 15:21:36 CST

(root@nebula) [nba]> match (m:playera)-[:like]->(v:playera) where id(m) == '12' with v, (m.playera.dura({days:14})) as a return a, v
[ERROR (-1004)]: SyntaxError: syntax error near `({days:1'

Fri, 08 Jul 2022 15:22:09 CST

我测试的 这条语句会报错的

看不懂你这个写的是什么
image
我这个是给时间做减法运算
(m.Ncdxm.crt_tm - duration({days:30}))

比如

不会报错的

我眼瞎 ,看错了,一直看成 m.Ncdxm.crt_tm_duration

哈哈哈 我就说 可能是 - 符号挨的太近了