graphd,一查询就秒崩溃

I20220818 14:50:17.136778 26897 MetaClient.cpp:3094] Load leader of “10.241.130.61”:9779 in 2 space
I20220818 14:50:17.136905 26897 MetaClient.cpp:3094] Load leader of “10.241.130.62”:9779 in 4 space
I20220818 14:50:17.136947 26897 MetaClient.cpp:3094] Load leader of “10.241.130.63”:9779 in 3 space
I20220818 14:50:17.136966 26897 MetaClient.cpp:3100] Load leader ok
I20220818 14:50:27.195124 26897 MetaClient.cpp:3094] Load leader of “10.241.130.61”:9779 in 2 space
I20220818 14:50:27.195282 26897 MetaClient.cpp:3094] Load leader of “10.241.130.62”:9779 in 4 space
I20220818 14:50:27.195362 26897 MetaClient.cpp:3094] Load leader of “10.241.130.63”:9779 in 3 space
I20220818 14:50:27.195403 26897 MetaClient.cpp:3100] Load leader ok
E20220818 14:50:33.880369 27043 Serializer.h:43] Thrift serialization is only defined for structs and unions, not containers thereof. Attemping to deserialize a value of type nebula::Value.
就只有这些,storaged在执行之后,只打印了这一行日志

是的,也是一执行就挂

@Lisa 转发给 storage 的同事看下吧

有debug版的程序地址吗?本地编译不知道为啥巨慢

没。

这个有结果了吗?

调用栈:
(gdb) bt
#0 0x00000000033e5851 in nebula::storage::QueryUtils::readValue (reader=0x7f4349614b50,
propName=…, field=0x0) at /nebula/src/storage/exec/QueryUtils.h:76
#1 0x000000000346ae9a in nebula::storage::QueryUtils::readVertexProp (key=…, vIdLen=64,
isIntId=false, reader=0x7f4349614b50, prop=…)
at /nebula/src/storage/exec/QueryUtils.h:167
#2 0x000000000346b120 in nebula::storage::QueryUtils::collectVertexProps (key=…,
vIdLen=64, isIntId=false, reader=0x7f4349614b50, props=0x7f4349610188, list=…,
expCtx=0x7f4349604300, tagName=…) at /nebula/src/storage/exec/QueryUtils.h:199
#3 0x000000000349c657 in nebula::storage::GetTagPropNode::doExecute(int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)::{lambda(folly::Range<char const*>, nebula::RowReader*, std::vector<nebula::storage::PropContext, std::allocatornebula::storage::PropContext > const*)#3}::operator()(folly::Range<char const*>, nebula::RowReader*, std::vector<nebula::storage::PropContext, std::allocatornebula::storage::PropContext > const*) const (__closure=0x7f4349620320, key=…, reader=0x7f4349614b50, props=0x7f4349610188)
at /nebula/src/storage/exec/GetPropNode.h:87
#4 0x00000000034a5d42 in std::_Function_handler<nebula::cpp2::ErrorCode (folly::Range<char const*>, nebula::RowReader*, std::vector<nebula::storage::PropContext, std::allocatornebula::storage::PropContext > const*), nebula::storage::GetTagPropNode::doExecute(int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)::{lambda(folly::Range<char const*>, nebula::RowReader*, std::vector<nebula::storage::PropContext, std::allocatornebula::storage::PropContext > const*)#3}>::_M_invoke(std::_Any_data const&, folly::Range<char const*>&&, nebula::RowReader*&&, std::vector<nebula::storage::PropContext, std::allocatornebula::storage::PropContext > const*&&) (__functor=…, __args#0=…,
__args#1=@0x7f43307248e0: 0x7f4349614b50, __args#2=@0x7f43307248c8: 0x7f4349610188)
at /opt/vesoft/toolset/gcc/9.3.0/include/c++/9.3.0/bits/std_function.h:285
#5 0x0000000003475f17 in std::function<nebula::cpp2::ErrorCode (folly::Range<char const*>, nebula::RowReader*, std::vector<nebula::storage::PropContext, std::allocatornebula::storage::PropContext > const*)>::operator()(folly::Range<char const*>, nebula::RowReader*, std::vector<nebula::storage::PropContext, std::allocatornebula::storage::PropContext > const*) const (
this=0x7f43307249f0, __args#0=…, __args#1=0x7f4349614b50, __args#2=0x7f4349610188)
at /opt/vesoft/toolset/gcc/9.3.0/include/c++/9.3.0/bits/std_function.h:688
#6 0x000000000346c750 in nebula::storage::TagNode::collectTagPropsIfValid(std::function<nebula::cpp2::ErrorCode (std::vector<nebula::storage::PropContext, std::allocatornebula::storage::PropContext > const*)>, std::function<nebula::cpp2::ErrorCode (folly::Range<char const*>, nebula::RowReader*, std::vector<nebula::storage::PropContext, std::allocatornebula::storage::PropContext > const*)>) (this=0x7f4349614a00, nullHandler=…, valueHandler=…)
at /nebula/src/storage/exec/TagNode.h:102
#7 0x000000000349ca38 in nebula::storage::GetTagPropNode::doExecute (this=0x7f4352c1d2c0,
partId=4, vId=…) at /nebula/src/storage/exec/GetPropNode.h:70
#8 0x00000000034425bc in nebula::storage::RelNode<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >::execute (this=0x7f4352c1d2c0, partId=4, input=…)
at /nebula/src/storage/exec/RelNode.h:51
#9 0x000000000343b510 in nebula::storage::RelNode<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >::doExecute (this=0x7f4349655000, partId=4, input=…)
at /nebula/src/storage/exec/RelNode.h:57
#10 0x00000000034425bc in nebula::storage::RelNode<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >::execute (this=0x7f4349655000, partId=4, input=…)
at /nebula/src/storage/exec/RelNode.h:51
#11 0x000000000343d434 in nebula::storage::StoragePlan<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >::go (this=0x7f4330724c90, partId=4, input=…)
at /nebula/src/storage/exec/StoragePlan.h:53
#12 0x000000000349df96 in nebula::storage::GetPropProcessor::runInSingleThread (
this=0x7f435357b500, req=…) at /nebula/src/storage/query/GetPropProcessor.cpp:74
#13 0x000000000349daae in nebula::storage::GetPropProcessor::doProcess (this=0x7f435357b500,
req=…) at /nebula/src/storage/query/GetPropProcessor.cpp:50
#14 0x000000000349d45a in <lambda()>::operator()(void) const (__closure=0x7f4353549500)
at /nebula/src/storage/query/GetPropProcessor.cpp:17
#15 0x00000000034a9fdf in folly::detail::function::FunctionTraits<void()>::callBig<nebula::storage::GetPropProcessor::process(const nebula::storage::cpp2::GetPropRequest&)::<lambda()> >(folly::detail::function::Data &) (p=…)
at /opt/vesoft/third-party/3.0/include/folly/Function.h:385
代码位置:

看上去是个空指针,如果稳定复现的话,应该比较容易修。我本地没有复现,需要你提供下更多的信息,比如 schema

创建语句:
CREATE TAG ai_rca_entity_tag ( name string NULL, type string NULL, alert_status bool NULL, alert_num int64 NULL, create_time timestamp NULL, basic_info string NULL, incident_vid string NULL, alert_start_time timestamp NULL, alert_end_time timestamp NULL, technology_type string NULL ) ttl_duration = 2592000, ttl_col = “create_time”

CREATE TAG ai_rca_alert_tag ( alert_id string NULL, start_time timestamp NULL, end_time timestamp NULL, rca_score double NULL, is_rca bool NULL, source string NULL, active_status bool NULL, is_changed bool NULL, create_time timestamp NULL, raw_alert_info string NULL, incident_vid string NULL, produced_by string NULL, rca_start_time string NULL, rca_end_time string NULL ) ttl_duration = 2592000, ttl_col = “create_time”

CREATE TAG INDEX alert_prodeced_by ON ai_rca_alert_tag ( produced_by(10) )

CREATE TAG INDEX entity_incident_vid ON ai_rca_entity_tag ( incident_vid(20) )

查询语句:
match (v:ai_rca_entity_tag{produced_by:“host_1098”}) return v limit 10000

我感觉在语法校验的时候匹配没这个属性应该就返回说没有这个属性吧

3.0版本我也没有复现这个问题,我换了一个3.2的集群,也复现了

哦,我还rebuid了这两个索引

mark

我看这个issue已经关掉了,是不是我重新拉一版3.2的包部署就可以了?

之后会出个小版本,issue 关掉只是代码合入了,你如果是源码编译的话是可以的

那麻烦问下大概啥时候出这个小版本呢?我们现在不是源码安装的。

先用nightly的包可以不?后面会安排出bugfix版本

1 个赞

麻烦问下,这个咋拉?

你好,这个已修复和发布

1 个赞