@@ -52,6 +52,7 @@ public class PushManagerImp implements PushManager{
5252private final ScheduledExecutorService _scheduledExecutorService ;
5353private AtomicLong _expirationTime ;
5454private 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{
6061Worker <SegmentQueueDto > segmentWorker ,
6162PushStatusTracker pushStatusTracker ,
6263TelemetryRuntimeProducer 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
7578public static PushManagerImp build (Synchronizer synchronizer ,
@@ -83,7 +86,8 @@ public static PushManagerImp build(Synchronizer synchronizer,
8386SplitCacheProducer splitCacheProducer ,
8487FlagSetsFilter flagSetsFilter ,
8588RuleBasedSegmentCache ruleBasedSegmentCache ,
86- RuleBasedSegmentParser ruleBasedSegmentParser ){
89+ RuleBasedSegmentParser ruleBasedSegmentParser ,
90+ int streamingTokenRefreshRate ){
8791FeatureFlagsWorker featureFlagsWorker = new FeatureFlagWorkerImp (synchronizer , splitParser , ruleBasedSegmentParser , splitCacheProducer ,
8892ruleBasedSegmentCache , telemetryRuntimeProducer , flagSetsFilter );
8993Worker <SegmentQueueDto > segmentWorker = new SegmentsWorkerImp (synchronizer );
@@ -96,7 +100,8 @@ public static PushManagerImp build(Synchronizer synchronizer,
96100segmentWorker ,
97101pushStatusTracker ,
98102telemetryRuntimeProducer ,
99- threadFactory );
103+ threadFactory ,
104+ streamingTokenRefreshRate );
100105 }
101106
102107@ Override
@@ -106,18 +111,22 @@ public void start(){
106111AuthenticationResponse response = _authApiClient .Authenticate ();
107112_log .debug (String .format ("Auth service response pushEnabled: %s" , response .isPushEnabled ()));
108113if (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 (),
111116response .getExpiration (), System .currentTimeMillis ()));
112117return ;
113118 }
114119
115120cleanUpResources ();
116121if (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 {
122131lock .unlock ();
123132 }
@@ -156,14 +165,22 @@ private boolean startSse(String token, String channels){
156165
157166@ Override
158167public 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
164177public 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
169186private void cleanUpResources (){
0 commit comments