Source in terminally bad state due to missing secret

Summary

A Source is encountering a runtime exception due to a missing secret, rendering it unusable and undeletable. The error message indicates that the secret was not found in the store.


Question

I’m getting some issues where a Source gets into a terminally bad state because it is missing a secret. You can’t do anything with this source (not even delete it) once it gets this way because you always get an error about:

    at io.airbyte.config.secrets.SecretsHelpers.getOrThrowSecretValue(SecretsHelpers.kt:404) ~[io.airbyte.airbyte-config-config-secrets-0.50.40.jar:?]
    at io.airbyte.config.secrets.SecretsHelpers.combineConfig(SecretsHelpers.kt:194) ~[io.airbyte.airbyte-config-config-secrets-0.50.40.jar:?]
    at io.airbyte.config.secrets.SecretsHelpers$combineConfig$1.invoke(SecretsHelpers.kt:207) ~[io.airbyte.airbyte-config-config-secrets-0.50.40.jar:?]
    at io.airbyte.config.secrets.SecretsHelpers$combineConfig$1.invoke(SecretsHelpers.kt:198) ~[io.airbyte.airbyte-config-config-secrets-0.50.40.jar:?]
    at io.airbyte.config.secrets.SecretsHelpers.combineConfig$lambda$2(SecretsHelpers.kt:198) ~[io.airbyte.airbyte-config-config-secrets-0.50.40.jar:?]```

<br>

---

This topic has been created from a Slack thread to give it more visibility.
It will be on Read-Only mode here. [Click here](https://airbytehq.slack.com/archives/C021JANJ6TY/p1704311623509889) if you want to access the original thread.

[Join the conversation on Slack](https://slack.airbyte.com)

<sub>
["source", "terminally-bad-state", "missing-secret", "runtime-exception", "undeletable", "error-message"]
</sub>

I looked up the secret and it is in the DB table

                                              coordinate                                               | payload
-------------------------------------------------------------------------------------------------------+---------
 airbyte_workspace_a3758eff-c468-4d2c-b1fa-3c3b721a8e7f_secret_c1fc7504-55cd-4873-8e47-b69f9e91c32a_v1 |```
but it has a blank payload

As a troubleshooting step i was able to run
update secrets set payload = 'aaaa' where payload = '';
and put a value there; and this problem clears up