Skip to content

Add thread lock to CameraState for best objects lookup#60

Merged
ManupaKDU merged 1 commit into
devfrom
add-best-objects-lock-13862272300984734973
Jun 12, 2026
Merged

Add thread lock to CameraState for best objects lookup#60
ManupaKDU merged 1 commit into
devfrom
add-best-objects-lock-13862272300984734973

Conversation

@ManupaKDU

Copy link
Copy Markdown

This PR adds a thread lock to protect concurrent dictionary accesses of best_objects and frame_cache within CameraState.


PR created automatically by Jules for task 13862272300984734973 started by @manupawickramasinghe

Added a threading.RLock to `CameraState` (as `best_objects_lock`) and used it to protect access, iteration, and mutation of `best_objects` and the tightly coupled `frame_cache` dictionaries across both `frigate/camera/state.py` and `frigate/track/object_processing.py`. This resolves potential race conditions during concurrent accesses like `get_best` queries and frame cache background cleanup.

Co-authored-by: manupawickramasinghe <73810867+manupawickramasinghe@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@github-actions

Copy link
Copy Markdown

PR template validation failed

This PR was automatically closed because the description does not follow the pull request template.

Issues found:

  • Missing section: ## Proposed change
  • Missing section: ## Type of change
  • Missing section: ## AI disclosure
  • Missing section: ## Checklist
  • The Proposed change section is empty. Please describe what this PR does.

Please update your PR description to include all required sections from the template, then reopen this PR.

If you used an AI tool to generate this PR, please see our contributing guidelines for details.

@github-actions github-actions Bot closed this Jun 12, 2026
@ManupaKDU ManupaKDU reopened this Jun 12, 2026
@ManupaKDU ManupaKDU merged commit 18c4ad5 into dev Jun 12, 2026
4 of 11 checks passed
@manupawickramasinghe manupawickramasinghe deleted the add-best-objects-lock-13862272300984734973 branch June 13, 2026 13:10
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