When debugging recent issues, I created a few unit tests in the hopes reproducing the bugs I was looking for. In the end, I didn't find any, but I thought it would still be good to keep those tests.
More importantly, I added a field to the DeleteDocuments and IndexDocuments builders, called disable_soft_deletion. If set to true, the indexing/deletion will never add documents to the soft_deleted_documents_ids and instead perform a real deletion of the documents from the databases.
For the new tests, I have:
Improved the insta-snapshot format of the external_documents_ids structure
Added more tests for the facet DB indexing, deletion, and search algorithms, making sure to test them when the facet DB contains strings (instead of numbers) as well.
Added more tests for the incremental indexing of the prefix proximity databases. For example, to see if documents are replaced correctly and if common prefixes are deleted correctly.
Added tests that mix soft deletion and hard deletion, including when processing batches of document updates.
Pull Request
What does this PR do?
When debugging recent issues, I created a few unit tests in the hopes reproducing the bugs I was looking for. In the end, I didn't find any, but I thought it would still be good to keep those tests.
More importantly, I added a field to the
DeleteDocuments
andIndexDocuments
builders, calleddisable_soft_deletion
. If set totrue
, the indexing/deletion will never add documents to thesoft_deleted_documents_ids
and instead perform a real deletion of the documents from the databases.For the new tests, I have:
external_documents_ids
structure