diff options
author | Simon Rettberg | 2019-10-21 16:59:32 +0200 |
---|---|---|
committer | Simon Rettberg | 2019-10-21 17:08:16 +0200 |
commit | 535fc19e824abfe170b6fe03792519cb6e1105eb (patch) | |
tree | d6a5e7801eba3421f5f1bc40dcb17eabdb732ab3 /dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java | |
parent | [client] Update virtualizer download link (diff) | |
download | tutor-module-535fc19e824abfe170b6fe03792519cb6e1105eb.tar.gz tutor-module-535fc19e824abfe170b6fe03792519cb6e1105eb.tar.xz tutor-module-535fc19e824abfe170b6fe03792519cb6e1105eb.zip |
[server] Disallow deleting busy images, fix multiple clones from master
Deleting images that are currently being up- or downloaded would create
some confusion server-side, so disallow this.
We accidentally didn't use the image version id as the transfer id for
downloads from the master server; fix that so that triggering the
download of the same image multiple times won't actually download the
same image multiple times.
Closes #3651
Diffstat (limited to 'dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java')
-rw-r--r-- | dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java index 5267cab4..02a5eb3d 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java @@ -96,7 +96,7 @@ public class IncomingDataTransfer extends IncomingTransferBase { public IncomingDataTransfer(ImagePublishData publishData, File tmpFile, TransferInformation transferInfo, boolean repairUpload) throws FileNotFoundException { - super(UUID.randomUUID().toString(), tmpFile, publishData.fileSize, + super(publishData.imageVersionId, tmpFile, publishData.fileSize, ThriftUtil.unwrapByteBufferList(transferInfo.blockHashes), StorageChunkSource.instance); ImageDetailsRead idr = new ImageDetailsRead(); idr.setCreateTime(publishData.createTime); @@ -301,11 +301,15 @@ public class IncomingDataTransfer extends IncomingTransferBase { return true; } - private String getVersionId() { + public String getVersionId() { if (masterTransferInfo == null) return getId(); return image.latestVersionId; } + + public String getBaseId() { + return image.imageBaseId; + } @Override public synchronized void cancel() { |