@@ -52,6 +52,7 @@ public class PushManagerImp implements PushManager {
5252 private final ScheduledExecutorService _scheduledExecutorService ;
5353 private AtomicLong _expirationTime ;
5454 private final TelemetryRuntimeProducer _telemetryRuntimeProducer ;
55+ private final int _streamingTokenRefreshRate ;
5556
5657 @ VisibleForTesting
5758 /* package private */ PushManagerImp (AuthApiClient authApiClient ,
@@ -60,7 +61,8 @@ public class PushManagerImp implements PushManager {
6061 Worker <SegmentQueueDto > segmentWorker ,
6162 PushStatusTracker pushStatusTracker ,
6263 TelemetryRuntimeProducer telemetryRuntimeProducer ,
63- ThreadFactory threadFactory ) {
64+ ThreadFactory threadFactory ,
65+ int streamingTokenRefreshRate ) {
6466
6567 _authApiClient = checkNotNull (authApiClient );
6668 _eventSourceClient = checkNotNull (eventSourceClient );
@@ -70,6 +72,7 @@ public class PushManagerImp implements PushManager {
7072 _expirationTime = new AtomicLong ();
7173 _scheduledExecutorService = buildSingleThreadScheduledExecutor (threadFactory , "Split-SSERefreshToken-%d" );
7274 _telemetryRuntimeProducer = checkNotNull (telemetryRuntimeProducer );
75+ _streamingTokenRefreshRate = streamingTokenRefreshRate ;
7376 }
7477
7578 public static PushManagerImp build (Synchronizer synchronizer ,
@@ -83,7 +86,8 @@ public static PushManagerImp build(Synchronizer synchronizer,
8386 SplitCacheProducer splitCacheProducer ,
8487 FlagSetsFilter flagSetsFilter ,
8588 RuleBasedSegmentCache ruleBasedSegmentCache ,
86- RuleBasedSegmentParser ruleBasedSegmentParser ) {
89+ RuleBasedSegmentParser ruleBasedSegmentParser ,
90+ int streamingTokenRefreshRate ) {
8791 FeatureFlagsWorker featureFlagsWorker = new FeatureFlagWorkerImp (synchronizer , splitParser , ruleBasedSegmentParser , splitCacheProducer ,
8892 ruleBasedSegmentCache , telemetryRuntimeProducer , flagSetsFilter );
8993 Worker <SegmentQueueDto > segmentWorker = new SegmentsWorkerImp (synchronizer );
@@ -96,7 +100,8 @@ public static PushManagerImp build(Synchronizer synchronizer,
96100 segmentWorker ,
97101 pushStatusTracker ,
98102 telemetryRuntimeProducer ,
99- threadFactory );
103+ threadFactory ,
104+ streamingTokenRefreshRate );
100105 }
101106
102107 @ Override
@@ -106,18 +111,22 @@ public void start() {
106111 AuthenticationResponse response = _authApiClient .Authenticate ();
107112 _log .debug (String .format ("Auth service response pushEnabled: %s" , response .isPushEnabled ()));
108113 if (response .isPushEnabled () && startSse (response .getToken (), response .getChannels ())) {
109- _expirationTime .set (response . getExpiration () );
114+ _expirationTime .set (_streamingTokenRefreshRate );
110115 _telemetryRuntimeProducer .recordStreamingEvents (new StreamingEvent (StreamEventsEnum .TOKEN_REFRESH .getType (),
111116 response .getExpiration (), System .currentTimeMillis ()));
112117 return ;
113118 }
114119
115120 cleanUpResources ();
116121 if (response .isRetry ()) {
122+ _log .debug (String .format ("Handling retry error response" ));
117123 _pushStatusTracker .handleSseStatus (SSEClient .StatusMessage .RETRYABLE_ERROR );
118124 } else {
125+ _log .debug (String .format ("Auth service response is disabled: %s" , response .getToken ()));
119126 _pushStatusTracker .forcePushDisable ();
120127 }
128+ } catch (Exception e ) {
129+ _log .debug ("Exception in PushManager start: " + e .getMessage ());
121130 } finally {
122131 lock .unlock ();
123132 }
@@ -156,14 +165,22 @@ private boolean startSse(String token, String channels) {
156165
157166 @ Override
158167 public void startWorkers () {
159- _featureFlagsWorker .start ();
160- _segmentWorker .start ();
168+ try {
169+ _featureFlagsWorker .start ();
170+ _segmentWorker .start ();
171+ } catch (Exception e ) {
172+ _log .debug ("Exception in starting workers: " + e .getMessage ());
173+ }
161174 }
162175
163176 @ Override
164177 public void stopWorkers () {
165- _featureFlagsWorker .stop ();
166- _segmentWorker .stop ();
178+ try {
179+ _featureFlagsWorker .stop ();
180+ _segmentWorker .stop ();
181+ } catch (Exception e ) {
182+ _log .debug ("Exception in stopping workers: " + e .getMessage ());
183+ }
167184 }
168185
169186 private void cleanUpResources () {
0 commit comments