IGNITE-3259: Delete worker is not started on client nodes any more.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0176af13 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0176af13 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0176af13 Branch: refs/heads/ignite-3038 Commit: 0176af13646a09541d65a10cf7ec0641c71e2ca7 Parents: 5254957 Author: vozerov-gridgain <voze...@gridgain.com> Authored: Mon Jun 6 18:10:36 2016 +0300 Committer: vozerov-gridgain <voze...@gridgain.com> Committed: Mon Jun 6 18:10:36 2016 +0300 ---------------------------------------------------------------------- .../processors/igfs/IgfsMetaManager.java | 25 ++++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0176af13/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 1dd4c53..465116b 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 @@ -207,19 +207,20 @@ public class IgfsMetaManager extends IgfsManager { locNode = igfsCtx.kernalContext().discovery().localNode(); // Start background delete worker. - delWorker = new IgfsDeleteWorker(igfsCtx); + if (!client) { + delWorker = new IgfsDeleteWorker(igfsCtx); - delWorker.start(); + delWorker.start(); + } } /** {@inheritDoc} */ @Override protected void onKernalStop0(boolean cancel) { IgfsDeleteWorker delWorker0 = delWorker; - if (delWorker0 != null) + if (delWorker0 != null) { delWorker0.cancel(); - if (delWorker0 != null) { try { U.join(delWorker0); } @@ -1136,7 +1137,7 @@ public class IgfsMetaManager extends IgfsManager { tx.commit(); - delWorker.signal(); + signalDeleteWorker(); return newInfo.id(); } @@ -1212,7 +1213,7 @@ public class IgfsMetaManager extends IgfsManager { tx.commit(); - delWorker.signal(); + signalDeleteWorker(); return victimId; } @@ -2476,7 +2477,7 @@ public class IgfsMetaManager extends IgfsManager { Boolean res = synchronizeAndExecute(task, fs, false, Collections.singleton(trashId), path); - delWorker.signal(); + signalDeleteWorker(); return res; } @@ -3341,4 +3342,14 @@ public class IgfsMetaManager extends IgfsManager { else IgfsUtils.sendEvents(igfsCtx.kernalContext(), leafPath, EventType.EVT_IGFS_DIR_CREATED); } + + /** + * Signal delete worker thread. + */ + private void signalDeleteWorker() { + IgfsDeleteWorker delWorker0 = delWorker; + + if (delWorker0 != null) + delWorker0.signal(); + } } \ No newline at end of file