# 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);