You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2016/03/16 14:28:39 UTC

[2/2] ignite git commit: IGNITE-2813: Refactoring is in progress.

IGNITE-2813: Refactoring is in progress.


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

Branch: refs/heads/ignite-2813
Commit: bf86a2d63a4fad0a64cf02f85d6abc9acc5439ab
Parents: 237bbef
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Mar 16 16:26:27 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Mar 16 16:26:27 2016 +0300

----------------------------------------------------------------------
 .../processors/igfs/IgfsDataManager.java        |  6 +-
 .../internal/processors/igfs/IgfsFileInfo.java  | 24 ++---
 .../processors/igfs/IgfsMetaManager.java        | 92 +++++++++++++++-----
 .../igfs/IgfsDataManagerSelfTest.java           | 25 +++---
 .../processors/igfs/IgfsFileInfoSelfTest.java   |  5 +-
 .../fs/IgniteHadoopIgfsSecondaryFileSystem.java | 22 ++++-
 6 files changed, 120 insertions(+), 54 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/bf86a2d6/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 ae2cb69..a11a2fe 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
@@ -1632,7 +1632,7 @@ public class IgfsDataManager extends IgfsManager {
      */
     private class AsyncDeleteWorker extends GridWorker {
         /** File info for stop request. */
-        private final IgfsFileInfo stopInfo = IgfsFileInfo.createDirectory(IgniteUuid.randomUuid());
+        private final IgfsFileInfo stopInfo;
 
         /** Delete requests queue. */
         private BlockingQueue<IgniteBiTuple<GridFutureAdapter<Object>, IgfsFileInfo>> delReqs =
@@ -1645,6 +1645,10 @@ public class IgfsDataManager extends IgfsManager {
          */
         protected AsyncDeleteWorker(@Nullable String gridName, String name, IgniteLogger log) {
             super(gridName, name, log);
+
+            long time = System.currentTimeMillis();
+
+            stopInfo = IgfsFileInfo.createDirectory(IgniteUuid.randomUuid());
         }
 
         /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/bf86a2d6/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsFileInfo.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsFileInfo.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsFileInfo.java
index 3afeb0f..c4a0f97 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsFileInfo.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsFileInfo.java
@@ -94,7 +94,7 @@ public final class IgfsFileInfo implements Externalizable {
     }
 
     /**
-     * Create directory.
+     * Craete directory.
      *
      * @param id ID.
      * @param listing Listing.
@@ -104,14 +104,14 @@ public final class IgfsFileInfo implements Externalizable {
     public static IgfsFileInfo createDirectory(
         IgniteUuid id,
         @Nullable Map<String, IgfsListingEntry> listing,
-        @Nullable Map<String,String> props) {
+        @Nullable Map<String, String> props) {
         long time = System.currentTimeMillis();
 
         return createDirectory(id, listing, props, time, time);
     }
 
     /**
-     * Craete directory.
+     * Create directory.
      *
      * @param id ID.
      * @param listing Listing.
@@ -131,23 +131,24 @@ public final class IgfsFileInfo implements Externalizable {
     }
 
     /**
-     * Constructs file info.
+     * Create file.
      *
      * @param id File ID.
      * @param blockSize Block size.
      * @param len Length.
      * @param affKey Affinity key.
      * @param lockId Lock ID.
-     * @param props Properties.
      * @param evictExclude Evict exclude flag.
-     * @param accessTime The access time.
-     * @param modificationTime The modification time.
+     * @param props Properties.
+     * @param accessTime Access time.
+     * @param modificationTime Modification time.
+     * @return File info.
      */
-    public IgfsFileInfo(IgniteUuid id, int blockSize, long len, @Nullable IgniteUuid affKey,
+    public static IgfsFileInfo createFile(IgniteUuid id, int blockSize, long len, @Nullable IgniteUuid affKey,
         @Nullable IgniteUuid lockId, boolean evictExclude, @Nullable Map<String, String> props, long accessTime,
         long modificationTime) {
-        this(false, id, blockSize, len, affKey, null, props, null, lockId, true, accessTime, modificationTime,
-            evictExclude);
+        return new IgfsFileInfo(false, id, blockSize, len, affKey, null, props, null, lockId, true,
+            accessTime, modificationTime, evictExclude);
     }
 
     /**
@@ -325,8 +326,7 @@ public final class IgfsFileInfo implements Externalizable {
         this.modificationTime = modificationTime;
 
         // Always make a copy of passed properties collection to escape concurrent modifications.
-        this.props = props == null || props.isEmpty() ? null :
-            cpProps ? new GridLeanMap<>(props) : props;
+        this.props = props == null || props.isEmpty() ? null : cpProps ? new GridLeanMap<>(props) : props;
 
         this.lockId = lockId;
         this.evictExclude = evictExclude;

http://git-wip-us.apache.org/repos/asf/ignite/blob/bf86a2d6/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsMetaManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsMetaManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsMetaManager.java
index 564e597..6541f5e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsMetaManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsMetaManager.java
@@ -662,6 +662,8 @@ public class IgfsMetaManager extends IgfsManager {
         throws IgniteCheckedException {
         assert IgfsUtils.isRootOrTrashId(id);
 
+        long time = System.currentTimeMillis();
+
         IgfsFileInfo info = IgfsFileInfo.createDirectory(id);
 
         IgfsFileInfo oldInfo = id2InfoPrj.getAndPutIfAbsent(id, info);
@@ -1076,8 +1078,11 @@ public class IgfsMetaManager extends IgfsManager {
                     // Construct new info and move locked entries from root to it.
                     Map<String, IgfsListingEntry> transferListing = new HashMap<>(rootListingMap);
 
-                    IgfsFileInfo newInfo = IgfsFileInfo.createDirectory(IgniteUuid.randomUuid(), transferListing,
-                        (Map<String,String>)null);
+                    IgfsFileInfo newInfo = IgfsFileInfo.createDirectory(
+                        IgniteUuid.randomUuid(),
+                        transferListing,
+                        (Map<String,String>)null
+                    );
 
                     createNewEntry(newInfo, trashId, newInfo.id().toString());
 
@@ -1251,14 +1256,18 @@ public class IgfsMetaManager extends IgfsManager {
 
                 transferListing.putAll(rootListing);
 
-                IgfsFileInfo newInfo = IgfsFileInfo.createDirectory(IgniteUuid.randomUuid(), transferListing,
-                    (Map<String,String>)null);
+                IgfsFileInfo newInfo = IgfsFileInfo.createDirectory(
+                    IgniteUuid.randomUuid(),
+                    transferListing,
+                    (Map<String,String>)null
+                );
 
                 createNewEntry(newInfo, trashId, newInfo.id().toString());
 
                 // Remove listing entries from root.
                 for (Map.Entry<String, IgfsListingEntry> entry : transferListing.entrySet())
-                    id2InfoPrj.invoke(IgfsUtils.ROOT_ID, new ListingRemoveProcessor(entry.getKey(), entry.getValue().fileId()));
+                    id2InfoPrj.invoke(IgfsUtils.ROOT_ID,
+                        new ListingRemoveProcessor(entry.getKey(), entry.getValue().fileId()));
 
                 resId = newInfo.id();
             }
@@ -1984,10 +1993,17 @@ public class IgfsMetaManager extends IgfsManager {
                                 throw fsException("Failed to open output stream to the file created in " +
                                     "the secondary file system because the path points to a directory: " + path);
 
-                            IgfsFileInfo newInfo = new IgfsFileInfo(IgniteUuid.randomUuid(), status.blockSize(),
-                                status.length(), affKey, createFileLockId(false),
-                                igfsCtx.igfs().evictExclude(path, false), status.properties(),
-                                status.accessTime(), status.modificationTime());
+                            IgfsFileInfo newInfo = IgfsFileInfo.createFile(
+                                IgniteUuid.randomUuid(),
+                                status.blockSize(),
+                                status.length(),
+                                affKey,
+                                createFileLockId(false),
+                                igfsCtx.igfs().evictExclude(path, false),
+                                status.properties(),
+                                status.accessTime(),
+                                status.modificationTime()
+                            );
 
                             // Add new file info to the listing optionally removing the previous one.
                             IgniteUuid oldId = putIfAbsentNonTx(parentInfo.id(), path.name(), newInfo);
@@ -2608,11 +2624,24 @@ public class IgfsMetaManager extends IgfsManager {
 
                 // Recreate the path locally.
                 IgfsFileInfo curInfo = status.isDirectory() ?
-                    IgfsFileInfo.createDirectory(IgniteUuid.randomUuid(), null, status.properties(),
-                        status.accessTime(), status.modificationTime()) :
-                    new IgfsFileInfo(IgniteUuid.randomUuid(), igfsCtx.configuration().getBlockSize(), status.length(),
-                        null, null, igfsCtx.igfs().evictExclude(curPath, false), status.properties(),
-                        status.accessTime(), status.modificationTime());
+                    IgfsFileInfo.createDirectory(
+                        IgniteUuid.randomUuid(),
+                        null,
+                        status.properties(),
+                        status.accessTime(),
+                        status.modificationTime()
+                    ) :
+                    IgfsFileInfo.createFile(
+                        IgniteUuid.randomUuid(),
+                        igfsCtx.configuration().getBlockSize(),
+                        status.length(),
+                        null,
+                        null,
+                        igfsCtx.igfs().evictExclude(curPath, false),
+                        status.properties(),
+                        status.accessTime(),
+                        status.modificationTime()
+                    );
 
                 IgniteUuid oldId = putIfAbsentNonTx(parentInfo.id(), components.get(i), curInfo);
 
@@ -3409,9 +3438,17 @@ public class IgfsMetaManager extends IgfsManager {
                                         // Make a new locked info:
                                         long t = System.currentTimeMillis();
 
-                                        final IgfsFileInfo newFileInfo = new IgfsFileInfo(IgniteUuid.randomUuid(),
-                                            cfg.getBlockSize(), 0L, affKey, createFileLockId(false), evictExclude,
-                                            fileProps, t, t);
+                                        final IgfsFileInfo newFileInfo = IgfsFileInfo.createFile(
+                                            IgniteUuid.randomUuid(),
+                                            cfg.getBlockSize(),
+                                            0L,
+                                            affKey,
+                                            createFileLockId(false),
+                                            evictExclude,
+                                            fileProps,
+                                            t,
+                                            t
+                                        );
 
                                         assert newFileInfo.lockId() != null; // locked info should be created.
 
@@ -3746,8 +3783,17 @@ public class IgfsMetaManager extends IgfsManager {
         /** {@inheritDoc} */
         @Override public IgfsFileInfo process(MutableEntry<IgniteUuid, IgfsFileInfo> entry, Object... args)
             throws EntryProcessorException {
-            IgfsFileInfo info = new IgfsFileInfo(entry.getKey(), blockSize, 0L, affKey, lockId, evictExclude,
-                props, createTime, createTime);
+            IgfsFileInfo info = IgfsFileInfo.createFile(
+                entry.getKey(),
+                blockSize,
+                0L,
+                affKey,
+                lockId,
+                evictExclude,
+                props,
+                createTime,
+                createTime
+            );
 
             entry.setValue(info);
 
@@ -3832,7 +3878,13 @@ public class IgfsMetaManager extends IgfsManager {
         @Override public IgfsFileInfo process(MutableEntry<IgniteUuid, IgfsFileInfo> entry, Object... args)
             throws EntryProcessorException {
 
-            IgfsFileInfo info = IgfsFileInfo.createDirectory(entry.getKey(), null, props, createTime, createTime);
+            IgfsFileInfo info = IgfsFileInfo.createDirectory(
+                entry.getKey(),
+                null,
+                props,
+                createTime,
+                createTime
+            );
 
             if (childName != null)
                 info = info.listing(Collections.singletonMap(childName, childEntry));

http://git-wip-us.apache.org/repos/asf/ignite/blob/bf86a2d6/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 d28fb38..931e645 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
@@ -168,8 +168,8 @@ public class IgfsDataManagerSelfTest extends IgfsCommonAbstractTest {
 
             long t = System.currentTimeMillis();
 
-            IgfsFileInfo info = new IgfsFileInfo(IgniteUuid.randomUuid(), 200, 0L, null, IgfsUtils.DELETE_LOCK_ID,
-                    false, null, t, t);
+            IgfsFileInfo info = IgfsFileInfo.createFile(IgniteUuid.randomUuid(), 200, 0L, null,
+                IgfsUtils.DELETE_LOCK_ID, false, null, t, t);
 
             assertNull(mgr.dataBlock(info, path, 0, null).get());
 
@@ -253,8 +253,8 @@ public class IgfsDataManagerSelfTest extends IgfsCommonAbstractTest {
 
             long t = System.currentTimeMillis();
 
-            IgfsFileInfo info = new IgfsFileInfo(IgniteUuid.randomUuid(), blockSize, 0L, null, IgfsUtils.DELETE_LOCK_ID,
-                false, null, t, t);
+            IgfsFileInfo info = IgfsFileInfo.createFile(IgniteUuid.randomUuid(), blockSize, 0L, null,
+                IgfsUtils.DELETE_LOCK_ID, false, null, t, t);
 
             assertNull(mgr.dataBlock(info, path, 0, null).get());
 
@@ -344,9 +344,8 @@ public class IgfsDataManagerSelfTest extends IgfsCommonAbstractTest {
 
             long t = System.currentTimeMillis();
 
-            IgfsFileInfo info =
-                new IgfsFileInfo(IgniteUuid.randomUuid(), blockSize, 0L, null, IgfsUtils.DELETE_LOCK_ID,
-                    false, null, t, t);
+            IgfsFileInfo info = IgfsFileInfo.createFile(IgniteUuid.randomUuid(), blockSize, 0L, null,
+                IgfsUtils.DELETE_LOCK_ID, false, null, t, t);
 
             IgfsFileAffinityRange range = new IgfsFileAffinityRange();
 
@@ -416,8 +415,8 @@ public class IgfsDataManagerSelfTest extends IgfsCommonAbstractTest {
         long t = System.currentTimeMillis();
 
         //IgfsFileInfo info = new IgfsFileInfo(blockSize, 0);
-        IgfsFileInfo info = new IgfsFileInfo(IgniteUuid.randomUuid(), blockSize, 1024 * 1024, null, null, false, null,
-            t, t);
+        IgfsFileInfo info = IgfsFileInfo.createFile(IgniteUuid.randomUuid(), blockSize, 1024 * 1024, null, null, false,
+            null, t, t);
 
         for (int pos = 0; pos < 5 * grpSize; pos++) {
             assertEquals("Expects no affinity for zero length.", Collections.<IgfsBlockLocation>emptyList(),
@@ -467,8 +466,8 @@ public class IgfsDataManagerSelfTest extends IgfsCommonAbstractTest {
 
         long t = System.currentTimeMillis();
 
-        IgfsFileInfo info = new IgfsFileInfo(IgniteUuid.randomUuid(), blockSize, 1024 * 1024, null, null, false, null,
-            t, t);
+        IgfsFileInfo info = IgfsFileInfo.createFile(IgniteUuid.randomUuid(), blockSize, 1024 * 1024, null, null, false,
+            null, t, t);
 
         Collection<IgfsBlockLocation> affinity = mgr.affinity(info, 0, info.length());
 
@@ -501,8 +500,8 @@ public class IgfsDataManagerSelfTest extends IgfsCommonAbstractTest {
 
         long t = System.currentTimeMillis();
 
-        IgfsFileInfo info = new IgfsFileInfo(IgniteUuid.randomUuid(), blockSize, 1024 * 1024, null, null, false, null,
-            t, t);
+        IgfsFileInfo info = IgfsFileInfo.createFile(IgniteUuid.randomUuid(), blockSize, 1024 * 1024, null, null, false,
+            null, t, t);
 
         IgniteUuid affKey = IgniteUuid.randomUuid();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/bf86a2d6/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsFileInfoSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsFileInfoSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsFileInfoSelfTest.java
index 5124776..1d25394 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsFileInfoSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsFileInfoSelfTest.java
@@ -49,10 +49,7 @@ public class IgfsFileInfoSelfTest extends IgfsCommonAbstractTest {
 
             @SuppressWarnings("deprecation") // Suppress due to default constructor should never be used directly.
             @Nullable @Override public Object call() throws IgniteCheckedException {
-                long a = System.currentTimeMillis();
-                long m = a + 1;
-
-                testSerialization(IgfsFileInfo.createDirectory(IgniteUuid.randomUuid(), null, null, a, m));
+                testSerialization(IgfsFileInfo.createDirectory(IgniteUuid.randomUuid()));
 
                 return null;
             }

http://git-wip-us.apache.org/repos/asf/ignite/blob/bf86a2d6/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java
index a3d4d26..970b6d2 100644
--- a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java
@@ -353,10 +353,24 @@ public class IgniteHadoopIgfsSecondaryFileSystem implements IgfsSecondaryFileSys
 
             for (FileStatus s : statuses) {
                 IgfsFileInfo fsInfo = s.isDirectory() ?
-                    IgfsFileInfo.createDirectory(IgniteUuid.randomUuid(), null, properties(s),
-                        s.getAccessTime(), s.getModificationTime()) :
-                    new IgfsFileInfo(IgniteUuid.randomUuid(), (int)s.getBlockSize(), s.getLen(), null, null, false,
-                        properties(s), s.getAccessTime(), s.getModificationTime());
+                    IgfsFileInfo.createDirectory(
+                        IgniteUuid.randomUuid(),
+                        null,
+                        properties(s),
+                        s.getAccessTime(),
+                        s.getModificationTime()
+                    ) :
+                    IgfsFileInfo.createFile(
+                        IgniteUuid.randomUuid(),
+                        (int)s.getBlockSize(),
+                        s.getLen(),
+                        null,
+                        null,
+                        false,
+                        properties(s),
+                        s.getAccessTime(),
+                        s.getModificationTime()
+                    );
 
                 res.add(new IgfsFileImpl(new IgfsPath(path, s.getPath().getName()), fsInfo, 1));
             }