Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -270,8 +270,8 @@ def _handle_flag_response(

def _handle_rpc_error(self, e: grpc.RpcError) -> bool:
"""Handle a gRPC RpcError. Returns True if the stream loop should stop."""
logger.warning(f"SyncFlags stream error, {e.code()=} {e.details()=}")
if e.code().name in self.config.fatal_status_codes:
logger.error(f"SyncFlags stream fatal error, {e.code()=} {e.details()=}")
self._is_fatal = True
self.active = False
self.emit_provider_error(
Expand All @@ -281,6 +281,10 @@ def _handle_rpc_error(self, e: grpc.RpcError) -> bool:
)
)
return True
# non-fatal errors just reconnect; real loss surfaces as a STALE event
logger.debug(
f"SyncFlags stream error, reconnecting, {e.code()=} {e.details()=}"
)
return False

def listen(self) -> None:
Expand Down
Loading