-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Labels
bugSomething isn't workingSomething isn't working
Description
A credential definition can go into an un-publishable state, if it ever fails to be written to the ledger. This is because it is only written to the ledger if it does not already exist in the wallet ... and it will remain in the wallet if ledger publishing fails for whatever reason ...
Creating a new cred def with POST /v1/definitions/credentials may therefore result in a bad request error:
400: Credential definition `cred_def_id` is in wallet `wallet_name` but not on ledger `ledger_name`
The only current workaround is to try creating a different cred def, with a new tag.
This is a known bug in ACA-Py:
- ACA-py is out-of-sync with ledger after failed schema/credDef write openwallet-foundation/acapy#2256
- ACA-Py should perform wallet/ledger operations transactionally - Use atomic transactions openwallet-foundation/acapy#3031
A simple solution would be to contribute some logic to allow the "if not on ledger and exists in wallet, raise Exception" step to be bypassed, such that publishing to ledger can be retried.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working