[PR #8265] [CLOSED] InstantIndexedDataWriter. #8318

Closed
opened 2026-03-23 23:23:37 +00:00 by mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/AppFlowy-IO/AppFlowy/pull/8265
Author: @Aathish101
Created: 10/9/2025
Status: Closed

Base: mainHead: patch-1


📝 Commits (1)

  • 99f42ba InstantIndexedDataWriter.

📊 Changes

1 file changed (+304 additions, -272 deletions)

View changed files

📝 frontend/rust-lib/collab-integrate/src/instant_indexed_data_provider.rs (+304 -272)

📄 Description

Feature Preview


PR Checklist

  • My code adheres to AppFlowy's Conventions
  • I've listed at least one issue that this PR fixes in the description above.
  • I've added a test(s) to validate changes in this PR, or this PR only contains semantic changes.
  • All existing tests are passing.

Summary by Sourcery

Introduce async-native locking and trait abstractions to improve the instant indexed data pipeline and refactor the periodic provider loop for clarity, robustness, and observability.

New Features:

  • Define CollabIndexedData trait for asynchronous retrieval of unindexed data with error handling.
  • Introduce InstantIndexedDataConsumer trait to formalize the consumer interface for indexing collab data.

Enhancements:

  • Refactor InstantIndexedDataWriter to use tokio::sync::RwLock and simplify public API methods.
  • Extract single-collab processing into its own async function and snapshot entries to release locks sooner.
  • Enhance the spawn_instant_indexed_provider loop with consumer presence checks, stale entry cleanup, and timing instrumentation.
  • Simplify index_encoded_collab and index_unindexed_collab methods with streamlined error contexts and logging.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/AppFlowy-IO/AppFlowy/pull/8265 **Author:** [@Aathish101](https://github.com/Aathish101) **Created:** 10/9/2025 **Status:** ❌ Closed **Base:** `main` ← **Head:** `patch-1` --- ### 📝 Commits (1) - [`99f42ba`](https://github.com/AppFlowy-IO/AppFlowy/commit/99f42baaa59d7d18b619276150d6d2fd48543976) InstantIndexedDataWriter. ### 📊 Changes **1 file changed** (+304 additions, -272 deletions) <details> <summary>View changed files</summary> 📝 `frontend/rust-lib/collab-integrate/src/instant_indexed_data_provider.rs` (+304 -272) </details> ### 📄 Description <!--- Thank you for submitting a pull request to AppFlowy. The team will dedicate their best efforts to reviewing and approving your pull request. If you have any questions about the project or feedback for us, please join our [Discord](https://discord.gg/wdjWUXXhtw). --> <!--- If your pull request adds a new feature, please drag and drop a video into this section to showcase what you've done! If not, you may delete this section. --> ### Feature Preview <!--- List at least one issue here that this PR addresses. If it fixes the issue, please use the [fixes](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests) keyword to close the issue. For example: fixes https://github.com/AppFlowy-IO/AppFlowy/pull/2106 --> --- <!--- Before you mark this PR ready for review, run through this checklist! --> #### PR Checklist - [ ] My code adheres to [AppFlowy's Conventions](https://docs.appflowy.io/docs/documentation/software-contributions/conventions) - [ ] I've listed at least one issue that this PR fixes in the description above. - [ ] I've added a test(s) to validate changes in this PR, or this PR only contains semantic changes. - [ ] All existing tests are passing. ## Summary by Sourcery Introduce async-native locking and trait abstractions to improve the instant indexed data pipeline and refactor the periodic provider loop for clarity, robustness, and observability. New Features: - Define CollabIndexedData trait for asynchronous retrieval of unindexed data with error handling. - Introduce InstantIndexedDataConsumer trait to formalize the consumer interface for indexing collab data. Enhancements: - Refactor InstantIndexedDataWriter to use tokio::sync::RwLock and simplify public API methods. - Extract single-collab processing into its own async function and snapshot entries to release locks sooner. - Enhance the spawn_instant_indexed_provider loop with consumer presence checks, stale entry cleanup, and timing instrumentation. - Simplify index_encoded_collab and index_unindexed_collab methods with streamlined error contexts and logging. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror 2026-03-23 23:23:37 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#8318
No description provided.