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/15 21:11:46 UTC
[8/9] ignite git commit: Refactored "get" operations.
Refactored "get" operations.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/57c83468
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/57c83468
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/57c83468
Branch: refs/heads/ignite-2817
Commit: 57c8346852db834eeda5ad64202b60b59d8b4b91
Parents: d112b75
Author: thatcoach <pp...@list.ru>
Authored: Tue Mar 15 22:48:44 2016 +0300
Committer: thatcoach <pp...@list.ru>
Committed: Tue Mar 15 22:48:44 2016 +0300
----------------------------------------------------------------------
.../processors/igfs/IgfsMetaManager.java | 34 ++++++++++++++++----
1 file changed, 28 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/57c83468/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 74718cd..d7938b5 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
@@ -402,7 +402,7 @@ public class IgfsMetaManager extends IgfsManager {
if (fileId == null)
return null;
- IgfsFileInfo info = id2InfoPrj.get(fileId);
+ IgfsFileInfo info = getInfo(fileId);
// Force root ID always exist in cache.
if (info == null && IgfsUtils.ROOT_ID.equals(fileId))
@@ -434,7 +434,7 @@ public class IgfsMetaManager extends IgfsManager {
if (F.isEmpty(fileIds))
return Collections.emptyMap();
- Map<IgniteUuid, IgfsFileInfo> map = id2InfoPrj.getAll(fileIds);
+ Map<IgniteUuid, IgfsFileInfo> map = getInfos(fileIds);
// Force root ID always exist in cache.
if (fileIds.contains(IgfsUtils.ROOT_ID) && !map.containsKey(IgfsUtils.ROOT_ID)) {
@@ -628,7 +628,7 @@ public class IgfsMetaManager extends IgfsManager {
log.debug("Locking file ids: " + fileIds);
// Lock files and get their infos.
- Map<IgniteUuid, IgfsFileInfo> map = id2InfoPrj.getAll(fileIds);
+ Map<IgniteUuid, IgfsFileInfo> map = getInfos(fileIds);
if (log.isDebugEnabled())
log.debug("Locked file ids: " + fileIds);
@@ -760,7 +760,7 @@ public class IgfsMetaManager extends IgfsManager {
assert fileId != null;
IgfsFileInfo info = skipTx ? id2InfoPrj.getAllOutTx(Collections.singleton(fileId)).get(fileId) :
- id2InfoPrj.get(fileId);
+ getInfo(fileId);
return info == null ? Collections.<String, IgfsListingEntry>emptyMap() : info.listing();
}
@@ -1217,7 +1217,7 @@ public class IgfsMetaManager extends IgfsManager {
// Handle special case when we deleting root directory.
assert IgfsUtils.ROOT_ID.equals(id);
- IgfsFileInfo rootInfo = id2InfoPrj.get(IgfsUtils.ROOT_ID);
+ IgfsFileInfo rootInfo = getInfo(IgfsUtils.ROOT_ID);
if (rootInfo == null)
return null; // Root was never created.
@@ -1438,7 +1438,7 @@ public class IgfsMetaManager extends IgfsManager {
for (int i = 0; i < IgfsUtils.TRASH_CONCURRENCY; i++) {
IgniteUuid trashId = IgfsUtils.trashId(i);
- IgfsFileInfo trashInfo = id2InfoPrj.get(trashId);
+ IgfsFileInfo trashInfo = getInfo(trashId);
if (trashInfo != null && trashInfo.hasChildren()) {
for (IgfsListingEntry entry : trashInfo.listing().values())
@@ -1907,10 +1907,32 @@ public class IgfsMetaManager extends IgfsManager {
id2InfoPrj.invoke(id, proc);
+ return getInfo(id);
+ }
+
+ /**
+ * Get info.
+ *
+ * @param id ID.
+ * @return Info.
+ * @throws IgniteCheckedException If failed.
+ */
+ @Nullable private IgfsFileInfo getInfo(IgniteUuid id) throws IgniteCheckedException {
return id2InfoPrj.get(id);
}
/**
+ * Get several infos.
+ *
+ * @param ids IDs.
+ * @return Infos map.
+ * @throws IgniteCheckedException If failed.
+ */
+ private Map<IgniteUuid, IgfsFileInfo> getInfos(Collection<IgniteUuid> ids) throws IgniteCheckedException {
+ return id2InfoPrj.getAll(ids);
+ }
+
+ /**
* Create the file in DUAL mode.
*
* @param fs File system.