# Last-minute fix to IGFS: we were throwing IOError in some pretty valid cases 
what led to missed future completion and eventual hang.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/c3210d80
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/c3210d80
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/c3210d80

Branch: refs/heads/ignite-718
Commit: c3210d8035bca7dccae2b1accacd7e641c4e8cc6
Parents: 26fa0bf
Author: thatcoach <ppoze...@list.ru>
Authored: Fri Apr 10 20:57:51 2015 +0300
Committer: thatcoach <ppoze...@list.ru>
Committed: Fri Apr 10 20:57:51 2015 +0300

----------------------------------------------------------------------
 .../ignite/internal/processors/igfs/IgfsInputStreamImpl.java   | 2 +-
 .../ignite/internal/processors/igfs/IgfsOutputStreamImpl.java  | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c3210d80/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamImpl.java
index 30d2cf3..6c35032 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamImpl.java
@@ -312,7 +312,7 @@ public class IgfsInputStreamImpl extends 
IgfsInputStreamAdapter {
             }
         }
         catch (IgniteCheckedException e) {
-            throw new IOError(e); // Something unrecoverable.
+            throw new IOException("File to close the file: " + 
fileInfo.path(), e);
         }
         finally {
             closed = true;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c3210d80/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsOutputStreamImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsOutputStreamImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsOutputStreamImpl.java
index c5b3e20..298733a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsOutputStreamImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsOutputStreamImpl.java
@@ -262,7 +262,7 @@ class IgfsOutputStreamImpl extends IgfsOutputStreamAdapter {
             exists = meta.exists(fileInfo.id());
         }
         catch (IgniteCheckedException e) {
-            throw new IOError(e); // Something unrecoverable.
+            throw new IOException("File to read file metadata: " + 
fileInfo.path(), e);
         }
 
         if (!exists) {
@@ -330,7 +330,7 @@ class IgfsOutputStreamImpl extends IgfsOutputStreamAdapter {
                 exists = !deleted && meta.exists(fileInfo.id());
             }
             catch (IgniteCheckedException e) {
-                throw new IOError(e); // Something unrecoverable.
+                throw new IOException("File to read file metadata: " + 
fileInfo.path(), e);
             }
 
             if (exists) {
@@ -370,7 +370,7 @@ class IgfsOutputStreamImpl extends IgfsOutputStreamAdapter {
                     throw new IOException("File was concurrently deleted: " + 
path);
                 }
                 catch (IgniteCheckedException e) {
-                    throw new IOError(e); // Something unrecoverable.
+                    throw new IOException("File to read file metadata: " + 
fileInfo.path(), e);
                 }
 
                 meta.updateParentListingAsync(parentId, fileInfo.id(), 
fileName, bytes, modificationTime);

Reply via email to