Skip undefined secrets in keyring migration (#1098)

* Skip undefined secrets in keyring migration

If a secret does not exist in datastore, log and skip it.
This commit is contained in:
Weimin Yu 2021-04-20 16:26:40 -04:00 committed by GitHub
parent 23896b64c7
commit fff95b20e6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -266,7 +266,13 @@ public class KmsKeyring implements Keyring {
.collect(ImmutableList.toImmutableList()); .collect(ImmutableList.toImmutableList());
for (String keyName : labels) { for (String keyName : labels) {
byte[] dsData = getDecryptedDataFromDatastore(keyName); byte[] dsData;
try {
dsData = getDecryptedDataFromDatastore(keyName);
} catch (IllegalStateException e) {
logger.atWarning().log("Cannot load %s from Datastore. Skipping...", keyName);
continue;
}
byte[] secretStoreData = getDataFromSecretStore(keyName); byte[] secretStoreData = getDataFromSecretStore(keyName);
if (Arrays.equals(dsData, secretStoreData)) { if (Arrays.equals(dsData, secretStoreData)) {
logger.atInfo().log("%s is already up to date.\n", keyName); logger.atInfo().log("%s is already up to date.\n", keyName);