我正在尝试使用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);
我希望g.V().limit(1).toList()
在使用无效的远程连接时引发错误。同样,承诺永远不会解决,并且下一行的console.log(data)
永远不会运行。
任何帮助,我们将不胜感激!我需要某种系统来检测数据库连接是否有效以及是否记录错误。
我添加一个答案,以便保留此线程。
经过调查,如果主机不存在,则3.4.1 JavaScript Gremlin客户端会引发异常。使用3.4.4客户端(或更高版本)时,错误似乎被静默地吞没了。这将需要与Apache TinkerPop社区进行进一步调查,以了解可能发生了什么变化。在短期内,解决方案似乎将停留在3.4.1客户端上,直到更好地理解根本原因为止。