Skip to content

fix: add .qdrant_code_embeddings to IGNORE_PATTERNS#291

Merged
vitali87 merged 3 commits intomainfrom
fix/ignore-qdrant-embeddings-286
Feb 1, 2026
Merged

fix: add .qdrant_code_embeddings to IGNORE_PATTERNS#291
vitali87 merged 3 commits intomainfrom
fix/ignore-qdrant-embeddings-286

Conversation

@vitali87
Copy link
Owner

@vitali87 vitali87 commented Feb 1, 2026

Summary

  • Add .qdrant_code_embeddings to IGNORE_PATTERNS in constants.py to prevent the realtime watcher from detecting Qdrant storage changes
  • Add missing ty: ignore[unresolved-import] comment to health_checker.py for consistency with other mgclient imports

Test plan

  • Verify realtime watcher no longer triggers on .qdrant_code_embeddings/storage.sqlite changes
  • Confirm semantic search embeddings are still stored and retrieved correctly

Fixes #286

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @vitali87, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refines the project's operational efficiency by addressing an issue with the realtime file watcher, ensuring it no longer reacts to transient Qdrant storage modifications. It also improves code maintainability by resolving a type-checking warning for a specific import and updates a core dependency to its latest version, contributing to overall stability and consistency.

Highlights

  • File Watching Optimization: Added the .qdrant_code_embeddings directory to the IGNORE_PATTERNS in constants.py to prevent the realtime watcher from being triggered by Qdrant storage changes.
  • Type Hinting Consistency: Included a ty: ignore[unresolved-import] comment for the mgclient import in health_checker.py to align with existing practices for similar imports and suppress type-checking warnings.
  • Dependency Version Update: Updated the graph-code package version from 0.0.41 to 0.0.43 in uv.lock, reflecting a dependency upgrade.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request correctly adds the .qdrant_code_embeddings directory to the IGNORE_PATTERNS to prevent it from being indexed by the realtime watcher. It also adds a ty: ignore comment for consistency. My only suggestion is to maintain alphabetical order in the IGNORE_PATTERNS set for better readability and future maintenance.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 1, 2026

Greptile Overview

Greptile Summary

Added .qdrant_code_embeddings to IGNORE_PATTERNS to prevent the realtime watcher from triggering on Qdrant storage changes, and added a missing type ignore comment to health_checker.py for consistency with other mgclient imports.

Key Changes:

  • Added .qdrant_code_embeddings to IGNORE_PATTERNS in constants.py - prevents realtime file watcher from detecting changes to Qdrant's SQLite storage file
  • Added # ty: ignore[unresolved-import] to mgclient import in health_checker.py - maintains consistency with the same pattern used in graph_service.py and conftest.py
  • Version bump to 0.0.43 in uv.lock

Issues Found:

  • The new entry .qdrant_code_embeddings is not alphabetically sorted in the IGNORE_PATTERNS set - should be placed after .eclipse

Confidence Score: 4/5

  • This PR is safe to merge with minimal risk - addresses a specific issue with realtime watcher triggering on database storage changes
  • The changes are straightforward and focused: adding a directory to ignore patterns and maintaining type checking consistency. The only issue is a minor style concern with alphabetical ordering in the IGNORE_PATTERNS set, which doesn't affect functionality
  • No files require special attention - all changes are low-risk

Important Files Changed

Filename Overview
codebase_rag/constants.py Added .qdrant_code_embeddings to IGNORE_PATTERNS to prevent realtime watcher from detecting Qdrant storage changes, but entry is not alphabetically sorted
codebase_rag/tools/health_checker.py Added ty: ignore[unresolved-import] comment to mgclient import for consistency with other files

Sequence Diagram

sequenceDiagram
    participant FS as File System
    participant RW as Realtime Watcher
    participant IP as IGNORE_PATTERNS
    participant GU as Graph Updater
    participant QD as Qdrant Storage

    Note over QD: .qdrant_code_embeddings/<br/>storage.sqlite changes

    FS->>RW: File change event<br/>(.qdrant_code_embeddings/storage.sqlite)
    RW->>RW: _is_relevant(path)
    RW->>IP: Check if path parts<br/>in IGNORE_PATTERNS
    IP-->>RW: .qdrant_code_embeddings found
    RW-->>FS: Ignore event (no processing)
    
    Note over RW,GU: Without this fix, watcher would<br/>trigger graph updates on<br/>Qdrant storage changes
Loading

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

@vitali87 vitali87 merged commit 6fcf856 into main Feb 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Realtime watcher self-triggers on .qdrant_code_embeddings (infinite loop)

1 participant