During testing for Corda 4, it was discovered that states created by a node running Corda 3 cannot be used by new features, as these states are not correctly migrated when the node is upgraded. In particular:
- All states are marked as relevant (regardless of actual relevancy)
- No states are populated in the state_party table
Fixing this requires providing a custom liquibase migration that starts enough node services to read serialized data out of the database (such as transactions), as determining what to do with the states currently in the vault requires this data. Some manual testing is also required to ensure databases created with a V3 node can be migrated successfully.
See CORDA-2435 Done for the original issue.