Skip to content

Commit 42819d3

Browse files
authored
Merge pull request #605 from splitio/FME-10194-upgrade-apache
upgrade apache commons
2 parents 8bf147c + d69fa80 commit 42819d3

File tree

11 files changed

+41
-29
lines changed

11 files changed

+41
-29
lines changed

CHANGES.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
4.18.1 (Sep 30, 2025)
2+
- Fixed an issue where Streaming client hangs during token renew process.
3+
14
4.18.0 (Sep 12, 2025)
25
- Added new configuration for Fallback Treatments, which allows setting a treatment value and optional config to be returned in place of "control", either globally or by flag. Read more in our docs.
36

client/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
<parent>
66
<groupId>io.split.client</groupId>
77
<artifactId>java-client-parent</artifactId>
8-
<version>4.18.0</version>
8+
<version>4.18.1</version>
99
</parent>
10-
<version>4.18.0</version>
10+
<version>4.18.1</version>
1111
<artifactId>java-client</artifactId>
1212
<packaging>jar</packaging>
1313
<name>Java Client</name>
@@ -171,7 +171,7 @@
171171
<dependency>
172172
<groupId>org.apache.httpcomponents.client5</groupId>
173173
<artifactId>httpclient5</artifactId>
174-
<version>5.4.4</version>
174+
<version>5.5</version>
175175
</dependency>
176176
<dependency>
177177
<groupId>com.google.code.gson</groupId>

client/src/main/java/io/split/client/SplitClientConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,6 +1071,7 @@ private void verifyRates() {
10711071
if (_metricsRefreshRate < 30) {
10721072
throw new IllegalArgumentException("metricsRefreshRate must be >= 30: " + _metricsRefreshRate);
10731073
}
1074+
10741075
if(_telemetryRefreshRate < 60) {
10751076
throw new IllegalStateException("_telemetryRefreshRate must be >= 60");
10761077
}

client/src/main/java/io/split/engine/common/PushManagerImp.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ public void start() {
118118
} else {
119119
_pushStatusTracker.forcePushDisable();
120120
}
121+
} catch (Exception e) {
122+
_log.debug("Exception in PushManager start: " + e.getMessage());
121123
} finally {
122124
lock.unlock();
123125
}
@@ -129,6 +131,8 @@ public void stop() {
129131
lock.lock();
130132
_log.debug("Stopping PushManagerImp");
131133
cleanUpResources();
134+
} catch (Exception e) {
135+
_log.debug("Exception in stopping push manager: " + e.getMessage());
132136
} finally {
133137
lock.unlock();
134138
}
@@ -156,14 +160,22 @@ private boolean startSse(String token, String channels) {
156160

157161
@Override
158162
public void startWorkers() {
159-
_featureFlagsWorker.start();
160-
_segmentWorker.start();
163+
try {
164+
_featureFlagsWorker.start();
165+
_segmentWorker.start();
166+
} catch (Exception e) {
167+
_log.debug("Exception in starting workers: " + e.getMessage());
168+
}
161169
}
162170

163171
@Override
164172
public void stopWorkers() {
165-
_featureFlagsWorker.stop();
166-
_segmentWorker.stop();
173+
try {
174+
_featureFlagsWorker.stop();
175+
_segmentWorker.stop();
176+
} catch (Exception e) {
177+
_log.debug("Exception in stopping workers: " + e.getMessage());
178+
}
167179
}
168180

169181
private void cleanUpResources() {
@@ -174,4 +186,4 @@ private void cleanUpResources() {
174186
_nextTokenRefreshTask.cancel(false);
175187
}
176188
}
177-
}
189+
}

client/src/main/java/io/split/engine/sse/client/SSEClient.java

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.apache.hc.client5.http.classic.methods.HttpGet;
1010
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
1111
import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
12+
import org.apache.hc.core5.io.CloseMode;
1213
import org.slf4j.Logger;
1314
import org.slf4j.LoggerFactory;
1415

@@ -115,19 +116,18 @@ public boolean isOpen() {
115116
}
116117

