diff options
author | Teemu Suo-Anttila <tsuoanttila@users.noreply.github.com> | 2018-06-27 14:25:15 +0300 |
---|---|---|
committer | Ilia Motornyi <elmot@vaadin.com> | 2018-06-27 14:25:15 +0300 |
commit | 4877171a9344fab89efe5c045ef9d9a3fb3ab340 (patch) | |
tree | 2a8aaa39e8426e0528eb15c4cca35840b4b125ad | |
parent | 1f28031c4bae8b58bf996a34717053c0a46e28d7 (diff) | |
download | vaadin-framework-4877171a9344fab89efe5c045ef9d9a3fb3ab340.tar.gz vaadin-framework-4877171a9344fab89efe5c045ef9d9a3fb3ab340.zip |
Memory leak fix in ConnectorTracker (#10996)
-rw-r--r-- | server/src/main/java/com/vaadin/ui/ConnectorTracker.java | 3 | ||||
-rw-r--r-- | server/src/main/java/com/vaadin/ui/Upload.java | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/server/src/main/java/com/vaadin/ui/ConnectorTracker.java b/server/src/main/java/com/vaadin/ui/ConnectorTracker.java index 0c6cce3077..2903337b1c 100644 --- a/server/src/main/java/com/vaadin/ui/ConnectorTracker.java +++ b/server/src/main/java/com/vaadin/ui/ConnectorTracker.java @@ -869,7 +869,8 @@ public class ConnectorTracker implements Serializable { } Map<String, StreamVariable> nameToStreamVar = pidToNameToStreamVariable .get(connectorId); - nameToStreamVar.remove(variableName); + StreamVariable streamVar = nameToStreamVar.remove(variableName); + streamVariableToSeckey.remove(streamVar); if (nameToStreamVar.isEmpty()) { pidToNameToStreamVariable.remove(connectorId); } diff --git a/server/src/main/java/com/vaadin/ui/Upload.java b/server/src/main/java/com/vaadin/ui/Upload.java index 96bd112303..6cea3ce2d9 100644 --- a/server/src/main/java/com/vaadin/ui/Upload.java +++ b/server/src/main/java/com/vaadin/ui/Upload.java @@ -1118,6 +1118,8 @@ public class Upload extends AbstractComponent fireUploadSuccess(event.getFileName(), event.getMimeType(), event.getContentLength()); endUpload(); + if(lastStartedEvent != null) + lastStartedEvent.disposeStreamVariable(); } @Override @@ -1136,6 +1138,8 @@ public class Upload extends AbstractComponent } } finally { endUpload(); + if(lastStartedEvent != null) + lastStartedEvent.disposeStreamVariable(); } } }; |