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 14:35:19 UTC

[10/16] ignite git commit: WIP.

WIP.


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

Branch: refs/heads/ignite-2813
Commit: be1aaeb5c31e0ba586715b34ef2daa0ff7c0c0d7
Parents: 5cb1221
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Mar 15 15:58:30 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Mar 15 15:58:30 2016 +0300

----------------------------------------------------------------------
 .../ignite/internal/processors/igfs/IgfsDeleteWorker.java    | 7 +++++--
 .../apache/ignite/internal/processors/igfs/IgfsFileInfo.java | 8 ++++++++
 2 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/be1aaeb5/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDeleteWorker.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDeleteWorker.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDeleteWorker.java
index 1570845..dda3612 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDeleteWorker.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDeleteWorker.java
@@ -286,6 +286,7 @@ public class IgfsDeleteWorker extends IgfsThread {
 
                 final GridCompoundFuture<Object, ?> fut = new GridCompoundFuture<>();
 
+                int notFoundFiles = 0;
                 int failedFiles = 0;
 
                 for (final Map.Entry<String, IgniteUuid> entry : listing.entrySet()) {
@@ -319,6 +320,8 @@ public class IgfsDeleteWorker extends IgfsThread {
                             }
                         }
                     }
+                    else
+                        notFoundFiles++;
 
                     if (delListing.size() == MAX_DELETE_BATCH)
                         break;
@@ -340,10 +343,10 @@ public class IgfsDeleteWorker extends IgfsThread {
                 // Actual delete of folder content.
                 Collection<IgniteUuid> delIds = meta.delete(id, delListing);
 
-                if (listing.size() == delIds.size())
+                if (listing.size() - notFoundFiles == delIds.size())
                     return true; // All entries were deleted.
 
-                if (listing.size() == delListing.size() + failedFiles)
+                if (listing.size() - notFoundFiles == delListing.size() + failedFiles)
                     // All the files were tried, no reason to continue the loop:
                     return false;
             }

http://git-wip-us.apache.org/repos/asf/ignite/blob/be1aaeb5/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 1f41d91..fc2d70b 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
@@ -445,6 +445,14 @@ public final class IgfsFileInfo implements Externalizable {
     }
 
     /**
+     * @param name Child name.
+     * @return {@code True} if child with such name exists.
+     */
+    public boolean hasChild(String name) {
+        return listing2 != null && listing2.containsKey(name);
+    }
+
+    /**
      * @return Affinity key used for single-node file collocation. If {@code null}, usual
      *      mapper procedure is used for block affinity detection.
      */