Minors.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/153a63b7 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/153a63b7 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/153a63b7 Branch: refs/heads/ignite-3264 Commit: 153a63b7914435304320e8294d871965dbdda90f Parents: 7ba56f0 Author: vozerov-gridgain <voze...@gridgain.com> Authored: Tue Jun 7 17:01:03 2016 +0300 Committer: vozerov-gridgain <voze...@gridgain.com> Committed: Tue Jun 7 17:01:03 2016 +0300 ---------------------------------------------------------------------- .../processors/igfs/IgfsDataManager.java | 20 ++++++++++---------- .../processors/igfs/IgfsOutputStreamImpl.java | 8 +++++--- .../igfs/IgfsDataManagerSelfTest.java | 12 ++++++------ 3 files changed, 21 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/153a63b7/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java index 57a8c6c..f470521 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java @@ -473,18 +473,18 @@ public class IgfsDataManager extends IgfsManager { /** * Registers write future in igfs data manager. * - * @param fileInfo File info of file opened to write. + * @param fileId File ID. * @return Future that will be completed when all ack messages are received or when write failed. */ - public IgniteInternalFuture<Boolean> writeStart(IgfsEntryInfo fileInfo) { - WriteCompletionFuture fut = new WriteCompletionFuture(fileInfo.id()); + public IgniteInternalFuture<Boolean> writeStart(IgniteUuid fileId) { + WriteCompletionFuture fut = new WriteCompletionFuture(fileId); - WriteCompletionFuture oldFut = pendingWrites.putIfAbsent(fileInfo.id(), fut); + WriteCompletionFuture oldFut = pendingWrites.putIfAbsent(fileId, fut); - assert oldFut == null : "Opened write that is being concurrently written: " + fileInfo; + assert oldFut == null : "Opened write that is being concurrently written: " + fileId; if (log.isDebugEnabled()) - log.debug("Registered write completion future for file output stream [fileInfo=" + fileInfo + + log.debug("Registered write completion future for file output stream [fileId=" + fileId + ", fut=" + fut + ']'); return fut; @@ -493,17 +493,17 @@ public class IgfsDataManager extends IgfsManager { /** * Notifies data manager that no further writes will be performed on stream. * - * @param fileInfo File info being written. + * @param fileId File ID. */ - public void writeClose(IgfsEntryInfo fileInfo) { - WriteCompletionFuture fut = pendingWrites.get(fileInfo.id()); + public void writeClose(IgniteUuid fileId) { + WriteCompletionFuture fut = pendingWrites.get(fileId); if (fut != null) fut.markWaitingLastAck(); else { if (log.isDebugEnabled()) log.debug("Failed to find write completion future for file in pending write map (most likely it was " + - "failed): " + fileInfo); + "failed): " + fileId); } } http://git-wip-us.apache.org/repos/asf/ignite/blob/153a63b7/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 9233715..a642d63 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 @@ -127,7 +127,7 @@ class IgfsOutputStreamImpl extends IgfsOutputStream { this.batch = batch; streamRange = initialStreamRange(fileInfo); - writeCompletionFut = igfsCtx.data().writeStart(fileInfo); + writeCompletionFut = igfsCtx.data().writeStart(fileInfo.id()); } igfsCtx.igfs().localMetrics().incrementFilesOpenedForWrite(); @@ -267,6 +267,7 @@ class IgfsOutputStreamImpl extends IgfsOutputStream { } /** {@inheritDoc} */ + @SuppressWarnings("ThrowFromFinallyBlock") @Override public final void close() throws IOException { synchronized (mux) { // Do nothing if stream is already closed. @@ -286,12 +287,13 @@ class IgfsOutputStreamImpl extends IgfsOutputStream { IOException err = null; try { - igfsCtx.data().writeClose(fileInfo); + igfsCtx.data().writeClose(fileInfo.id()); writeCompletionFut.get(); } catch (IgniteCheckedException e) { - err = new IOException("Failed to close stream [path=" + path + ", fileInfo=" + fileInfo + ']', e); + err = new IOException("Failed to close stream [path=" + path + + ", fileInfo=" + fileInfo + ']', e); } igfsCtx.igfs().localMetrics().addWrittenBytesTime(bytes, time); http://git-wip-us.apache.org/repos/asf/ignite/blob/153a63b7/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDataManagerSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDataManagerSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDataManagerSelfTest.java index 013bb18..70d6b99 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDataManagerSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDataManagerSelfTest.java @@ -178,7 +178,7 @@ public class IgfsDataManagerSelfTest extends IgfsCommonAbstractTest { rnd.nextBytes(data); - IgniteInternalFuture<Boolean> fut = mgr.writeStart(info); + IgniteInternalFuture<Boolean> fut = mgr.writeStart(info.id()); expectsStoreFail(info, data, "Not enough space reserved to store data"); @@ -195,7 +195,7 @@ public class IgfsDataManagerSelfTest extends IgfsCommonAbstractTest { assert remainder == null; - mgr.writeClose(info); + mgr.writeClose(info.id()); fut.get(3000); @@ -269,7 +269,7 @@ public class IgfsDataManagerSelfTest extends IgfsCommonAbstractTest { info = info.length(info.length() + data.length + remainder.length); - IgniteInternalFuture<Boolean> fut = mgr.writeStart(info); + IgniteInternalFuture<Boolean> fut = mgr.writeStart(info.id()); IgfsFileAffinityRange range = new IgfsFileAffinityRange(); @@ -287,7 +287,7 @@ public class IgfsDataManagerSelfTest extends IgfsCommonAbstractTest { assert left2 == null; - mgr.writeClose(info); + mgr.writeClose(info.id()); fut.get(3000); @@ -358,7 +358,7 @@ public class IgfsDataManagerSelfTest extends IgfsCommonAbstractTest { info = info.length(info.length() + data.length * writesCnt); - IgniteInternalFuture<Boolean> fut = mgr.writeStart(info); + IgniteInternalFuture<Boolean> fut = mgr.writeStart(info.id()); for (int j = 0; j < 64; j++) { Arrays.fill(data, (byte)(j / 4)); @@ -369,7 +369,7 @@ public class IgfsDataManagerSelfTest extends IgfsCommonAbstractTest { assert left == null : "No remainder should be returned if flush is true: " + Arrays.toString(left); } - mgr.writeClose(info); + mgr.writeClose(info.id()); assertTrue(range.regionEqual(new IgfsFileAffinityRange(0, writesCnt * chunkSize - 1, null)));