perf(card): Adding config support for DS card flushCount and perf logs for cardinality calculation time #1666
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request checklist
Current behavior : We issue a RocksDB write for each each iteration of partKey while traversing through lucene index during DS cardinality store calculation. For large indexes (10-12 billions), this could take up to 2 hours.
New behavior : Reducing the number of RocksDB write by in-memory aggregation up to a configured
flushCount
after which we issue bulk RocksDB writes.