If the provenance repository changes from encrypted -> unencrypted or vice-versa on startup, the application should handle the change.
- Unencrypted -> encrypted: Attempt to create a EventIdFirstSchemaRecordReader instance to read the existing events into memory and write them back using EncryptedSchemaRecordWriter
- Encrypted -> unencrypted: Attempt to create a EncryptedSchemaRecordReader instance to read the existing events into memory and write them back using EventIdFirstSchemaRecordWriter or ByteArraySchemaRecordWriter depending on the repository implementation class. This depends on the key(s) for the key IDs used still being available via nifi.properties.
This process may be very slow given large existing repositories, so a standalone tool should also be made available to perform this process outside of the running app.