Add thread lock to CameraState for best objects lookup#60
Conversation
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>
|
👋 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 New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
PR template validation failedThis PR was automatically closed because the description does not follow the pull request template. Issues found:
Please update your PR description to include all required sections from the template, then reopen this PR.
|
This PR adds a thread lock to protect concurrent dictionary accesses of
best_objectsandframe_cachewithinCameraState.PR created automatically by Jules for task 13862272300984734973 started by @manupawickramasinghe