det*_*ram 6 graph-databases gremlin amazon-neptune
我正在尝试使用 gremlin npm 模块并连接到 Neptune 数据库。在测试期间,我尝试让 gremlin 连接到非活动端点和无效 url,以使系统更具弹性。我预计会抛出某种错误。但是,对于无效/不活动的 url,图形遍历不会在没有消息传递的情况下解决。
const traversal = gremlin.process.AnonymousTraversalSource.traversal;
const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection;
const dc = new DriverRemoteConnection('wss://localhost:80');
const g = traversal().withRemote(dc);
const data = await g.V().limit(1).toList();
console.log(data);
Run Code Online (Sandbox Code Playgroud)
我希望g.V().limit(1).toList()在使用无效的远程连接时抛出错误。同样,promise 永远不会解决,console.log(data)下一行的 永远不会运行。
对此的任何帮助将不胜感激!我需要某种系统来检测数据库连接是否有效,如果无效则记录错误。
当前的 JavaScript GLV 存在问题,我们已提交TINKERPOP-2381来总结这些问题。
当地址指向有效服务器时,这不应影响 GLV。
感谢您在问题中提供如此详细的信息。
我正在添加一个答案,以便保留该线程。
经过调查,如果主机不存在,3.4.1 JavaScript Gremlin 客户端将引发异常并退出进程。对于 3.4.4 客户端(或更高版本),该错误似乎会被默默地吞没。