Skip to content

Personal space is silently not created when another space already uses its ID #3943

Open

Description

@pbleser-oc

With the decomposed driver, a user's personal space uses the user's ID as its space ID. If another space already has that ID, creating the personal space fails with ALREADY_EXISTS. The proxy calls CreateHome on every authenticated request and treats ALREADY_EXISTS as "the personal space is there", so it ignores the error without logging anything. The user ends up without a personal space, and nothing in the logs says why.

Today this can't happen, because project spaces get random IDs. It becomes possible once clients can choose the ID of a new space (#3899).

Expected

Creating a personal space fails with a distinct error (and a log line) when the ID is taken by a space that isn't this user's personal space, instead of the same ALREADY_EXISTS as when the user's own personal space already exists.

Where

  • decomposed's CreateStorageSpace returns ALREADY_EXISTS whenever a space root with that ID exists, regardless of its type and owner.
  • The proxy (services/proxy/pkg/middleware/create_home.go) only logs statuses other than ALREADY_EXISTS.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions