diff options
-rw-r--r-- | dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/AbstractTransfer.java | 2 | ||||
-rw-r--r-- | dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/AbstractTransfer.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/AbstractTransfer.java index bef4f8fd..dc57cb1b 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/AbstractTransfer.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/AbstractTransfer.java @@ -9,7 +9,7 @@ public abstract class AbstractTransfer { * How long to keep this transfer information when the transfer is * (potentially) done */ - private static final long FINISH_TIMEOUT = TimeUnit.MINUTES.toMillis(5); + private static final long FINISH_TIMEOUT = TimeUnit.MINUTES.toMillis(3); /** * How long to keep this transfer information when there are no active diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java index 936e2272..40a51c70 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java @@ -87,6 +87,8 @@ public class ServerHandler implements SatelliteServer.Iface { List<ByteBuffer> blockHashes, ByteBuffer machineDescription) throws TTransferRejectedException, TAuthorizationException, TInvocationException, TNotFoundException, TException { UserInfo user = SessionManager.getOrFail(userToken); + if (!FileSystem.waitForStorage()) + throw new TInvocationException(InvocationError.INTERNAL_SERVER_ERROR, "VM storage not mounted"); User.canEditBaseImageOrFail(user, imageBaseId); ImageDetailsRead image; try { @@ -140,6 +142,8 @@ public class ServerHandler implements SatelliteServer.Iface { throws TAuthorizationException, TInvocationException, TNotFoundException, TTransferRejectedException { UserInfo user = SessionManager.getOrFail(userToken); + if (!FileSystem.waitForStorage()) + throw new TInvocationException(InvocationError.INTERNAL_SERVER_ERROR, "VM storage not mounted"); ImageVersionMeta imageVersion; try { imageVersion = DbImage.getVersionDetails(imageVersionId); @@ -343,6 +347,8 @@ public class ServerHandler implements SatelliteServer.Iface { public void deleteImageVersion(String userToken, String imageVersionId) throws TAuthorizationException, TNotFoundException, TInvocationException { UserInfo user = SessionManager.getOrFail(userToken); + if (!FileSystem.waitForStorage()) + throw new TInvocationException(InvocationError.INTERNAL_SERVER_ERROR, "VM storage not mounted"); User.canDeleteImageVersionOrFail(user, imageVersionId); try { DbImage.markForDeletion(imageVersionId); @@ -378,7 +384,7 @@ public class ServerHandler implements SatelliteServer.Iface { } catch (Exception e) { LOGGER.warn("Could not delete version when trying to delete base image", e); } - DeleteOldImages.hardDeleteImagesAsync(); + DeleteOldImages.hardDeleteImages(); } try { DbImage.deleteBasePermanently(imageBaseId); @@ -443,6 +449,8 @@ public class ServerHandler implements SatelliteServer.Iface { throws TAuthorizationException, TNotFoundException, TInvocationException { UserInfo user = SessionManager.getOrFail(userToken); User.canTriggerReplicationOrFail(user, imageVersionId); + if (!FileSystem.waitForStorage()) + throw new TInvocationException(InvocationError.INTERNAL_SERVER_ERROR, "VM storage not mounted"); // Query master server ImagePublishData imagePublishData; try { |