/** {@inheritDoc} */ @Override protected void onKernalStop0(boolean cancel) { IgfsDeleteWorker delWorker0 = delWorker; if (delWorker0 != null) { delWorker0.cancel(); try { U.join(delWorker0); } catch (IgniteInterruptedCheckedException ignored) { // No-op. } } busyLock.block(); }
/** * Perform cleanup of trash directories. */ private void delete() { for (int i = 0; i < IgfsUtils.TRASH_CONCURRENCY; i++) delete(IgfsUtils.trashId(i)); }
/** * Cancels the worker. */ void cancel() { cancelled = true; interrupt(); }
/** {@inheritDoc} */ @SuppressWarnings("RedundantCast") @Override protected void onKernalStart0() throws IgniteCheckedException { metaCache = igfsCtx.kernalContext().cache().getOrStartCache(metaCacheName); assert metaCache != null; igfsCtx.kernalContext().cache().internalCache(metaCacheName).preloader().startFuture() .listen(new CI1<IgniteInternalFuture<Object>>() { @Override public void apply(IgniteInternalFuture<Object> f) { metaCacheStartLatch.countDown(); } }); id2InfoPrj = (IgniteInternalCache<IgniteUuid, IgfsEntryInfo>)metaCache.<IgniteUuid, IgfsEntryInfo>cache(); locNode = igfsCtx.kernalContext().discovery().localNode(); // Start background delete worker. if (!client) { delWorker = new IgfsDeleteWorker(igfsCtx); delWorker.start(); } }
if (deleteDirectoryContents(id, entry.getValue().fileId())) // *** Recursive call. delListing.put(entry.getKey(), entry.getValue()); else
/** * Signal delete worker thread. */ private void signalDeleteWorker() { IgfsDeleteWorker delWorker0 = delWorker; if (delWorker0 != null) delWorker0.signal(); }
/** {@inheritDoc} */ @SuppressWarnings("RedundantCast") @Override protected void onKernalStart0() throws IgniteCheckedException { metaCache = igfsCtx.kernalContext().cache().getOrStartCache(metaCacheName); assert metaCache != null; igfsCtx.kernalContext().cache().internalCache(metaCacheName).preloader().startFuture() .listen(new CI1<IgniteInternalFuture<Object>>() { @Override public void apply(IgniteInternalFuture<Object> f) { metaCacheStartLatch.countDown(); } }); id2InfoPrj = (IgniteInternalCache<IgniteUuid, IgfsEntryInfo>)metaCache.<IgniteUuid, IgfsEntryInfo>cache(); locNode = igfsCtx.kernalContext().discovery().localNode(); // Start background delete worker. if (!client) { delWorker = new IgfsDeleteWorker(igfsCtx); delWorker.start(); } }
if (!deleteDirectoryContents(trashId, id)) return false;
/** * Signal delete worker thread. */ private void signalDeleteWorker() { IgfsDeleteWorker delWorker0 = delWorker; if (delWorker0 != null) delWorker0.signal(); }
/** {@inheritDoc} */ @Override protected void body() throws InterruptedException { if (log.isDebugEnabled()) log.debug("Delete worker started."); while (!cancelled) { lock.lock(); try { if (!cancelled && !force) cond.await(FREQUENCY, TimeUnit.MILLISECONDS); force = false; // Reset force flag. } finally { lock.unlock(); } if (!cancelled) delete(); } }
if (deleteDirectoryContents(id, entry.getValue().fileId())) // *** Recursive call. delListing.put(entry.getKey(), entry.getValue()); else
/** * Cancels the worker. */ void cancel() { cancelled = true; interrupt(); }
/** {@inheritDoc} */ @Override protected void onKernalStop0(boolean cancel) { IgfsDeleteWorker delWorker0 = delWorker; if (delWorker0 != null) { delWorker0.cancel(); try { U.join(delWorker0); } catch (IgniteInterruptedCheckedException ignored) { // No-op. } } busyLock.block(); }
if (delete(trashId, entry.getKey(), fileId)) { if (log.isDebugEnabled()) log.debug("Sending delete confirmation message [name=" + entry.getKey() +
if (!deleteDirectoryContents(trashId, id)) return false;
/** * Perform cleanup of trash directories. */ private void delete() { for (int i = 0; i < IgfsUtils.TRASH_CONCURRENCY; i++) delete(IgfsUtils.trashId(i)); }
/** {@inheritDoc} */ @Override protected void body() throws InterruptedException { if (log.isDebugEnabled()) log.debug("Delete worker started."); while (!cancelled) { lock.lock(); try { if (!cancelled && !force) cond.await(FREQUENCY, TimeUnit.MILLISECONDS); force = false; // Reset force flag. } finally { lock.unlock(); } if (!cancelled) delete(); } }
if (delete(trashId, entry.getKey(), fileId)) { if (log.isDebugEnabled()) log.debug("Sending delete confirmation message [name=" + entry.getKey() +