@@ -288,8 +288,7 @@ private void handleMessage(MessageEvent event) {
288288 Instant .now ()
289289 );
290290 result = FDv2SourceResult .interrupted (conversionError , getFallback (event ));
291- recordStreamInit (true ); // Record failed init before restarting
292- restartStream ();
291+ restartStream (true );
293292 }
294293 break ;
295294
@@ -305,7 +304,7 @@ private void handleMessage(MessageEvent event) {
305304 logger .info ("Goodbye was received from the LaunchDarkly connection with reason: '{}'." , reason );
306305 result = FDv2SourceResult .goodbye (reason , getFallback (event ));
307306 // We drop this current connection and attempt to restart the stream.
308- restartStream ();
307+ restartStream (false ); // Not a failure - deliberate server-initiated restart
309308 break ;
310309
311310 case INTERNAL_ERROR :
@@ -329,8 +328,7 @@ private void handleMessage(MessageEvent event) {
329328 );
330329 result = FDv2SourceResult .interrupted (internalError , getFallback (event ));
331330 if (kind == DataSourceStatusProvider .ErrorKind .INVALID_DATA ) {
332- recordStreamInit (true ); // Record failed init before restarting
333- restartStream ();
331+ restartStream (true );
334332 }
335333 break ;
336334
@@ -353,8 +351,7 @@ private void interruptedWithException(Exception e, DataSourceStatusProvider.Erro
353351 Instant .now ()
354352 );
355353 resultQueue .put (FDv2SourceResult .interrupted (errorInfo , getFallback (event )));
356- recordStreamInit (true ); // Record failed init before restarting
357- restartStream ();
354+ restartStream (true );
358355 }
359356
360357 private boolean handleError (StreamException e ) {
@@ -402,8 +399,9 @@ private boolean handleError(StreamException e) {
402399 return true ; // allow reconnect
403400 }
404401
405- private void restartStream () {
402+ private void restartStream (boolean failed ) {
406403 Objects .requireNonNull (eventSource , "eventSource must not be null" );
404+ recordStreamInit (failed );
407405 streamStarted = System .currentTimeMillis ();
408406 eventSource .interrupt ();
409407 protocolHandler .reset ();
0 commit comments