Open jtnelson opened 7 months ago
Will need to keep in mind how the record caching works. So will probably need to create the master Record that will be added to the cache and the accumulate some smaller records and then do a
record.merge(records...) that will go through each of the records in order and append all their revisions.
Right now, reading the revisions for a record is done synchronously. This means that operations can be slow if the relevant revisions for the record are not in memory (or the Manifest for each Segment must be loaded from disk).
This really affects search performance, especially if the search cache isn't enabled.
Add an experimental preference to ENABLE_ASYNC_DATA_READS. If it is enabled, in the getCorpusRecord, getIndexRecord, getLookupRecord, getTableRecord, etc change the logic
would transform into something like
Run some tests (particular with search without cahce) to see if performance is faster...especially reading from disk