postgres:// scheme added to bucket address that already has scheme #2733
Replies: 3 comments
-
I think your bucket format is wrong, the format of postgres as an object store is different than when it is a meta.
as storage:
You can refer to this link |
Beta Was this translation helpful? Give feedback.
-
Yes, I eventually figured that out:
It took me several hours to figure out that I filed an issue because of the poor user experience it took to realize that the storage url must not contain a scheme. My ask in the issue was either:
This was especially confusing because the Nomad example at https://juicefs.com/docs/csi/csi-in-nomad/#community-edition shows |
Beta Was this translation helpful? Give feedback.
-
To improve the ease of use of the product, we will ignore the bucket url schema. #2750 |
Beta Was this translation helpful? Give feedback.
-
What happened:
I am using juicefs-csi-driver with Nomad, with both meta and data stores in postgres. Adding a volume was failing with a cryptic error:
What you expected to happen:
Volume created correctly.
How to reproduce it (as minimally and precisely as possible):
I was using this volume definition for Nomad:
I later found out that it was incorrect to have the
postgres://
scheme on the secrets.bucket value, but I had to spend a lot of time debugging before I learned that. I eventually found thatjuicefs/pkg/object/sql.go
Line 163 in 5427991
could simply check
strings.HasPrefix(uri, "postgres://")
before adding that prefix to theuri
.Alternatively, the volume could have been rejected for already containing a scheme with
storage=postgres
. Either way would have saved me quite a bit of time.Environment:
juicefs --version
) or Hadoop Java SDK version:docker.io/juicedata/juicefs-csi-driver:v0.17.0
Beta Was this translation helpful? Give feedback.
All reactions