cassandra - cqlsh 更改表期间操作超时

标签 cassandra cqlsh

我在 cqlsh 中运行 alter table 命令时收到 OperationTimedOut 错误。这怎么可能?由于这只是表元数据更新,因此该操作不应该几乎立即运行吗?

具体来说,这是我的 cqlsh session 的摘录

cqlsh:metric> alter table metric with gc_grace_seconds = 86400;
OperationTimedOut: errors={}, last_host=sandbox73vm230

指标表当前的 gc_grace_seconds 为 864000。我在 2 节点集群和 6 节点 2 数据中心集群中看到了这种行为。我的节点总体上似乎通信良好(例如,我可以插入一个节点并从另一个节点读取)。以下是完整的表定义(带有 DateTieredCompactionStrategy、集群和缓存更改的 cyanite 0.1.3 架构):

CREATE TABLE metric.metric (
    tenant text,
    period int,
    rollup int,
    path text,
    time bigint,
    data list<double>,
    PRIMARY KEY ((tenant, period, rollup, path), time)
) WITH CLUSTERING ORDER BY (time ASC)
    AND bloom_filter_fp_chance = 0.01
    AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
    AND comment = ''
    AND compaction = {'timestamp_resolution': 'SECONDS', 'class': 'org.apache.cassandra.db.compaction.DateTieredCompactionStrategy'}
    AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
    AND dclocal_read_repair_chance = 0.0
    AND default_time_to_live = 0
    AND gc_grace_seconds = 864000
    AND max_index_interval = 2048
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND read_repair_chance = 0.0
    AND speculative_retry = 'NONE';

最佳答案

我意识到这个问题已经很老了,你可能已经找到了答案或者继续前进,但想发布这个以防其他人偶然发现它。

默认的cqlsh请求超时为10秒。您可以通过启动 cqlsh 来调整此设置,并将 --request-timeout 选项设置为允许 ALTER TABLE 运行完成的某个值,例如:

cqlsh --request-timeout=1000000

关于cassandra - cqlsh 更改表期间操作超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32505081/

相关文章:

cassandra - cassandra的物理磁盘空间管理

cassandra - CQLSH 协议(protocol)错误

Cassandra "Unexpected error deserializing mutation"错误

cassandra - 如何使用 cqlsh 将 Cassandra 连接到本地主机?

java - 将 Cassandra BoundStatement 的 ResultSet 映射/转换/转换为使用对象映射 API 构建的 Java 类的最有效方法是什么?

scala - SpringDataForCassandra : NullPointerEx in Entity when an Int column is set null in DB

hadoop - cassandra 上的 Nutch 2.3.1 无法启动

cassandra - 即使使用 Quorum 配置,Cassandra 中的数据也不一致

cassandra - 在 Cassandra 2.2 中,无法创建包含密码的角色