创建表时出现 Express-Cassandra OperationTimedOutError

Express-Cassandra OperationTimedOutError while creating tables

我在 Cassandra 中使用 express-Cassandra ORM 和 DB 操作。

环境: 版本:2.1.1 节点 8.9.1 卡桑德拉:3.9 美分 OS: 6.0

面对这个问题,当 运行 nodejs 在 Cassandra 中初始化模型时,我需要多次重启 nodejs 来初始化所有模块。

Getting timeout error: cause: { apollo.model.tablecreation.dbindexcreate: Error while creating index on DB Table -> NoHostAvailableError: All host(s) tried for query failed. First host tried, 127.0.0.1:9042: OperationTimedOutError: The host 127.0.0.1:9042 did not reply before timeout 12000 ms. See innerErrors

所以在重启 mulitpel 时间后,我能够完成 cassandra 初始化。

以及如何解决这个问题或如何找到更多日志以及这个内部错误是什么?

谢谢, 詹姆斯

您可能需要在您的客户端选项中使用 socketOptions.readTimeout,如下所示:

models.setDirectory( __dirname + '/models').bind({
    clientOptions: {
        contactPoints: ['127.0.0.1'],
        protocolOptions: { port: 9042 },
        keyspace: 'mykeyspace',
        queryOptions: { consistency: models.consistencies.one },
        socketOptions: { readTimeout: 0 }
    },
    ormOptions: {
        defaultReplicationStrategy : {
            class: 'SimpleStrategy',
            replication_factor: 1
        },
        migration: 'safe'
    }
},
function(err) {
    if(err) throw err;
});

你可以看看这个讨论:https://github.com/masumsoft/express-cassandra/issues/156