xtdb

jussi 2025-08-07T16:16:38.959389Z

(ref: XTDBv1) I was about to upgrade from 1.23.0 to latest 1.24.x but had difficulties of configuring Google Cloud Storage checkpointing in a way that would re-use existing checkpoint files. The result is that while deploying the google cloud startup probe fails because the startup takes too long when XTDB tries to build it's kv-storage, this is the last log line before container gets restarted until retries are exhausted. INFO xtdb.tx - XT tx ingester starting... Latest completed tx 'null', latest submitted to tx-log '2219256' Old config for checkpoints was

{:checkpointer {:xtdb/module 'xtdb.checkpoint/->checkpointer
                                      :store {:xtdb/module 'xtdb.google.cloud-storage/->checkpoint-store
                                              :path (str "gs://" bucket)}
                                      :approx-frequency (java.time.Duration/ofHours 1)}}
Where bucket is a configurable name for the bucket (eg. "pilot-xtdb-checkpoints"). I tried the new version with
{:checkpointer {:xtdb/module 'xtdb.checkpoint/->checkpointer
                                      :store {:xtdb/module 'xtdb.google.cloud-storage/->checkpoint-store
                                              :project-id (:xtdb-project-id config)
                                              :bucket bucket}
                                      :approx-frequency (java.time.Duration/ofHours 1)}}
To no avail. I also tried adding :prefix "gs://" to store config with no visible effect. Are there other reasons for not using existing checkpoint files (like changed format) or am I just configuring it wrong? (just returned to work from vacay, so brains might be a tad bit slow to work, sry if this something really silly pebkac stuff)

refset 2025-08-08T08:22:09.235359Z

Hey @jussi.mononen 🙂 did you switch buckets here also? wondering if https://github.com/xtdb/xtdb/issues/2553 might apply

jussi 2025-08-08T08:22:34.226729Z

Nope, same buckets, I did not make any changes to our cloud infra.

jussi 2025-08-08T08:22:59.661209Z

Did a routine "bump dependencies" rounds and run into this 😎

jussi 2025-08-08T08:24:15.703239Z

The only change was version and then config changes

refset 2025-08-08T08:24:57.502169Z

Kk, I'll keep thinking thinking-face

jussi 2025-08-08T08:27:21.787759Z

🙏🏻

refset 2025-08-08T08:32:25.619379Z

this is PR where things changed https://github.com/xtdb/xtdb/pull/2621/files assume you didn't have prefix in your bucket path previously?

jussi 2025-08-08T08:37:21.385409Z

No, we did not. Bucket name is a simple string without any directories.

jussi 2025-08-08T08:39:58.299069Z

Wondering also whether my assumption / deduction of the cause is correct. if nothing has changed physically in google cloud storage, all paths and files are as they were and I make the configuration change when updating version to 1.24.5, everything should just work as before?

jussi 2025-08-08T08:41:55.842229Z

A screencap of the bucket view in GCP in question

refset 2025-08-08T09:11:27.601389Z

My understanding is that the old files should remain usable from the new storage module, but I haven't verified it with my own eyes/REPL

refset 2025-08-08T09:14:08.073609Z

Do you have REPL access to the bucket? Could be worth checking that list-blobs in the GCS ns actually returns something (and isn't hitting authz issues etc.)

refset 2025-08-08T09:14:35.357429Z

If you have any bandwidth to pair on Monday I can make the time - can't today unfortunately

jussi 2025-08-08T09:18:46.480909Z

Not sure if the bucket is accessible from REPL, we do have bastion host / ssh access to our VPC but havent' checked if the bucket is actually accessible.