With the release of new scorch disk format, CBFT needs to handle the following scenarios.
- Existing indexes should continue to work seamlessly (indexing and querying) in the older zap(11) version.
- Post upgrade handling of index definition updates for older indexes.
- Any new indexes getting created should be on newer zap version 15/latest on an advanced enough cluster.
- Explicit index creation/update requests on the latest available zap version should error out in a mixed version cluster. (eg: during rolling upgrade)
- Zap version making an entry into the index definition seems inevitable.
- Zap plugin/version information needs to be passed onto bleve over a config map - https://github.com/couchbase/cbft/blob/b2e3634a250bcdc57c5770120ae6329cde4d2e1e/pindex_bleve.go#L801
- This is needed as CBFT can’t depend on the default versions of bleve releases as well as it has older existing indexes to work with.
- Eg: CBFT needs to pass older zap version 11 for existing FTS indexes while opening them.