Skip to content

Sync watcher.stop() leaks the gRPC stream thread #46

@zeevdr

Description

@zeevdr

Description

sdk/src/opendecree/watcher.py:184-191 joins the thread with a 5-second timeout but never calls stream.cancel(). The gRPC Subscribe call blocks forever inside the thread; with daemon=True the thread leaks until process exit.

Acceptance criteria

  • Store self._stream and call self._stream.cancel() before thread.join
  • Add a regression test that asserts no thread leak after watcher.stop()

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpriority: P0Blocks alpha or releasesize: SQuick win — a few hours or less

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions