You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/01/14 12:43:41 UTC

[11/12] incubator-ignite git commit: # Merge remote-tracking branch 'remotes/origin/ignite-1' into ignite-53

# Merge remote-tracking branch 'remotes/origin/ignite-1' into ignite-53


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

Branch: refs/heads/ignite-53
Commit: f5039e3166b60e89c745c05607e9f83beb123a95
Parents: 84597ce 0f8d9ea
Author: sboikov <sb...@gridgain.com>
Authored: Wed Jan 14 14:30:39 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Wed Jan 14 14:30:39 2015 +0300

----------------------------------------------------------------------
 .../services/javax.cache.spi.CachingProvider    |   1 +
 .../java/org/apache/ignite/IgniteCache.java     |  39 +-
 .../org/apache/ignite/IgniteCacheMXBean.java    |  72 ++++
 .../org/apache/ignite/IgniteCacheManager.java   | 372 +++++++++++++++++++
 .../apache/ignite/IgniteCachingProvider.java    | 189 ++++++++++
 .../processors/cache/IgniteCacheProxy.java      | 183 ++++++++-
 .../grid/cache/GridCacheConfiguration.java      |  11 +-
 .../org/gridgain/grid/cache/GridCacheEntry.java |   3 +-
 .../org/gridgain/grid/kernal/GridGainEx.java    |   2 +-
 .../processors/cache/CacheInvokeEntry.java      |   3 +
 .../processors/cache/GridCacheEntryImpl.java    |   8 +
 .../cache/GridCacheEvictionEntry.java           |   8 +
 .../cache/GridCacheFilterEvaluationEntry.java   |   8 +
 .../processors/cache/GridCacheMapEntry.java     |   2 +-
 .../processors/cache/dr/GridCacheDrManager.java |   2 +-
 .../cache/dr/os/GridOsCacheDrManager.java       |   2 +-
 .../cache/query/GridCacheQueryManager.java      |   8 +
 .../GridCacheContinuousQueryEntry.java          |   8 +
 .../grid/kernal/tck/TCKMBeanServerBuilder.java  | 118 ++++++
 .../cache/IgniteCachingProviderSelfTest.java    | 131 +++++++
 .../GridCacheLoadOnlyStoreAdapterSelfTest.java  |   5 +-
 .../cache/GridCacheAbstractFullApiSelfTest.java |   2 +-
 .../cache/GridCacheAbstractSelfTest.java        |   4 +-
 .../dht/GridCacheAtomicNearCacheSelfTest.java   |   1 +
 .../dht/GridCacheGlobalLoadTest.java            | 163 ++++++++
 .../GridCachePartitionedLoadCacheSelfTest.java  |  20 +-
 .../cache/eviction/GridCacheMockEntry.java      |   8 +
 .../junits/common/GridCommonAbstractTest.java   |   7 +
 .../bamboo/GridDataGridTestSuite.java           |   1 +
 .../hadoop/jobtracker/GridHadoopJobTracker.java |   7 +-
 30 files changed, 1331 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f5039e31/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
index c6b4aba,f432c39..307bb05
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
@@@ -12,10 -12,10 +12,12 @@@ package org.apache.ignite.internal.proc
  import org.apache.ignite.*;
  import org.apache.ignite.cache.*;
  import org.apache.ignite.cache.query.*;
+ import org.apache.ignite.cluster.*;
  import org.apache.ignite.lang.*;
+ import org.apache.ignite.resources.*;
  import org.gridgain.grid.cache.*;
 +import org.gridgain.grid.cache.query.GridCacheQuery;
 +import org.gridgain.grid.cache.query.GridCacheQueryFuture;
  import org.gridgain.grid.kernal.*;
  import org.gridgain.grid.kernal.processors.cache.*;
  import org.gridgain.grid.util.tostring.*;
@@@ -926,59 -997,72 +999,129 @@@ public class IgniteCacheProxy<K, V> ext
      }
  
      /**
+      *
+      */
+     private static class LoadCacheClosure<K, V> implements Callable<Void>, Externalizable {
+         /** */
+         private static final long serialVersionUID = 0L;
+ 
+         /** */
+         private String cacheName;
+ 
+         /** */
+         private IgniteBiPredicate<K, V> p;
+ 
+         /** */
+         private Object[] args;
+ 
+         /** */
+         @IgniteInstanceResource
+         private Ignite ignite;
+ 
+         /**
+          * Required by {@link Externalizable}.
+          */
+         public LoadCacheClosure() {
+             // No-op.
+         }
+ 
+         /**
+          * @param cacheName Cache name.
+          * @param p Predicate.
+          * @param args Arguments.
+          */
+         private LoadCacheClosure(String cacheName, IgniteBiPredicate<K, V> p, Object[] args) {
+             this.cacheName = cacheName;
+             this.p = p;
+             this.args = args;
+         }
+ 
+         /** {@inheritDoc} */
+         @Override public Void call() throws Exception {
+             IgniteCache<K, V> cache = ignite.jcache(cacheName);
+ 
+             assert cache != null : cacheName;
+ 
+             cache.localLoadCache(p, args);
+ 
+             return null;
+         }
+ 
+         /** {@inheritDoc} */
+         @Override public void writeExternal(ObjectOutput out) throws IOException {
+             out.writeObject(p);
+ 
+             out.writeObject(args);
+         }
+ 
+         /** {@inheritDoc} */
+         @SuppressWarnings("unchecked")
+         @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+             p = (IgniteBiPredicate<K, V>)in.readObject();
+ 
+             args = (Object[])in.readObject();
+         }
+ 
+         /** {@inheritDoc} */
+         @Override public String toString() {
+             return S.toString(LoadCacheClosure.class, this);
+         }
+     }
++
++    /**
 +     * Iterator over the IgniteCacheProxy
 +     */
 +    private class IgniteCacheIterator implements Iterator<Cache.Entry<K, V>> {
 +
 +        /** Cache query future for all entries in distributed ignite cache. */
 +        private final GridCacheQueryFuture<Map.Entry<K, V>> fut;
 +
 +        /** Current element from all entries in distributed ignite cache. */
 +        private Map.Entry<K, V> curIter;
 +
 +        public IgniteCacheIterator() {
 +            fut = delegate.queries().createScanQuery(null).execute();
 +        }
 +
 +        /** {@inheritDoc} */
 +        @Override public boolean hasNext() {
 +            try {
 +                curIter = fut.next();
 +                return curIter != null;
 +            }
 +            catch (IgniteCheckedException e) {
 +                throw cacheException(e);
 +            }
 +        }
 +
 +        /** {@inheritDoc} */
 +        @Override public Entry<K, V> next() {
 +            return new Cache.Entry<K, V>() {
 +                /** {@inheritDoc} */
 +                @Override public K getKey() {
 +                    return curIter.getKey();
 +                }
 +
 +                /** {@inheritDoc} */
 +                @Override public V getValue() {
 +                    return curIter.getValue();
 +                }
 +
 +                /** {@inheritDoc} */
 +                @Override public <T> T unwrap(Class<T> clazz) {
 +                    throw new IllegalArgumentException();
 +                }
 +            };
 +        }
 +
 +        /** {@inheritDoc} */
 +        @Override public void remove() {
 +            try {
 +                delegate.remove(curIter.getKey(), curIter.getValue());
 +            }
 +            catch (IgniteCheckedException e) {
 +                throw cacheException(e);
 +            }
 +        }
 +    }
  }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f5039e31/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------