117118
public void close() {
119+
_log.debug("closing SSE client");
118120
try {
119121
lock.lock();
120122
_forcedStop.set(true);
121123
if (_state.compareAndSet(ConnectionState.OPEN, ConnectionState.CLOSED)) {
122124
if (_ongoingResponse.get() != null) {
123-
try {
124-
_ongoingRequest.get().abort();
125-
_ongoingResponse.get().close();
126-
} catch (IOException e) {
127-
_log.debug(String.format("SSEClient close forced: %s", e.getMessage()));
128-
}
125+
_ongoingRequest.get().abort();
126+
_ongoingResponse.get().close(CloseMode.IMMEDIATE);
129127
}
130128
}
129+
} catch (Exception e) {
130+
_log.debug("Exception in closing SSE client: " + e.getMessage());
131131
} finally {
132132
lock.unlock();
133133
}
@@ -184,19 +184,15 @@ private void connectAndLoop(URI uri, CountDownLatch signal) {
184184
}
185185
}
186186
} catch (Exception e) { // Any other error non related to the connection disables streaming altogether
187+
_log.debug(String.format("SSE connection exception: %s", e.getMessage()));
187188
_telemetryRuntimeProducer
188189
.recordStreamingEvents(new StreamingEvent(StreamEventsEnum.SSE_CONNECTION_ERROR.getType(),
189190
StreamEventsEnum.SseConnectionErrorValues.NON_REQUESTED_CONNECTION_ERROR.getValue(),
190191
System.currentTimeMillis()));
191192
_log.warn(e.getMessage(), e);
192193
_statusCallback.apply(StatusMessage.NONRETRYABLE_ERROR);
193194
} finally {
194-
try {
195-
_ongoingResponse.get().close();
196-
} catch (IOException e) {
197-
_log.debug(e.getMessage());
198-
}
199-
195+
_ongoingResponse.get().close(CloseMode.IMMEDIATE);
200196
_state.set(ConnectionState.CLOSED);
201197
_log.debug("SSEClient finished.");
202198
_forcedStop.set(false);

client/src/main/java/io/split/engine/sse/workers/Worker.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ public Worker(String workerName) {
2222

2323
public void start() {
2424
if (_running.compareAndSet(false, true)) {
25-
_log.debug(String.format("%s Worker starting ...", _workerName));
2625
_queue.clear();
2726
_thread = new Thread( this);
2827
_thread.setName(String.format("%s-worker", _workerName));
2928
_thread.start();
29+
_log.debug(String.format("%s Worker started ...", _workerName));
3030
} else {
3131
_log.debug(String.format("%s Worker already running.", _workerName));
3232
return;

okhttp-modules/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
<parent>
66
<artifactId>java-client-parent</artifactId>
77
<groupId>io.split.client</groupId>
8-
<version>4.18.0</version>
8+
<version>4.18.1</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
11-
<version>4.18.0</version>
11+
<version>4.18.1</version>
1212
<artifactId>okhttp-modules</artifactId>
1313
<packaging>jar</packaging>
1414
<name>http-modules</name>
@@ -55,7 +55,7 @@
5555
<dependency>
5656
<groupId>org.apache.httpcomponents.client5</groupId>
5757
<artifactId>httpclient5</artifactId>
58-
<version>5.4.1</version>
58+
<version>5.5</version>
5959
</dependency>
6060
<!-- Test deps -->
6161
<dependency>

pluggable-storage/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<artifactId>java-client-parent</artifactId>
88
<groupId>io.split.client</groupId>
9-
<version>4.18.0</version>
9+
<version>4.18.1</version>
1010
</parent>
1111

1212
<version>2.1.0</version>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>io.split.client</groupId>
66
<artifactId>java-client-parent</artifactId>
7-
<version>4.18.0</version>
7+
<version>4.18.1</version>
88
<dependencyManagement>
99
<dependencies>
1010
<dependency>

redis-wrapper/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<artifactId>java-client-parent</artifactId>
88
<groupId>io.split.client</groupId>
9-
<version>4.18.0</version>
9+
<version>4.18.1</version>
1010
</parent>
1111
<artifactId>redis-wrapper</artifactId>
1212
<version>3.1.1</version>

0 commit comments

Comments
 (0)