Skip to content

server: 'DictDescriptorStore' is missing 'commit()', causing 500 on registry writes #626

Closed

Description

@paul-gerber-svg

DictDescriptorStore (server/app/model/provider.py) has no commit() method, so it uses the SDK's default one, which just raises NotImplementedError(). The registry calls commit() on every add/update, so POST/PUT to /shell-descriptors returns 500 in the default config.

Proposed fix: add a no-op commit() to DictDescriptorStore, like the SDK's DictObjectStore already has.

Root cause is that the commit() method in the abstract base class AbstractObjectStore is not flagged as an abstract method.
We should consider adding the correct decorator.

Activity

  1. hpoeche commented on Sep 9, 2026

    @hpoeche
    Contributor

    The basyx-python-registry docker image, sets STORAGE_PERSISTNECY=false as default, so the RegistryAPI is started with a DictDescriptorStore by default, which fails on every write.
    Although, this is no setup, that will be used in production, default options should produce working examples of our own server.

  2. added
    bugSomething isn't working
    serverSomething to do with the `server` package
    on Sep 15, 2026
  3. added this to the Release 2.3.0 milestone on Sep 15, 2026
  4. JAB1305 commented on Sep 23, 2026

    @JAB1305
    Contributor

    Working on this issue

  5. JAB1305 commented on Sep 24, 2026

    @JAB1305
    Contributor

    Okay so I added the commit() no-op resolving the internal errors (#642).

    I am still unsure wether marking the commit() method as abstract might be breaking something somewhere. Within the SDK it is not. But maybe there is an external use for this? The behaviour would change from throwing errors on "demand" to now failing construction if someone were to use custom stores that are not persistent. But I would still favour to exclude similar issues from appearing in the future. Thoughts?

  6. added a commit that references this issue on Oct 6, 2026
    e97a4e2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingserverSomething to do with the `server` package

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions