-
Notifications
You must be signed in to change notification settings - Fork 22
Description
Getting this error from split io:
[split-segmentFetcher-0] ERROR io.split.engine.segments.SegmentFetcherImp - RefreshableSegmentFetcher failed: Error occurred when trying to sync segment: moisture-management, since: 1646842584290. Details: java.lang.IllegalStateException: Problem in http get operation: javax.net.ssl.SSLException: Connection reset
Earlier I was using 4.4.2 SDK which was causing unnecessary threads in thread dump even after closing the connection, earlier split.io config we were using:
int featuresRefreshRate = 5;
int segmentsRefreshRate = 60;
int impressionsRefreshRate = 60;
SplitClientConfig splitConfig =
SplitClientConfig.builder()
.featuresRefreshRate(featuresRefreshRate)
.segmentsRefreshRate(segmentsRefreshRate)
.impressionsRefreshRate(impressionsRefreshRate)
.setBlockUntilReadyTimeout(5 * 60 * 60)
.build();
there we were getting multiple threads of following type whenever creating and closing a connection:
Split-SSERefreshToken-0
SPLIT-SSEConnection-0
SPLIT-PushStatusMonitor-0
SPLIT-PollingMode-0
Later I upgraded the SDK to 4.18.2 with same configs as above and then even after creating a connection, following threads were not getting closed (As checked by getting thread dump locally ) :
Split-SSERefreshToken-0
SPLIT-SSEConnection-0
so I changed the config a little bit:
disabled streaming and increased featureRefreshRate from 5 seconds to 60 seconds
int featuresRefreshRate = 60;
int segmentsRefreshRate = 60;
int impressionsRefreshRate = 60;
SplitClientConfig splitConfig =
SplitClientConfig.builder()
.featuresRefreshRate(featuresRefreshRate)
.segmentsRefreshRate(segmentsRefreshRate)
.impressionsRefreshRate(impressionsRefreshRate)
.streamingEnabled(false)
.setBlockUntilReadyTimeout(5 * 60 * 60)
.build();
which is now closing all the threads
after deploying to production, threads are getting closed but noticing this issue for multiple segments:
[split-segmentFetcher-0] ERROR io.split.engine.segments.SegmentFetcherImp - RefreshableSegmentFetcher failed: Error occurred when trying to sync segment: moisture-management, since: 1646842584290. Details: java.lang.IllegalStateException: Problem in http get operation: javax.net.ssl.SSLException: Connection reset
also memory usage of our system are increasing rapidly after making above config changes on prod.
is it due to disabling streaming ? If I am enabling streaming then below threads are not getting closed even after destroying the client:
Split-SSERefreshToken-0
SPLIT-SSEConnection-0
above both are an issue in this version or I am using configs incorrectly ?