Repository: cloudstack Updated Branches: refs/heads/volume-upload 7d1ca8a55 -> 6b8b4b92e
handling tcp close event in netty server while the file is in uploading state and connection is reset by peer, volume upload request posted again shows the upload is IN_Progress state. marking them as errored Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/6b8b4b92 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/6b8b4b92 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/6b8b4b92 Branch: refs/heads/volume-upload Commit: 6b8b4b92e6d5ec36d4b976e81083f72ae17245a3 Parents: 7d1ca8a Author: Rajani Karuturi <rajanikarut...@gmail.com> Authored: Tue Mar 17 15:17:33 2015 +0530 Committer: Rajani Karuturi <rajanikarut...@gmail.com> Committed: Tue Mar 17 15:21:25 2015 +0530 ---------------------------------------------------------------------- .../cloudstack/storage/resource/HttpUploadServerHandler.java | 7 +++++++ .../storage/resource/NfsSecondaryStorageResource.java | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6b8b4b92/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/HttpUploadServerHandler.java ---------------------------------------------------------------------- diff --git a/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/HttpUploadServerHandler.java b/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/HttpUploadServerHandler.java index 7a17ef1..0caee32 100644 --- a/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/HttpUploadServerHandler.java +++ b/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/HttpUploadServerHandler.java @@ -95,6 +95,13 @@ public class HttpUploadServerHandler extends SimpleChannelInboundHandler<HttpObj } @Override + public void channelInactive(ChannelHandlerContext ctx) throws Exception { + String message = "file receive failed or connection closed prematurely."; + logger.error(message); + storageResource.updateStateMapWithError(uuid, message); + } + + @Override public void channelRead0(ChannelHandlerContext ctx, HttpObject msg) throws Exception { if (msg instanceof HttpRequest) { HttpRequest request = this.request = (HttpRequest) msg; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6b8b4b92/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java ---------------------------------------------------------------------- diff --git a/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java b/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java index d10242c..1bce4a0 100755 --- a/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java +++ b/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java @@ -2774,7 +2774,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S return _ssvmPSK; } - private void updateStateMapWithError(String uuid,String errorMessage) { + public void updateStateMapWithError(String uuid,String errorMessage) { UploadEntity uploadEntity=null; if (uploadEntityStateMap.get(uuid)!=null) { uploadEntity=uploadEntityStateMap.get(uuid);