Browse Source

Memory leak fix in ConnectorTracker (#10743)

When finished with upload, streamVariable should be disposed.
Now StreamVariable is removed also from streamVariableToSeckey.
https://github.com/vaadin/framework/issues/10695 #10695
tags/7.7.14
doggy-dev 5 years ago
parent
commit
ddd9bd75cd

+ 2
- 1
server/src/main/java/com/vaadin/ui/ConnectorTracker.java View File

@@ -846,7 +846,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);
}

+ 4
- 0
server/src/main/java/com/vaadin/ui/Upload.java View File

@@ -1155,6 +1155,8 @@ public class Upload extends AbstractComponent
fireUploadSuccess(event.getFileName(), event.getMimeType(),
event.getContentLength());
endUpload();
if(lastStartedEvent != null)
lastStartedEvent.disposeStreamVariable();
}

@Override
@@ -1173,6 +1175,8 @@ public class Upload extends AbstractComponent
}
} finally {
endUpload();
if(lastStartedEvent != null)
lastStartedEvent.disposeStreamVariable();
}
}
};

Loading…
Cancel
Save