Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

happy-san
Copy link
Contributor

@happy-san happy-san commented Jul 23, 2025

Change Summary

  • Move update_async_references() call into Collection::batch_index_in_memory to avoid Collection mutex lock.
  • Refine mutex locking in Collection::search. Unlock before calling index->run_search and prune_doc methods.
  • Refine mutex locking in Collection::add_many. Make copies of required collection variables before calling detect_new_fields.
  • Remove dependence of join.cpp on collection.h, call CollectionManager instead.

PR Checklist

@happy-san happy-san force-pushed the async_ref_deadlock branch 4 times, most recently from b8cc6ad to a30571f Compare July 30, 2025 06:59
Unlock Collection mutex before calling `index->run_search` to avoid potential deadlock in case of filter_by Join call being run in parallel with document indexing operation of the referenced collection.
 Unlock Collection mutex before calling `prune_doc` to avoid potential deadlock.
 Make copies of collection fields before calling `detect_new_fields`.
Add `is_array` property in `reference_info_t`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant