关于java客户端创建tag并建立对应的索引,怎么能在资源完全创建成功之后返回一个值呢?

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 要给的详细一点?

请问你知道我这种情况是因为索引还没有完全建立好吗??


如果是的话我就去检查索引是否建立好

同这个问题 insert vertex报错 - #31 由 hangjianglaoweng
1.0的客户端需完善error message

rebuild index

你没有回答我的问题 :rofl:
你的意思是我出现第一次lookup不成功,两秒之后再查询就成功的情况,是因为索引没有完全建立好是吗

是的,创建索引的话,需要有段时间的等待。

那这种情况下,如果我show tag indexes,列表中有我创建的索引,是代表索引已经创建好,还是说只是展示在这里,而没有完全创建好呢?

把你的示例code贴一下吧,我不确定大家是不是在一个频道上。

我理解他的意思,如何确认索引是否完全创建好,然后后面的查询就能顺畅的进行。需要提供一个确定的方式,这个还是请 @bright-starry-sky 来给个确定的答案吧。

创建索引并sleep一个heartbeat_interval_secs的时间,此时索引确保可用。

2 个赞

请问我怎么可以获取到这个时间呢?

在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"}                                                                                 |
+-----------+-------------------------------------+--------+-----------+------------------------------------------------------------------------------------------------------+