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