/** * @param rmvd Removed flag. */ void removed(boolean rmvd) { if (this.rmvd) return; this.rmvd = rmvd; if (rmvd) ctx.itHolder().clearQueries(); }
/** * Checks if set was removed and handles iterators weak reference queue. */ private void onAccess() { ctx.itHolder().checkWeakQueue(); checkRemoved(); }
/** * @return Separated cache iterator. */ @SuppressWarnings("unchecked") private WeakReferenceCloseableIterator<T> separatedCacheIterator() throws IgniteCheckedException { GridCloseableIterator iter = (GridCloseableIterator)cache.scanIterator(false, new IgniteBiPredicate<Object, Object>() { @Override public boolean apply(Object k, Object v) { return k.getClass() == GridCacheSetItemKey.class; } }); return ctx.itHolder().iterator(iter, new CacheIteratorConverter<T, Map.Entry<T, ?>>() { @Override protected T convert(Map.Entry<T, ?> e) { return (T)((SetItemKey)e.getKey()).item(); } @Override protected void remove(T item) { GridCacheSetImpl.this.remove(item); } }); }
/** * @param opCtx Cache operation context. */ private void onEnter(CacheOperationContext opCtx) { ctx.itHolder().checkWeakQueue(); if (ctx.deploymentEnabled()) ctx.deploy().onEnter(); if (opCtx != null) checkAtomicOpsInTx(opCtx); }
/** * @return Closeable iterator. */ private GridCloseableIterator<T> iterator0() { try { WeakReferenceCloseableIterator<T> it = separated ? separatedCacheIterator() : sharedCacheIterator(); if (rmvd) { ctx.itHolder().removeIterator(it); checkRemoved(); } return it; } catch (IgniteCheckedException e) { throw U.convertException(e); } }
.executeScanQuery(); return ctx.itHolder().iterator(iter, new CacheIteratorConverter<Cache.Entry<K, V>, Map.Entry<K, V>>() { @Override protected Cache.Entry<K, V> convert(Map.Entry<K, V> e) {
/** * @return Shared cache iterator. */ @SuppressWarnings("unchecked") private WeakReferenceCloseableIterator<T> sharedCacheIterator() throws IgniteCheckedException { CacheQuery qry = new GridCacheQueryAdapter<>(ctx, SET, null, null, new GridSetQueryPredicate<>(id, collocated), collocated ? hdrPart : null, false, false, null); Collection<ClusterNode> nodes = dataNodes(ctx.affinity().affinityTopologyVersion()); qry.projection(ctx.grid().cluster().forNodes(nodes)); CacheQueryFuture<Map.Entry<T, ?>> fut = qry.execute(); return ctx.itHolder().iterator(fut, new CacheIteratorConverter<T, Map.Entry<T, ?>>() { @Override protected T convert(Map.Entry<T, ?> e) { return e.getKey(); } @Override protected void remove(T item) { GridCacheSetImpl.this.remove(item); } }); }
return cache.context().itHolder().iterator(iter, new CacheIteratorConverter<Cache.Entry<Object, Object>, Map.Entry<Object, Object>>() { @Override protected Cache.Entry<Object, Object> convert(Map.Entry<Object, Object> e) {
/** * @param rmvd Removed flag. */ void removed(boolean rmvd) { if (this.rmvd) return; this.rmvd = rmvd; if (rmvd) ctx.itHolder().clearQueries(); }
/** * Checks if set was removed and handles iterators weak reference queue. */ private void onAccess() { ctx.itHolder().checkWeakQueue(); checkRemoved(); }
/** * @return Separated cache iterator. */ @SuppressWarnings("unchecked") private WeakReferenceCloseableIterator<T> separatedCacheIterator() throws IgniteCheckedException { GridCloseableIterator iter = (GridCloseableIterator)cache.scanIterator(false, new IgniteBiPredicate<Object, Object>() { @Override public boolean apply(Object k, Object v) { return k.getClass() == GridCacheSetItemKey.class; } }); return ctx.itHolder().iterator(iter, new CacheIteratorConverter<T, Map.Entry<T, ?>>() { @Override protected T convert(Map.Entry<T, ?> e) { return (T)((SetItemKey)e.getKey()).item(); } @Override protected void remove(T item) { GridCacheSetImpl.this.remove(item); } }); }
/** * @param opCtx Cache operation context. */ private void onEnter(CacheOperationContext opCtx) { ctx.itHolder().checkWeakQueue(); if (ctx.deploymentEnabled()) ctx.deploy().onEnter(); if (opCtx != null) checkAtomicOpsInTx(opCtx); }
/** * @return Closeable iterator. */ private GridCloseableIterator<T> iterator0() { try { WeakReferenceCloseableIterator<T> it = separated ? separatedCacheIterator() : sharedCacheIterator(); if (rmvd) { ctx.itHolder().removeIterator(it); checkRemoved(); } return it; } catch (IgniteCheckedException e) { throw U.convertException(e); } }
.executeScanQuery(); return ctx.itHolder().iterator(iter, new CacheIteratorConverter<Cache.Entry<K, V>, Map.Entry<K, V>>() { @Override protected Cache.Entry<K, V> convert(Map.Entry<K, V> e) {
/** * @return Shared cache iterator. */ @SuppressWarnings("unchecked") private WeakReferenceCloseableIterator<T> sharedCacheIterator() throws IgniteCheckedException { CacheQuery qry = new GridCacheQueryAdapter<>(ctx, SET, null, null, new GridSetQueryPredicate<>(id, collocated), collocated ? hdrPart : null, false, false); Collection<ClusterNode> nodes = dataNodes(ctx.affinity().affinityTopologyVersion()); qry.projection(ctx.grid().cluster().forNodes(nodes)); CacheQueryFuture<Map.Entry<T, ?>> fut = qry.execute(); return ctx.itHolder().iterator(fut, new CacheIteratorConverter<T, Map.Entry<T, ?>>() { @Override protected T convert(Map.Entry<T, ?> e) { return e.getKey(); } @Override protected void remove(T item) { GridCacheSetImpl.this.remove(item); } }); }
return cache.context().itHolder().iterator(iter, new CacheIteratorConverter<Cache.Entry<Object, Object>, Map.Entry<Object, Object>>() { @Override protected Cache.Entry<Object, Object> convert(Map.Entry<Object, Object> e) {