You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
server: 'DictDescriptorStore' is missing 'commit()', causing 500 on registry writes #626
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.
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.
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?
Activity
Enable `STORAGE_PERSISTENCY` in integration tests (eclipse-basyx#626)
hpoeche commentedon Sep 9, 2026
The
basyx-python-registrydocker image, setsSTORAGE_PERSISTNECY=falseas default, so theRegistryAPIis started with aDictDescriptorStoreby 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.
JAB1305 commentedon Sep 23, 2026
Working on this issue
JAB1305 commentedon Sep 24, 2026
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?
Mark `_InMemoryDescriptorStore` as workaround for eclipse-basyx#626
server/provider.py: Add no-op commit (#642)
Remove workaround for `DictDescriptorStore` (eclipse-basyx#626)