Closed
Description
Describe the bug(must be provided)
Querying the properties of no-existing vertex by Go will end with an error.
How To Reproduce(must be provided)
- Graph Schema
CREATE TAG pin(pin string);
CREATE TAG merchant(merchantNo string, merchantName string);
CREATE EDGE pin2merchant();
(user@xxx) [test_graph]> show tags;
============
| Name |
============
| merchant |
------------
| pin |
------------
(user@xxx) [test_graph]> show edges;
================
| Name |
================
| pin2merchant |
- Inserting a pin vertex and an pin2merchant edge(dst-vertex doesn't exist), then executing Go end with an error.
(user@xxx) [test_graph]> INSERT VERTEX pin(pin) VALUES uuid("pin_zhangsan"):("zhangsan");
Execution succeeded (Time spent: 3532/4264 us)
(user@xxx) [test_graph]> INSERT EDGE pin2merchant() VALUES uuid("pin_zhangsan") -> uuid("not_exist_vertex_id"):();
Execution succeeded (Time spent: 3488/4290 us)
# successly execute without destination vertex properties.
(user@xxx) [test_graph]> GO FROM uuid("pin_zhangsan") OVER pin2merchant YIELD $^.pin.pin;
==============
| $^.pin.pin |
==============
| zhangsan
--------------
Got 1 rows (Time spent: 3760/4907 us)
# fail to execute with destination vertex properties.
(user@xxx) [test_graph]> GO FROM uuid("pin_zhangsan") OVER pin2merchant YIELD $^.pin.pin, $$.merchant.merchantNo;
E1107 10:40:15.923456 36480 GraphClient.cpp:85] Thrift rpc call failed: Channel got EOF. Check for server hitting connection limit, server connection idle timeout, and server crashes.
[ERROR (-3)]:
Expected behavior
- logs
F1107 10:40:15.391747 36101 GoExecutor.cpp:972] Check failed: false
- coredump( partial)
Storage: /var/lib/systemd/coredump/core.nebula-graphd.0.99b6162866bb4e27a1237ffdd9e2ce32.36079.1573094415000000.lz4
Message: Process 36079 (nebula-graphd) of user 0 dumped core.
Stack trace of thread 36101:
#0 0x00007ff42cd9c53f raise (libc.so.6)
#1 0x00007ff42cd86895 abort (libc.so.6)
#2 0x0000000001a49383 _ZN6googleL21DumpStackTraceAndExitEv.cold.21 (nebula-graphd)
#3 0x0000000002650f3d _ZN6google10LogMessage4FailEv (nebula-graphd)
#4 0x000000000265548c _ZN6google10LogMessage9SendToLogEv (nebula-graphd)
#5 0x0000000002650c3d _ZN6google10LogMessage5FlushEv (nebula-graphd)
#6 0x0000000002651429 _ZN6google15LogMessageFatalD2Ev (nebula-graphd)
#7 0x0000000001b17002 _ZNK6nebula5graph10GoExecutor12VertexHolder18getDefaultPropTypeEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE (nebula-graphd)
#8 0x0000000001b174bb _ZN6nebula5graph10GoExecutor12VertexHolder7getTypeEliRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE (nebula-graphd)
#9 0x0000000001b15c0c _ZZNK6nebula5graph10GoExecutor18processFinalResultERNS_7storage18StorageRpcResponseINS2_4cpp213QueryResponseEEESt8functionIFvSt6vectorIN5boost7variantIlJdbNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEESaISI_EES9_INS_4cpp213SupportedTypeESaISM_EEEEENKUlRKSH_SS_E3_clESS_SS_ (nebula-graphd)
#10 0x0000000001b1a9bb _M_invoke (nebula-graphd)
#11 0x0000000001a699ec _ZNKSt8functionIFN6nebula8StatusOrIN5boost7variantIlJdbNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEERKS9_SD_EEclESD_SD_ (nebula-graphd)
#12 0x0000000001a5d800 _ZNK6nebula22DestPropertyExpression4evalB5cxx11Ev (nebula-graphd)
#13 0x0000000001b167e9 _ZNK6nebula5graph10GoExecutor18processFinalResultERNS_7storage18StorageRpcResponseINS2_4cpp213QueryResponseEEESt8functionIFvSt6vectorIN5boost7variantIlJdbNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEESaISI_EES9_INS_4cpp213SupportedTypeESaISM_EEEE (nebula-graphd)
#14 0x0000000001b14c74 _ZN6nebula5graph10GoExecutor18setupInterimResultEONS_7storage18StorageRpcResponseINS2_4cpp213QueryResponseEEERSt10unique_ptrINS0_13InterimResultESt14default_deleteIS9_EE (nebula-graphd)
#15 0x0000000001b12b21 _ZN6nebula5graph10GoExecutor15finishExecutionEONS_7storage18StorageRpcResponseINS2_4cpp213QueryResponseEEE (nebula-graphd)
#16 0x0000000001b13ed8 _ZZN6nebula5graph10GoExecutor16fetchVertexPropsESt6vectorIlSaIlEEONS_7storage18StorageRpcResponseINS5_4cpp213QueryResponseEEEENUlOT_E_clIS9_EEDaSC_ (nebula-graphd)
#17 0x0000000001b180d5 _ZZNO5folly6FutureIN6nebula7storage18StorageRpcResponseINS2_4cpp213QueryResponseEEEE9thenValueIRZNS1_5graph10GoExecutor16fetchVertexPropsESt6vectorIlSaIlEEOS6_EUlOT_E_EENS0_INS_7futures6detail19valueCallableResultIS6_SF_E10value_typeEEESG_ENUlONS_3TryIS6_EEE_clESR_ (nebula-graphd)
#18 0x0000000001b19d64 invoke<folly::Try<nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse> > > (nebula-graphd)
#19 0x0000000001b19d9a invoke<true, folly::futures::detail::CoreCallbackState<folly::Unit, folly::Future<T>::thenValue(F&&) && [with F = nebula::graph::GoExecutor::fetchVertexProps(std::vector<long int>, nebula::graph::GoExecutor::RpcResponse&&)::<lambda(auto:75&&)>&; T = nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse>]::<lambda(folly::Try<nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse> >&&)> >, nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse>, folly::Try<nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse> >&&> (nebula-graphd)
#20 0x0000000001b19dc2 _ZZZN5folly7futures6detail10FutureBaseIN6nebula7storage18StorageRpcResponseINS4_4cpp213QueryResponseEEEE18thenImplementationIZNOS_6FutureIS8_E9thenValueIRZNS3_5graph10GoExecutor16fetchVertexPropsESt6vectorIlSaIlEEOS8_EUlOT_E_EENSB_INS1_19valueCallableResultIS8_SK_E10value_typeEEESL_EUlONS_3TryIS8_EEE_NS1_14callableResultIS8_SV_EELb1EJSU_EEENSt9enable_ifIXntsrNT0_13ReturnsFutureE5valueENSZ_6ReturnEE4typeESL_NS1_9argResultIXT1_ESK_JDpT2_EEEENUlSU_E_clESU_ENKUlvE_clEv (nebula-graphd)
#21 0x0000000001b1b47b makeTryWith<folly::futures::detail::FutureBase<T>::thenImplementation(F&&, folly::futures::detail::argResult<isTry, F, Args ...>) [with F = folly::Future<T>::thenValue(F&&) && [with F = nebula::graph::GoExecutor::fetchVertexProps(std::vector<long int>, nebula::graph::GoExecutor::RpcResponse&&)::<lambda(auto:75&&)>&; T = nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse>]::<lambda(folly::Try<nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse> >&&)>; R = folly::futures::detail::callableResult<nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse>, folly::Future<T>::thenValue(F&&) && [with F = nebula::graph::GoExecutor::fetchVertexProps(std::vector<long int>, nebula::graph::GoExecutor::RpcResponse&&)::<lambda(auto:75&&)>&; T = nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse>]::<lambda(folly::Try<nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse> >&&)> >; bool isTry = true; Args = {folly::Try<nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse> >&&}; T = nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse>]::<lambda(folly::Try<nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse> >&&)> mutable::<lambda()> > (nebula-graphd)
#22 0x0000000001b19dfe _ZZN5folly7futures6detail10FutureBaseIN6nebula7storage18StorageRpcResponseINS4_4cpp213QueryResponseEEEE18thenImplementationIZNOS_6FutureIS8_E9thenValueIRZNS3_5graph10GoExecutor16fetchVertexPropsESt6vectorIlSaIlEEOS8_EUlOT_E_EENSB_INS1_19valueCallableResultIS8_SK_E10value_typeEEESL_EUlONS_3TryIS8_EEE_NS1_14callableResultIS8_SV_EELb1EJSU_EEENSt9enable_ifIXntsrNT0_13ReturnsFutureE5valueENSZ_6ReturnEE4typeESL_NS1_9argResultIXT1_ESK_JDpT2_EEEENUlSU_E_clESU_ (nebula-graphd)
#23 0x0000000001b1cb93 callBig<folly::futures::detail::FutureBase<T>::thenImplementation(F&&, folly::futures::detail::argResult<isTry, F, Args ...>) [with F = folly::Future<T>::thenValue(F&&) && [with F = nebula::graph::GoExecutor::fetchVertexProps(std::vector<long int>, nebula::graph::GoExecutor::RpcResponse&&)::<lambda(auto:75&&)>&; T = nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse>]::<lambda(folly::Try<nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse> >&&)>; R = folly::futures::detail::callableResult<nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse>, folly::Future<T>::thenValue(F&&) && [with F = nebula::graph::GoExecutor::fetchVertexProps(std::vector<long int>, nebula::graph::GoExecutor::RpcResponse&&)::<lambda(auto:75&&)>&; T = nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse>]::<lambda(folly::Try<nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse> >&&)> >; bool isTry = true; Args = {folly::Try<nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse> >&&}; T = nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse>]::<lambda(folly::Try<nebula::storage::StorageRpcResponse<nebula::storage::cpp2::QueryResponse> >&&)> > (nebula-graphd)
#24 0x0000000001b3c5c8 _ZN5folly6detail8function14FunctionTraitsIFvONS_3TryIN6nebula7storage18StorageRpcResponseINS5_4cpp213QueryResponseEEEEEEEclESB_ (nebula-graphd)
#25 0x0000000001b39d67 _ZZN5folly7futures6detail4CoreIN6nebula7storage18StorageRpcResponseINS4_4cpp213QueryResponseEEEE10doCallbackEvENUlvE0_clEv (nebula-graphd)
#26 0x0000000001b3fc23 _ZN5folly6detail8function14FunctionTraitsIFvvEE9callSmallIZNS_7futures6detail4CoreIN6nebula7storage18StorageRpcResponseINSA_4cpp213QueryResponseEEEE10doCallbackEvEUlvE0_EEvRNS1_4DataE (nebula-graphd)
#27 0x0000000001a56ff5 _ZN5folly6detail8function14FunctionTraitsIFvvEEclEv (nebula-graphd)
#28 0x0000000001cb5120 _ZN6apache6thrift11concurrency14FunctionRunner3runEv (nebula-graphd)
#29 0x0000000002442793 _ZN6apache6thrift11concurrency13ThreadManager4Task3runEv (nebula-graphd)
#30 0x00000000024bb02e _ZN6apache6thrift11concurrency13PthreadThread10threadMainEPv (nebula-graphd)
#31 0x00007ff42cf3458e start_thread (libpthread.so.0)
#32 0x00007ff42ce61513 __clone (libc.so.6)