Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSami Hiltunen <shiltunen@gitlab.com>2022-04-01 16:45:07 +0300
committerSami Hiltunen <shiltunen@gitlab.com>2022-04-13 10:51:51 +0300
commit465af6714c19c7a7d0b38fd02b626b08d1b6f343 (patch)
treeaf2781f1ee8bd847a0c0b9b95d59871bbf68867a /_support
parent23efb30243f15dd8c29e222ba0552a21af9b1cbe (diff)
Add migrations for background verification schema
This commit adds the necessary schema changes for the metadata background verification. Each replica receives two new columns: 1. 'verified_at' which contains the timestamp of the last successful verification of the replica. This effectively allows for identifying replicas that are in need of reverification. 2. 'verification_leased_until' which contains a timestamp until which a worker has acquired a lease to reverify the repository. This prevents multiple workers from picking the same repository for reverification at the same time. 'verification_queue' index is added to index replicas which have not been acquired by any worker. This allows for efficientl querying replicas that are in need of reverification later. Changelog: other
Diffstat (limited to '_support')
-rw-r--r--_support/praefect-schema.sql11
1 files changed, 10 insertions, 1 deletions
diff --git a/_support/praefect-schema.sql b/_support/praefect-schema.sql
index b69a2f0c6..78316e80c 100644
--- a/_support/praefect-schema.sql
+++ b/_support/praefect-schema.sql
@@ -266,7 +266,9 @@ CREATE TABLE public.storage_repositories (
relative_path text NOT NULL,
storage text NOT NULL,
generation bigint NOT NULL,
- repository_id bigint NOT NULL
+ repository_id bigint NOT NULL,
+ verified_at timestamp with time zone,
+ verification_leased_until timestamp with time zone
);
@@ -556,6 +558,13 @@ CREATE UNIQUE INDEX storage_repositories_new_pkey ON public.storage_repositories
--
+-- Name: verification_queue; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX verification_queue ON public.storage_repositories USING btree (verified_at NULLS FIRST) WHERE (verification_leased_until IS NULL);
+
+
+--
-- Name: virtual_target_on_replication_queue_idx; Type: INDEX; Schema: public; Owner: -
--