juicedata/juicefs · error
Invalid endpoint %s: %s
Error message
Invalid endpoint %s: %s
What it means
url.ParseRequestURI rejected the gluster endpoint after scheme prefixing. A validation guard: the endpoint string is not a parseable URI (malformed host, bad characters, missing authority), so no gluster volume connection can be attempted.
Source
Thrown at pkg/object/gluster.go:280
func (g *gluster) Chtimes(path string, mtime time.Time) error {
return notSupported
}
func (g *gluster) Chmod(path string, mode os.FileMode) error {
return g.vol().Chmod(path, mode)
}
func (g *gluster) Chown(path string, owner, group string) error {
return notSupported
}
func newGluster(endpoint, ak, sk, token string) (ObjectStorage, error) {
if !strings.Contains(endpoint, "://") {
endpoint = fmt.Sprintf("gluster://%s", endpoint)
}
uri, err := url.ParseRequestURI(endpoint)
if err != nil {
return nil, fmt.Errorf("Invalid endpoint %s: %s", endpoint, err)
}
ps := strings.Split(uri.Path, "/")
if len(ps) == 1 {
return nil, fmt.Errorf("no volume provided")
}
name := ps[1]
// multiple clients for possible performance improvement
var size int
if ssize := os.Getenv("JFS_NUM_GLUSTER_CLIENTS"); ssize != "" {
size, _ = strconv.Atoi(ssize)
if size > 8 {
size = 8
}
}
if size < 1 {
size = 1
}
// loggingView on GitHub (pinned to c9a67b23e8)
Solutions
- Provide a well-formed gluster endpoint, e.g. gluster://host/volume
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pkg/object/gluster.go:280 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of juicedata/juicefs@c9a67b23e8 (2026-09-06).
Data as JSON: /api/errors/fdd3cad76b2d12fd.
Report an issue: GitHub.