Skip to content

Commit 4aad2ea

Browse files
committed
Merge branch 'master-docker-java'
2 parents 35bec14 + 1ab6e63 commit 4aad2ea

File tree

6 files changed

+10
-4
lines changed

6 files changed

+10
-4
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ Notes
1010

1111
All changes
1212

13+
* [#563] (https://github.com/docker-java/docker-java/pull/563) Fix memory leak in netty implementation of DockerCmdExecFactory
14+
1315
Included in 3.0.0-RC5
1416

1517
* [#542] (https://github.com/docker-java/docker-java/pull/542) Fix large volumes of output from "docker exec" trigger out of memory error

src/main/java/com/github/dockerjava/jaxrs/ListContainersCmdExec.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ protected List<Container> execute(ListContainersCmd command) {
3737
webTarget = webTarget.queryParam("limit", String.valueOf(command.getLimit()));
3838
}
3939

40-
if (command.getFilters() != null) {
40+
if (command.getFilters() != null && !command.getFilters().isEmpty()) {
4141
webTarget = webTarget
4242
.queryParam("filters", urlPathSegmentEscaper().escape(FiltersEncoder.jsonEncode(command.getFilters())));
4343
}

src/main/java/com/github/dockerjava/netty/exec/ListContainersCmdExec.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ protected List<Container> execute(ListContainersCmd command) {
3636
webTarget = webTarget.queryParam("limit", String.valueOf(command.getLimit()));
3737
}
3838

39-
if (command.getFilters() != null) {
39+
if (command.getFilters() != null && !command.getFilters().isEmpty()) {
4040
webTarget = webTarget
4141
.queryParam("filters", urlPathSegmentEscaper().escape(FiltersEncoder.jsonEncode(command.getFilters())));
4242
}

src/main/java/com/github/dockerjava/netty/handler/FramedResponseStreamHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public FramedResponseStreamHandler(ResultCallback<Frame> resultCallback) {
4545
@Override
4646
protected void channelRead0(ChannelHandlerContext ctx, ByteBuf msg) throws Exception {
4747

48-
rawBuffer.writeBytes(msg.copy(), 0, msg.readableBytes());
48+
rawBuffer.writeBytes(msg, 0, msg.readableBytes());
4949

5050
Frame frame = null;
5151

src/main/java/com/github/dockerjava/netty/handler/HttpResponseHandler.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@ public void close() {
120120
}
121121

122122
private String getBodyAsMessage(ByteBuf body) {
123-
return body.readBytes(body.readableBytes()).toString(Charset.forName("UTF-8"));
123+
String result = body.readBytes(body.readableBytes()).toString(Charset.forName("UTF-8"));
124+
body.discardReadBytes();
125+
body.release();
126+
return result;
124127
}
125128
}

src/main/java/com/github/dockerjava/netty/handler/JsonResponseCallbackHandler.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ public JsonResponseCallbackHandler(TypeReference<T> typeReference, ResultCallbac
3030
protected void channelRead0(ChannelHandlerContext ctx, ByteBuf msg) throws Exception {
3131
byte[] buffer = new byte[msg.readableBytes()];
3232
msg.readBytes(buffer);
33+
msg.discardReadBytes();
3334

3435
T object = null;
3536

0 commit comments

Comments
 (0)