我正在运行一个三节点 CockroachDB docker 集群(Debian OS),我最近按照文档中概述的过程使用选项将集群从版本 v21.1 升级到版本 v21.2
SET CLUSTER SETTING cluster.preserve_downgrade_option = '21.1';
然后我一次重新启动每个节点的容器,当没有出现问题时,我运行
RESET CLUSTER SETTING cluster.preserve_downgrade_option;
现在所有三个节点都运行相同的版本,并且cluster.preserve_downgrade_option设置为空字符串。尽管如此,即使从那时起已经过去了几个小时,当我尝试创建一个具有 21.2 版本中包含的功能的表时
create table randdb.public.randtable
(
name_surname varchar(30),
update_tim TIMESTAMPTZ DEFAULT now() ON UPDATE now(),
PRIMARY KEY (name_surname)
)
我收到错误消息
SQL Error [0A000]: ERROR: version 21.1-1152 must be finalized to use ON UPDATE
除此之外,集群似乎功能齐全。任何想法出了什么问题?
问题已解决。问题是一个长期死节点在升级时尚未退役,导致集群在升级集群版本之前等待该节点升级。
这是通过运行处理的