Upgrade

CockroachDB 升級未完成

  • November 30, 2021

我正在執行一個三節點 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

除此之外,集群似乎功能齊全。任何想法出了什麼問題?

問題已解決。問題是一個長期死節點在升級時尚未退役,導致集群在升級集群版本之前等待該節點升級。

這是通過執行處理的

cockroach node decommission <dead_node_id> --certs-dir=<certs_dir> --host=<live_docker_hostname> --cluster-name=<cluster_name>

引用自:https://dba.stackexchange.com/questions/303294