Skip to content

Commit fc11ade

Browse files
authored
fixup: gemini suggestion
1 parent 2e1cbab commit fc11ade

File tree

1 file changed

+19
-11
lines changed
  • providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/resolver/process/storage/connector/sync

1 file changed

+19
-11
lines changed

providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/resolver/process/storage/connector/sync/SyncStreamQueueSource.java

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,7 @@ public SyncStreamQueueSource(final FlagdOptions options, Consumer<FlagdProviderE
6969
FlagSyncServiceGrpc.newStub(channelConnector.getChannel()).withWaitForReady();
7070
metadataStub = FlagSyncServiceGrpc.newBlockingStub(channelConnector.getChannel())
7171
.withWaitForReady();
72-
scheduler = Executors.newSingleThreadScheduledExecutor(r -> {
73-
Thread t = new Thread(r, "flagd-sync-retry-scheduler");
74-
t.setDaemon(true);
75-
return t;
76-
});
72+
scheduler = createScheduler();
7773
}
7874

7975
// internal use only
@@ -91,13 +87,17 @@ protected SyncStreamQueueSource(
9187
flagSyncStub = stubMock;
9288
syncMetadataDisabled = options.isSyncMetadataDisabled();
9389
metadataStub = blockingStubMock;
94-
scheduler = Executors.newSingleThreadScheduledExecutor(r -> {
95-
Thread t = new Thread(r, "flagd-sync-retry-scheduler");
96-
t.setDaemon(true);
97-
return t;
98-
});
90+
scheduler = createScheduler();
9991
}
10092

93+
private static ScheduledExecutorService createScheduler() {
94+
return Executors.newSingleThreadScheduledExecutor(r -> {
95+
Thread t = new Thread(r, "flagd-sync-retry-scheduler");
96+
t.setDaemon(true);
97+
return t;
98+
});
99+
}
100+
101101
/** Initialize sync stream connector. */
102102
public void init() throws Exception {
103103
channelConnector.initialize();
@@ -151,6 +151,10 @@ private void observeSyncStream() {
151151
SyncStreamObserver observer = new SyncStreamObserver(outgoingQueue, shouldThrottle);
152152
try {
153153
observer.metadata = getMetadata();
154+
} catch (InterruptedException e) {
155+
Thread.currentThread().interrupt();
156+
log.debug("Metadata request interrupted, exiting stream loop.", e);
157+
break;
154158
} catch (Exception metaEx) {
155159
// retry if getMetadata fails
156160
String message = metaEx.getMessage();
@@ -162,6 +166,10 @@ private void observeSyncStream() {
162166

163167
try {
164168
syncFlags(observer);
169+
} catch (InterruptedException e) {
170+
Thread.currentThread().interrupt();
171+
log.debug("Metadata request interrupted, exiting stream loop.", e);
172+
break;
165173
} catch (Exception ex) {
166174
log.error("Unexpected sync stream exception, will restart.", ex);
167175
enqueueError(String.format("Error in syncStream: %s", ex.getMessage()));
@@ -178,7 +186,7 @@ private void observeSyncStream() {
178186
*/
179187
private void scheduleRetry() {
180188
if (shutdown.get()) {
181-
log.info("Shutdown invoked, exiting event stream listener");
189+
log.debug("Shutdown in progress, not scheduling retry.");
182190
return;
183191
}
184192
try {

0 commit comments

Comments
 (0)