Nebula版本:1.0
部署方式:单机
问题:
我用java客户端代码,进行语句的执行从而进行tag的创建,并跟着建立索引,有ErrorCode能返回一个0值代表我执行语句成功过。
但是现在我创建之后我立刻对这个tag进行lookup语句查询,第一时间是会报异常的,因为tag应该是没有完全创建好(这里的立刻是指我一旦返回创建成功的结果就马上进行查询),需要等一段时间才可以进行正常查询,虽然这个“一段时间”也不长。
我现在需要有一个当完全创建好tag和索引之后的一个返回值,请问java客户端能不能实现,而不是语句正常执行就返回一个success code,其实后台的资源呀、索引呀都还在建立过程中,导致我tag、索引返回了创建成功结果之后,还无法在“一段时间”内进行查询。
thrift接口是异步的, 请求发给服务端就返回了
后续也不太可能增加同步接口,用户暂时只能自己修改代码了 谢谢
请问这里是指改源代码吗?还是指例如执行语句之后让程序等待一段时间类似这样的修改?
改你那边的代码,执行完可以sleep一下
com.vesoft.nebula.client.graph.NGQLException: null
请问下知道这种异常是由什么原因造成的吗,仍然是上面那个问题,我做了一个show tags查询,有结果了,再执行lookup查询的,还是会报错。说明show tags里有了,但是这个tag仍然没有完全创建好?是这个意思吗?还是说我应该再判断下索引是否创建完成?
也就是说我现在采用的这种show tags的方式来判断tag及其索引有没有创建好,这种方式不管用,我有别的方式能判断tag和索引完全创建好了吗?我不想采用让程序sleep一段时间的方式,因为我无法保证这段时间之后,tag及索引被创建好。
lookup 之前 可以用desc tag index indexname 看看index 是否存在,如果不存在 不能使用lookup 查询
请问能说下NGQLException:null是什么异常吗?
检查索引不是执行 SHOW TAGS
而是 SHOW TAG INDEXES
,这个异常的话请 @nicole @darionyaphet @dingding 来看看是不是 error message 要给的详细一点?
rebuild index
你没有回答我的问题
你的意思是我出现第一次lookup不成功,两秒之后再查询就成功的情况,是因为索引没有完全建立好是吗
是的,创建索引的话,需要有段时间的等待。
那这种情况下,如果我show tag indexes,列表中有我创建的索引,是代表索引已经创建好,还是说只是展示在这里,而没有完全创建好呢?
把你的示例code贴一下吧,我不确定大家是不是在一个频道上。
创建索引并sleep一个heartbeat_interval_secs的时间,此时索引确保可用。
请问我怎么可以获取到这个时间呢?
在console中输入如下命令就能获得参数:
(root@nebula) [nba]> show configs
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| module | name | type | mode | value |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "GRAPH" | "v" | "int" | "MUTABLE" | 1 |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "GRAPH" | "minloglevel" | "int" | "MUTABLE" | 0 |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "GRAPH" | "slow_op_threshhold_ms" | "int" | "MUTABLE" | 50 |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "GRAPH" | "heartbeat_interval_secs" | "int" | "MUTABLE" | 3 |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "GRAPH" | "meta_client_retry_times" | "int" | "MUTABLE" | 3 |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "STORAGE" | "v" | "int" | "MUTABLE" | 0 |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "STORAGE" | "wal_ttl" | "int" | "MUTABLE" | 14400 |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "STORAGE" | "minloglevel" | "int" | "MUTABLE" | 0 |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "STORAGE" | "rocksdb_db_options" | "map" | "MUTABLE" | {} |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "STORAGE" | "enable_multi_versions" | "bool" | "MUTABLE" | false |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "STORAGE" | "slow_op_threshhold_ms" | "int" | "MUTABLE" | 50 |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "STORAGE" | "heartbeat_interval_secs" | "int" | "MUTABLE" | 3 |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "STORAGE" | "meta_client_retry_times" | "int" | "MUTABLE" | 3 |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "STORAGE" | "custom_filter_interval_secs" | "int" | "MUTABLE" | 86400 |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "STORAGE" | "max_edge_returned_per_vertex" | "int" | "MUTABLE" | 2147483647 |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "STORAGE" | "rocksdb_column_family_options" | "map" | "MUTABLE" | {max_bytes_for_level_base: "268435456", max_write_buffer_number: "4", write_buffer_size: "67108864"} |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+
| "STORAGE" | "rocksdb_block_based_table_options" | "map" | "MUTABLE" | {block_size: "8192"} |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+