@@ -845,10 +845,12 @@ async function startPollLoop() {
845845 const STATUS_LOG_INTERVAL_MS = 60_000 ; // log a status line every 60s even when idle
846846
847847 while ( true ) {
848+ let pollSucceeded = false ;
848849 try {
849850 pruneDedupe ( ) ;
850851
851852 const messages = await pullInbox ( ) ;
853+ pollSucceeded = true ;
852854 markHealth ( "poll" , true ) ;
853855 pollCount ++ ;
854856 const ackIds = [ ] ;
@@ -919,11 +921,18 @@ async function startPollLoop() {
919921 backoffMs = POLL_INTERVAL_MS ;
920922 await sleep ( POLL_INTERVAL_MS ) ;
921923 } catch ( err ) {
922- markHealth ( "poll" , false , err ) ;
923- const errMsg = err instanceof Error ? err . message : "unknown error" ;
924- const errStack = err instanceof Error ? err . stack : "" ;
925- logError ( `❌ inbox poll failed: ${ errMsg } ` ) ;
926- if ( errStack ) logError ( ` stack: ${ errStack } ` ) ;
924+ if ( ! pollSucceeded ) {
925+ markHealth ( "poll" , false , err ) ;
926+ const errMsg = err instanceof Error ? err . message : "unknown error" ;
927+ const errStack = err instanceof Error ? err . stack : "" ;
928+ logError ( `❌ inbox poll failed: ${ errMsg } ` ) ;
929+ if ( errStack ) logError ( ` stack: ${ errStack } ` ) ;
930+ } else {
931+ const errMsg = err instanceof Error ? err . message : "unknown error" ;
932+ const errStack = err instanceof Error ? err . stack : "" ;
933+ logError ( `❌ broker cycle failed after successful poll: ${ errMsg } ` ) ;
934+ if ( errStack ) logError ( ` stack: ${ errStack } ` ) ;
935+ }
927936 logError ( ` ↳ backing off ${ backoffMs } ms before next attempt` ) ;
928937 await sleep ( backoffMs ) ;
929938 backoffMs = Math . min ( MAX_BACKOFF_MS , Math . max ( POLL_INTERVAL_MS , backoffMs * 2 ) ) ;
0 commit comments