diff --git a/lib/sdk/server/src/main/java/com/launchdarkly/sdk/server/PollingBase.java b/lib/sdk/server/src/main/java/com/launchdarkly/sdk/server/PollingBase.java index 5cd1325..2ad4ac8 100644 --- a/lib/sdk/server/src/main/java/com/launchdarkly/sdk/server/PollingBase.java +++ b/lib/sdk/server/src/main/java/com/launchdarkly/sdk/server/PollingBase.java @@ -17,7 +17,7 @@ class PollingBase { private final FDv2Requestor requestor; - private final LDLogger logger; + protected final LDLogger logger; public PollingBase(FDv2Requestor requestor, LDLogger logger) { this.requestor = requestor; @@ -119,7 +119,8 @@ protected CompletableFuture poll(Selector selector, boolean on ); return FDv2SourceResult.changeSet(converted, fdv1Fallback); } catch (Exception e) { - // TODO: Do we need to be more specific about the exception type here? + // Whatever exception happened here means we couldn't handle the data. So we are going to + // treat that as invalid data. DataSourceStatusProvider.ErrorInfo info = new DataSourceStatusProvider.ErrorInfo( DataSourceStatusProvider.ErrorKind.INVALID_DATA, 0, diff --git a/lib/sdk/server/src/main/java/com/launchdarkly/sdk/server/PollingSynchronizerImpl.java b/lib/sdk/server/src/main/java/com/launchdarkly/sdk/server/PollingSynchronizerImpl.java index 9169a01..65913b3 100644 --- a/lib/sdk/server/src/main/java/com/launchdarkly/sdk/server/PollingSynchronizerImpl.java +++ b/lib/sdk/server/src/main/java/com/launchdarkly/sdk/server/PollingSynchronizerImpl.java @@ -71,8 +71,14 @@ private void doPoll() { } else { resultQueue.put(res); } - } catch (InterruptedException | ExecutionException e) { - // TODO: Determine if handling is needed. + } catch (InterruptedException e) { + // This would likely be the result of a shutdown, so we are just logging this for debugging purposes. + // Same with the ExecutionException below. + logger.debug("Polling thread interrupted: {}", e.toString()); + Thread.currentThread().interrupt(); + } + catch(ExecutionException e) { + logger.debug("Polling thread execution exception: {}", e.toString()); } }