我有一个下面的简单查询,它创建一个新顶点并在同一查询中在旧顶点和新顶点之间添加一条边。此查询在大多数情况下都运行良好。当系统负载过重并且 RU 耗尽时,就会出现奇怪的行为。
g.V('2f9d5fe8-6270-4928-8164-2580ad61e57a').AddE('likes').to(g.AddV('fruit').property('id','1').property('name','apple'))
在低/正常负载下,上述查询创建水果顶点并在和之间1
创建likes
边。预期的行为。user
fruit
在重负载下(可用的 RU 有限),上面的查询创建了fruit
顶点,但没有在andlikes
之间创建边。查询抛出状态码。如果我尝试重播查询,那么我会得到,因为顶点已经存在。此行为正在破坏数据。user
fruit
429
409
fruit
在很多地方我都有g.AddV
查询。因此,所有这些查询都可能在重负载下中断。
如果我使用__.addV
而不是有什么不同g.AddV
吗?
更新:使用__.addV
没有任何区别。
那么,我的查询错了吗?我需要在upsert
任何需要添加边缘的地方做吗?