[17/18] ignite git commit: Ignite-1093 Backward compatibility failover.

2015-11-09 Thread ntikhonov
Ignite-1093 Backward compatibility failover.


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

Branch: refs/heads/ignite-426-2
Commit: efc79fbe12f77906ee2ab9266c387bfdc3b887b9
Parents: 44ddf65
Author: Anton Vinogradov 
Authored: Mon Nov 9 15:09:36 2015 +0300
Committer: Anton Vinogradov 
Committed: Mon Nov 9 15:09:36 2015 +0300

--
 .../distributed/dht/preloader/GridDhtPartitionDemander.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/efc79fbe/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
index 35cedf9..29ca5f4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
@@ -1191,7 +1191,7 @@ public class GridDhtPartitionDemander {
 
 // While.
 // =
-while (!topologyChanged(fut)) {
+while (!fut.isDone() && !topologyChanged(fut)) {
 SupplyMessage s = poll(msgQ, timeout);
 
 // If timed out.
@@ -1350,7 +1350,7 @@ public class GridDhtPartitionDemander {
 }
 }
 }
-while (retry && !topologyChanged(fut));
+while (retry && !fut.isDone() && !topologyChanged(fut));
 }
 finally {
 cctx.io().removeOrderedHandler(d.topic());



[11/18] ignite git commit: Performance optimizations.

2015-11-09 Thread ntikhonov
http://git-wip-us.apache.org/repos/asf/ignite/blob/a4848a70/modules/core/src/test/java/org/apache/ignite/util/GridConcurrentLinkedHashMapMultiThreadedSelfTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/util/GridConcurrentLinkedHashMapMultiThreadedSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/util/GridConcurrentLinkedHashMapMultiThreadedSelfTest.java
index 5c6cfcf..9fe2690 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/util/GridConcurrentLinkedHashMapMultiThreadedSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/util/GridConcurrentLinkedHashMapMultiThreadedSelfTest.java
@@ -146,40 +146,41 @@ public class 
GridConcurrentLinkedHashMapMultiThreadedSelfTest extends GridCommon
 public void testEvictPerSegment() throws Exception {
 info(">>> Test grid concurrent linked hash map...");
 
-final int maxSize = 1000;
+int concurLvl = 64;
+final int maxSize = concurLvl * 30;
+int diff = (int)(maxSize * 0.1);
 
 ConcurrentLinkedHashMap linkedMap = new 
ConcurrentLinkedHashMap<>(
-32, 0.75f, 64, maxSize, PER_SEGMENT_Q);
+32, 0.75f, concurLvl, maxSize, PER_SEGMENT_Q);
 
 int keyCnt = 100;
 
-putMultiThreaded(linkedMap, 10, keyCnt, maxSize);
-
-int diff = 10; // 1% of 1000.
+Map map = putMultiThreaded(
+linkedMap,
+10,
+keyCnt,
+maxSize * 10); // Intentionally memorize more than maxSize since 
in this mode LRU is not fair.
 
 assertTrue("Invalid map size: " + linkedMap.size(), U.safeAbs(maxSize 
- linkedMap.size()) <= diff);
 assertTrue("Invalid map sizex: " + linkedMap.sizex(), 
U.safeAbs(maxSize - linkedMap.sizex()) <= diff);
 
-//  TODO IGNITE-606 - Need to fix iterators for ConcurrentLinkedHashMap in 
perSegment mode
-//LinkedList keys = new 
LinkedList(linkedMap.keySet());
-//
-//while (!keys.isEmpty()) {
-//boolean found = false;
-//
-//int key = keys.removeLast();
-//
-//for (LinkedList threadKeys : map.values()) {
-//if (threadKeys.getLast() == key) {
-//threadKeys.removeLast();
-//
-//found = true;
-//
-//break;
-//}
-//}
-//
-//assertTrue("Key was not found on the top of any thread: " + key, 
found);
-//}
+LinkedList keys = new LinkedList<>(linkedMap.keySet());
+
+while (!keys.isEmpty()) {
+boolean found = false;
+
+int key = keys.removeLast();
+
+for (LinkedList threadKeys : map.values()) {
+if (threadKeys.contains(key)) {
+found = true;
+
+break;
+}
+}
+
+assertTrue("Key was not found in any thread: " + key, found);
+}
 
 int min = Integer.MAX_VALUE;
 int max = 0;
@@ -207,40 +208,41 @@ public class 
GridConcurrentLinkedHashMapMultiThreadedSelfTest extends GridCommon
 public void testEvictPerSegmentOptimizedRemoves() throws Exception {
 info(">>> Test grid concurrent linked hash map...");
 
-final int maxSize = 1000;
+int concurLvl = 64;
+final int maxSize = concurLvl * 30;
+int diff = (int)(maxSize * 0.1);
 
 ConcurrentLinkedHashMap linkedMap = new 
ConcurrentLinkedHashMap<>(
-32, 0.75f, 64, maxSize, PER_SEGMENT_Q_OPTIMIZED_RMV);
+32, 0.75f, concurLvl, maxSize, PER_SEGMENT_Q_OPTIMIZED_RMV);
 
 int keyCnt = 100;
 
-putMultiThreaded(linkedMap, 10, keyCnt, maxSize);
-
-int diff = 10; // 1% of 1000.
+Map map = putMultiThreaded(
+linkedMap,
+10,
+keyCnt,
+maxSize * 10); // Intentionally memorize more than maxSize since 
in this mode LRU is not fair.
 
 assertTrue("Invalid map size: " + linkedMap.size(), U.safeAbs(maxSize 
- linkedMap.size()) <= diff);
 assertTrue("Invalid map sizex: " + linkedMap.sizex(), 
U.safeAbs(maxSize - linkedMap.sizex()) <= diff);
 
-//  TODO IGNITE-606 - Need to fix iterators for ConcurrentLinkedHashMap in 
perSegment mode
-//LinkedList keys = new 
LinkedList(linkedMap.keySet());
-//
-//while (!keys.isEmpty()) {
-//boolean found = false;
-//
-//int key = keys.removeLast();
-//
-//for (LinkedList threadKeys : map.values()) {
-//if (threadKeys.getLast() == key) {
-//threadKeys.removeLast();
-//
-//found = true;
-//
-//break;
-//}
-//}
-//
-//assertTrue("Key was not found on the top of any thread: " + key, 
found);
-//}

[01/18] ignite git commit: Ignite-1093 "Rebalancing with default parameters is very slow" fixes.

2015-11-09 Thread ntikhonov
Repository: ignite
Updated Branches:
  refs/heads/ignite-426-2 f89eb2166 -> 2044291cc


http://git-wip-us.apache.org/repos/asf/ignite/blob/7dfaa3b0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
index 998c720..c634ff5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
@@ -17,15 +17,18 @@
 
 package org.apache.ignite.internal.processors.cache.distributed.dht.preloader;
 
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 import java.util.UUID;
+import java.util.concurrent.Callable;
 import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.events.DiscoveryEvent;
 import org.apache.ignite.events.Event;
 import org.apache.ignite.internal.IgniteInternalFuture;
@@ -47,27 +50,42 @@ import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalP
 import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology;
 import org.apache.ignite.internal.util.GridAtomicLong;
 import org.apache.ignite.internal.util.future.GridCompoundFuture;
+import org.apache.ignite.internal.util.future.GridFinishedFuture;
 import org.apache.ignite.internal.util.future.GridFutureAdapter;
 import org.apache.ignite.internal.util.lang.GridPlainRunnable;
 import org.apache.ignite.internal.util.typedef.CI1;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.CU;
+import org.apache.ignite.internal.util.typedef.internal.GPC;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgniteBiInClosure;
 import org.apache.ignite.lang.IgnitePredicate;
+import org.apache.ignite.lang.IgniteProductVersion;
 import org.apache.ignite.lang.IgniteUuid;
 import org.jetbrains.annotations.Nullable;
 import org.jsr166.ConcurrentHashMap8;
+import org.jsr166.ConcurrentLinkedDeque8;
 
+import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_PART_DATA_LOST;
 import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_PART_UNLOADED;
 import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
 import static org.apache.ignite.events.EventType.EVT_NODE_JOINED;
 import static org.apache.ignite.events.EventType.EVT_NODE_LEFT;
 import static 
org.apache.ignite.internal.managers.communication.GridIoPolicy.AFFINITY_POOL;
+import static 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState.MOVING;
 import static org.apache.ignite.internal.util.GridConcurrentFactory.newMap;
 
 /**
  * DHT cache preloader.
  */
 public class GridDhtPreloader extends GridCachePreloaderAdapter {
+/**
+ * Rebalancing was refactored at version 1.5.0, but backward compatibility 
to previous implementation was saved.
+ * Node automatically chose communication protocol depends on remote 
node's version.
+ * Backward compatibility may be removed at Ignite 2.x.
+ */
+public static final IgniteProductVersion REBALANCING_VER_2_SINCE = 
IgniteProductVersion.fromString("1.5.0");
+
 /** Default preload resend timeout. */
 public static final long DFLT_PRELOAD_RESEND_TIMEOUT = 1500;
 
@@ -81,10 +99,10 @@ public class GridDhtPreloader extends 
GridCachePreloaderAdapter {
 private final ConcurrentMap 
forceKeyFuts = newMap();
 
 /** Partition suppliers. */
-private GridDhtPartitionSupplyPool supplyPool;
+private GridDhtPartitionSupplier supplier;
 
 /** Partition demanders. */
-private GridDhtPartitionDemandPool demandPool;
+private GridDhtPartitionDemander demander;
 
 /** Start future. */
 private GridFutureAdapter startFut;
@@ -92,10 +110,19 @@ public class GridDhtPreloader extends 
GridCachePreloaderAdapter {
 /** Busy lock to prevent activities from accessing exchanger while it's 
stopping. */
 private final ReadWriteLock busyLock = new ReentrantReadWriteLock();
 
+/** Demand lock. */
+private final ReadWriteLock demandLock = new ReentrantReadWriteLock();
+
 /** Pending affinity assignment futures. */
 

[13/18] ignite git commit: Performance optimizations.

2015-11-09 Thread ntikhonov
Performance optimizations.


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

Branch: refs/heads/ignite-426-2
Commit: a4848a702fea1573af7f36af91d02f7df3ab64f4
Parents: 7393227
Author: sboikov 
Authored: Mon Nov 9 12:16:16 2015 +0300
Committer: sboikov 
Committed: Mon Nov 9 12:16:16 2015 +0300

--
 .../managers/communication/GridIoMessage.java   |   4 +-
 .../processors/cache/GridCacheContext.java  |  29 +--
 .../processors/cache/GridCacheEntryEx.java  |   4 +-
 .../processors/cache/GridCacheMapEntry.java |  55 ++--
 .../processors/cache/GridCacheMvccManager.java  | 145 +--
 .../distributed/GridDistributedCacheEntry.java  |   2 +-
 .../distributed/GridDistributedTxMapping.java   |   8 +-
 .../GridDistributedTxRemoteAdapter.java |   5 +-
 .../distributed/dht/GridDhtLockFuture.java  |   7 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |  13 +-
 .../distributed/dht/GridDhtTxLocalAdapter.java  |  43 ++--
 .../distributed/dht/GridDhtTxPrepareFuture.java |  78 +++---
 .../cache/distributed/dht/GridDhtTxRemote.java  |  45 ++--
 .../dht/atomic/GridDhtAtomicCache.java  |   1 -
 .../dht/colocated/GridDhtColocatedCache.java|   7 +-
 .../near/GridNearOptimisticTxPrepareFuture.java |  11 +-
 .../near/GridNearTransactionalCache.java|   7 +-
 .../near/GridNearTxFinishFuture.java| 157 ++--
 .../cache/distributed/near/GridNearTxLocal.java |  21 +-
 .../cache/transactions/IgniteInternalTx.java|   3 +-
 .../cache/transactions/IgniteTxAdapter.java | 251 ++-
 .../cache/transactions/IgniteTxHandler.java |  37 +--
 .../transactions/IgniteTxLocalAdapter.java  |  26 +-
 .../cache/transactions/IgniteTxManager.java | 171 ++---
 .../GridBoundedConcurrentLinkedHashMap.java |   7 +-
 .../GridBoundedConcurrentLinkedHashSet.java |   7 +-
 .../util/GridBoundedConcurrentOrderedMap.java   |  39 +--
 .../internal/util/GridConcurrentFactory.java|  11 +-
 .../util/GridConcurrentLinkedHashSet.java   |   9 +-
 .../ignite/internal/util/IgniteUuidCache.java   |   6 +-
 .../util/future/GridCompoundFuture.java | 155 
 .../java/org/jsr166/ConcurrentHashMap8.java |   2 +-
 .../java/org/jsr166/ConcurrentLinkedDeque8.java |   2 +-
 .../org/jsr166/ConcurrentLinkedHashMap.java | 195 +++---
 .../GridCacheAffinityBackupsSelfTest.java   |   8 +
 .../cache/GridCacheAbstractFullApiSelfTest.java |   2 +-
 .../GridCacheMissingCommitVersionSelfTest.java  |  40 +--
 .../processors/cache/GridCacheTestEntryEx.java  |   3 +-
 ...achePartitionedMultiNodeFullApiSelfTest.java |   2 +-
 .../continuous/GridEventConsumeSelfTest.java|   2 +-
 ...dBoundedConcurrentLinkedHashMapSelfTest.java |   2 +-
 .../GridConcurrentLinkedHashMapSelfTest.java|  62 -
 .../junits/common/GridCommonAbstractTest.java   |   4 +-
 ...rrentLinkedHashMapMultiThreadedSelfTest.java | 104 
 .../yardstick/cache/IgnitePutTxBenchmark.java   |  10 +
 .../cache/IgnitePutTxPrimaryOnlyBenchmark.java  |  65 +
 .../IgnitePutTxSkipLocalBackupBenchmark.java|  65 +
 .../cache/WaitMapExchangeFinishCallable.java|  95 +++
 48 files changed, 1220 insertions(+), 807 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/a4848a70/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessage.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessage.java
index c83a281..cb19ba0 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessage.java
@@ -143,7 +143,7 @@ public class GridIoMessage implements Message {
 /**
  * @return Message.
  */
-public Object message() {
+public Message message() {
 return msg;
 }
 
@@ -320,4 +320,4 @@ public class GridIoMessage implements Message {
 @Override public String toString() {
 return S.toString(GridIoMessage.class, this);
 }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/a4848a70/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
--
diff --git 

[05/18] ignite git commit: Ignite-1093 "Rebalancing with default parameters is very slow" fixes.

2015-11-09 Thread ntikhonov
Ignite-1093 "Rebalancing with default parameters is very slow" fixes.


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

Branch: refs/heads/ignite-426-2
Commit: 7dfaa3b062d5020debb5e716395f9b5603ec07ed
Parents: 7573003
Author: Anton Vinogradov 
Authored: Thu Nov 5 16:15:34 2015 +0300
Committer: Anton Vinogradov 
Committed: Thu Nov 5 20:41:17 2015 +0300

--
 .../configuration/CacheConfiguration.java   |   54 +-
 .../configuration/IgniteConfiguration.java  |   32 +-
 .../apache/ignite/internal/IgniteKernal.java|   21 +
 .../org/apache/ignite/internal/IgnitionEx.java  |3 +
 .../communication/GridIoMessageFactory.java |   10 +-
 .../processors/cache/GridCacheIoManager.java|   19 +-
 .../processors/cache/GridCacheMapEntry.java |   38 +-
 .../GridCachePartitionExchangeManager.java  |  164 ++-
 .../processors/cache/GridCachePreloader.java|   55 +-
 .../cache/GridCachePreloaderAdapter.java|   40 +-
 .../processors/cache/GridCacheProcessor.java|   55 +-
 .../distributed/dht/GridDhtCacheEntry.java  |   11 +-
 .../distributed/dht/GridDhtLocalPartition.java  |   63 +-
 .../dht/GridDhtPartitionsReservation.java   |2 +-
 .../GridDhtPartitionDemandMessage.java  |   14 +-
 .../preloader/GridDhtPartitionDemandPool.java   | 1192 ---
 .../dht/preloader/GridDhtPartitionDemander.java | 1389 ++
 .../dht/preloader/GridDhtPartitionSupplier.java | 1034 +
 .../GridDhtPartitionSupplyMessageV2.java|  380 +
 .../preloader/GridDhtPartitionSupplyPool.java   |  555 ---
 .../GridDhtPartitionsExchangeFuture.java|2 +
 .../dht/preloader/GridDhtPreloader.java |  282 +++-
 .../datastructures/DataStructuresProcessor.java |3 +
 .../processors/task/GridTaskWorker.java |4 +-
 .../ignite/internal/util/lang/GridTuple4.java   |2 +-
 .../spi/discovery/tcp/TcpDiscoverySpi.java  |2 +-
 .../IgniteCacheP2pUnmarshallingErrorTest.java   |2 +-
 .../dht/GridCacheTxNodeFailureSelfTest.java |   21 +-
 .../GridCacheRebalancingAsyncSelfTest.java  |   68 +
 .../GridCacheRebalancingSyncSelfTest.java   |  506 +++
 ...eRebalancingUnmarshallingFailedSelfTest.java |  147 ++
 .../GridCacheReplicatedPreloadSelfTest.java |   22 +-
 .../spi/discovery/tcp/TcpDiscoverySelfTest.java |   17 -
 .../spi/discovery/tcp/TestTcpDiscoverySpi.java  |   46 +
 .../testframework/junits/GridAbstractTest.java  |3 +-
 .../junits/common/GridCommonAbstractTest.java   |   21 +-
 .../testsuites/IgniteCacheTestSuite3.java   |4 +
 .../tcp/GridOrderedMessageCancelSelfTest.java   |   18 +-
 38 files changed, 4309 insertions(+), 1992 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/7dfaa3b0/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
index 374743f..b7276c9 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
@@ -69,11 +69,15 @@ public class CacheConfiguration extends 
MutableConfiguration {
 private static final long serialVersionUID = 0L;
 
 /** Default size of rebalance thread pool. */
+@Deprecated
 public static final int DFLT_REBALANCE_THREAD_POOL_SIZE = 2;
 
 /** Default rebalance timeout (ms).*/
 public static final long DFLT_REBALANCE_TIMEOUT = 1;
 
+/** Default rebalance batches prefetch count. */
+public static final long DFLT_REBALANCE_BATCHES_PREFETCH_COUNT = 2;
+
 /** Time in milliseconds to wait between rebalance messages to avoid 
overloading CPU. */
 public static final long DFLT_REBALANCE_THROTTLE = 0;
 
@@ -174,6 +178,7 @@ public class CacheConfiguration extends 
MutableConfiguration {
 private String name;
 
 /** Rebalance thread pool size. */
+@Deprecated
 private int rebalancePoolSize = DFLT_REBALANCE_THREAD_POOL_SIZE;
 
 /** Rebalance timeout. */
@@ -254,6 +259,9 @@ public class CacheConfiguration extends 
MutableConfiguration {
 /** Rebalance batch size. */
 private int rebalanceBatchSize = DFLT_REBALANCE_BATCH_SIZE;
 
+/** Rebalance batches prefetch count. */
+private long rebalanceBatchesPrefetchCount = 

ignite git commit: ignite-1758 debug

2015-11-09 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-1758 f96781d8b -> 7661e3ee1


ignite-1758 debug


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

Branch: refs/heads/ignite-1758
Commit: 7661e3ee1d6651cef8399cb05fedae0663b7d327
Parents: f96781d
Author: sboikov 
Authored: Mon Nov 9 16:53:39 2015 +0300
Committer: sboikov 
Committed: Mon Nov 9 16:53:39 2015 +0300

--
 .../ignite/spi/discovery/tcp/ServerImpl.java|  67 +
 .../spi/discovery/tcp/TcpDiscoverySelfTest.java | 142 +--
 2 files changed, 173 insertions(+), 36 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/7661e3ee/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index 5db1e34..af385e4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -1087,9 +1087,20 @@ class ServerImpl extends TcpDiscoveryImpl {
 
 openSock = true;
 
+TcpDiscoveryHandshakeRequest req = new 
TcpDiscoveryHandshakeRequest(locNodeId);
+
+if (msg instanceof TcpDiscoveryJoinRequestMessage) {
+synchronized (failedNodes) {
+for (TcpDiscoveryNode node : failedNodes) {
+debugLog(null, "Add failed node [node=" + node + 
", msg=" + req + ']');
+
+req.addFailedNode(node);
+}
+}
+}
+
 // Handshake.
-spi.writeToSocket(sock, new 
TcpDiscoveryHandshakeRequest(locNodeId), timeoutHelper.nextTimeoutChunk(
-spi.getSocketTimeout()));
+spi.writeToSocket(sock, req, 
timeoutHelper.nextTimeoutChunk(spi.getSocketTimeout()));
 
 TcpDiscoveryHandshakeResponse res = spi.readMessage(sock, 
null, timeoutHelper.nextTimeoutChunk(
 ackTimeout0));
@@ -1760,6 +1771,27 @@ class ServerImpl extends TcpDiscoveryImpl {
 }
 }
 
+private void processMessageFailedNodes(TcpDiscoveryAbstractMessage msg) {
+if (msg.failedNodes() != null) {
+for (UUID nodeId : msg.failedNodes()) {
+TcpDiscoveryNode failedNode = ring.node(nodeId);
+
+if (failedNode != null) {
+boolean add;
+
+synchronized (mux) {
+add = failedNodes.add(failedNode);
+}
+
+if (add)
+debugLog(null, "New failed node [node=" + failedNode + 
", msg=" + msg + ']');
+}
+else
+debugLog(null, "Unknown failed node [nodeId=" + nodeId + 
", msg=" + msg + ']');
+}
+}
+}
+
 /**
  * Discovery messages history used for client reconnect.
  */
@@ -2141,27 +2173,6 @@ class ServerImpl extends TcpDiscoveryImpl {
 log.debug("Connection check frequency is calculated: " + 
connCheckFreq);
 }
 
-private void addMessageFailedNodes(TcpDiscoveryAbstractMessage msg) {
-if (msg.failedNodes() != null) {
-for (UUID nodeId : msg.failedNodes()) {
-TcpDiscoveryNode failedNode = ring.node(nodeId);
-
-if (failedNode != null) {
-boolean add;
-
-synchronized (mux) {
-add = failedNodes.add(failedNode);
-}
-
-if (add)
-debugLog(null, "New failed node [node=" + 
failedNode + ", msg=" + msg + ']');
-}
-else
-debugLog(null, "Unknown failed node [nodeId=" + nodeId 
+ ", msg=" + msg + ']');
-}
-}
-}
-
 /**
  * @param msg Message to process.
  */
@@ -2175,7 +2186,7 @@ class ServerImpl extends TcpDiscoveryImpl {
 
 spi.stats.onMessageProcessingStarted(msg);
 
-addMessageFailedNodes(msg);
+processMessageFailedNodes(msg);
 
 if (msg instanceof TcpDiscoveryJoinRequestMessage)
 

ignite git commit: Revert accidental commit

2015-11-09 Thread vozerov
Repository: ignite
Updated Branches:
  refs/heads/ignite-1282 878bca564 -> 1133bd13b


Revert accidental commit


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

Branch: refs/heads/ignite-1282
Commit: 1133bd13b2779851b1b49f263a2f2209a9cd5e3c
Parents: 878bca5
Author: Pavel Tupitsyn 
Authored: Mon Nov 9 17:59:55 2015 +0300
Committer: Pavel Tupitsyn 
Committed: Mon Nov 9 17:59:55 2015 +0300

--
 .../dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs  | 1 -
 1 file changed, 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/1133bd13/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs
--
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs
 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs
index 7efce14..abef473 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs
@@ -28,7 +28,6 @@ namespace Apache.Ignite.Core.Tests.Cache
 /// 
 /// Tests for dynamic a cache start.
 /// 
-[Ignore("TODO")]
 public class CacheDynamicStartTest
 {
 /** Grid name: data. */



ignite git commit: IGNITE-426 Fixed code style.

2015-11-09 Thread ntikhonov
Repository: ignite
Updated Branches:
  refs/heads/ignite-426-2 2044291cc -> 6d6864a94


IGNITE-426 Fixed code style.


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

Branch: refs/heads/ignite-426-2
Commit: 6d6864a94ab3772d2a1db25413aa40b10caa2f2f
Parents: 2044291
Author: nikolay_tikhonov 
Authored: Mon Nov 9 16:00:01 2015 +0300
Committer: nikolay_tikhonov 
Committed: Mon Nov 9 16:00:01 2015 +0300

--
 .../continuous/CacheContinuousQueryHandler.java |  14 +-
 .../continuous/GridContinuousProcessor.java |   6 +-
 .../StartRoutineAckDiscoveryMessage.java|   2 +-
 .../StartRoutineDiscoveryMessage.java   |   2 +-
 .../IgniteCacheQuerySelfTestSuite.java  | 142 +--
 5 files changed, 84 insertions(+), 82 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/6d6864a9/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
index bd6f5d4..0d7a697 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
@@ -134,7 +134,7 @@ class CacheContinuousQueryHandler implements 
GridContinuousHandler {
 private transient ConcurrentMap rcvs;
 
 /** */
-private transient ConcurrentMap snds = new 
ConcurrentHashMap<>();
+private transient ConcurrentMap entryBufs;
 
 /** */
 private transient AcknowledgeBuffer ackBuf;
@@ -238,6 +238,8 @@ class CacheContinuousQueryHandler implements 
GridContinuousHandler {
 if (rmtFilter != null)
 ctx.resource().injectGeneric(rmtFilter);
 
+entryBufs = new ConcurrentHashMap<>();
+
 backupQueue = new ConcurrentLinkedDeque8<>();
 
 ackBuf = new AcknowledgeBuffer();
@@ -446,12 +448,12 @@ class CacheContinuousQueryHandler implements 
GridContinuousHandler {
 
 CacheContinuousQueryEntry e = evt.entry();
 
-EntryBuffer buf = snds.get(e.partition());
+EntryBuffer buf = entryBufs.get(e.partition());
 
 if (buf == null) {
 buf = new EntryBuffer();
 
-EntryBuffer oldRec = snds.putIfAbsent(e.partition(), 
buf);
+EntryBuffer oldRec = 
entryBufs.putIfAbsent(e.partition(), buf);
 
 if (oldRec != null)
 buf = oldRec;
@@ -644,7 +646,7 @@ class CacheContinuousQueryHandler implements 
GridContinuousHandler {
  */
 private CacheContinuousQueryEntry handleEntry(CacheContinuousQueryEntry e) 
{
 assert e != null;
-assert snds != null;
+assert entryBufs != null;
 
 if (internal) {
 if (e.isFiltered())
@@ -658,12 +660,12 @@ class CacheContinuousQueryHandler implements 
GridContinuousHandler {
 if (e.updateCounter() == -1)
 return e;
 
-EntryBuffer buf = snds.get(e.partition());
+EntryBuffer buf = entryBufs.get(e.partition());
 
 if (buf == null) {
 buf = new EntryBuffer();
 
-EntryBuffer oldRec = snds.putIfAbsent(e.partition(), buf);
+EntryBuffer oldRec = entryBufs.putIfAbsent(e.partition(), buf);
 
 if (oldRec != null)
 buf = oldRec;

http://git-wip-us.apache.org/repos/asf/ignite/blob/6d6864a9/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
index 4ff7325..c07cc13 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
@@ -212,7 +212,7 

ignite git commit: ignite-1758 debug

2015-11-09 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-1758 7661e3ee1 -> c7cc1aed5


ignite-1758 debug


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

Branch: refs/heads/ignite-1758
Commit: c7cc1aed50b32c2b59f2ea6ef7aee127f7862fca
Parents: 7661e3e
Author: sboikov 
Authored: Mon Nov 9 17:17:49 2015 +0300
Committer: sboikov 
Committed: Mon Nov 9 17:17:49 2015 +0300

--
 .../main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java  | 2 --
 1 file changed, 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/c7cc1aed/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index af385e4..0a36e1c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -1786,8 +1786,6 @@ class ServerImpl extends TcpDiscoveryImpl {
 if (add)
 debugLog(null, "New failed node [node=" + failedNode + 
", msg=" + msg + ']');
 }
-else
-debugLog(null, "Unknown failed node [nodeId=" + nodeId + 
", msg=" + msg + ']');
 }
 }
 }



[12/18] ignite git commit: Performance optimizations.

2015-11-09 Thread ntikhonov
http://git-wip-us.apache.org/repos/asf/ignite/blob/a4848a70/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
index 1c82636..eb2ca2c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
@@ -24,16 +24,14 @@ import java.io.ObjectOutput;
 import java.io.ObjectStreamException;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
-import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicReference;
-import java.util.concurrent.locks.Condition;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
 import javax.cache.expiry.ExpiryPolicy;
 import javax.cache.processor.EntryProcessor;
 import org.apache.ignite.IgniteCheckedException;
@@ -47,7 +45,6 @@ import 
org.apache.ignite.internal.processors.cache.CacheObject;
 import org.apache.ignite.internal.processors.cache.GridCacheContext;
 import org.apache.ignite.internal.processors.cache.GridCacheEntryEx;
 import 
org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException;
-import 
org.apache.ignite.internal.processors.cache.GridCacheFilterFailedException;
 import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate;
 import org.apache.ignite.internal.processors.cache.GridCacheOperation;
 import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
@@ -59,7 +56,6 @@ import 
org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
 import 
org.apache.ignite.internal.processors.cache.version.GridCacheVersionConflictContext;
 import 
org.apache.ignite.internal.processors.cache.version.GridCacheVersionedEntryEx;
 import org.apache.ignite.internal.transactions.IgniteTxTimeoutCheckedException;
-import org.apache.ignite.internal.util.GridLeanSet;
 import org.apache.ignite.internal.util.future.GridFutureAdapter;
 import org.apache.ignite.internal.util.lang.GridMetadataAwareAdapter;
 import org.apache.ignite.internal.util.lang.GridTuple;
@@ -199,20 +195,20 @@ public abstract class IgniteTxAdapter extends 
GridMetadataAwareAdapter
 protected boolean transform;
 
 /** Commit version. */
-private AtomicReference commitVer = new 
AtomicReference<>(null);
-
-/** Done marker. */
-protected final AtomicBoolean isDone = new AtomicBoolean(false);
+private volatile GridCacheVersion commitVer;
 
 /** */
 private AtomicReference finalizing = new 
AtomicReference<>(FinalizationStatus.NONE);
 
-/** Preparing flag. */
-private AtomicBoolean preparing = new AtomicBoolean();
+/** Done marker. */
+protected volatile boolean isDone;
+
+/** Preparing flag (no need for volatile modifier). */
+private boolean preparing;
 
 /** */
 @GridToStringInclude
-private Map invalidParts = new HashMap<>(3);
+private Map invalidParts;
 
 /**
  * Transaction state. Note that state is not protected, as we want to
@@ -230,17 +226,11 @@ public abstract class IgniteTxAdapter extends 
GridMetadataAwareAdapter
 
 /** */
 @GridToStringExclude
-private AtomicReference finFut = new 
AtomicReference<>();
+private volatile GridFutureAdapter finFut;
 
 /** Topology version. */
 @GridToStringInclude
-protected AtomicReference topVer = new 
AtomicReference<>(AffinityTopologyVersion.NONE);
-
-/** Mutex. */
-private final Lock lock = new ReentrantLock();
-
-/** Lock condition. */
-private final Condition cond = lock.newCondition();
+protected volatile AffinityTopologyVersion topVer = 
AffinityTopologyVersion.NONE;
 
 /** */
 protected Map txNodes;
@@ -387,37 +377,6 @@ public abstract class IgniteTxAdapter extends 
GridMetadataAwareAdapter
 }
 
 /**
- * Acquires lock.
- */
-@SuppressWarnings({"LockAcquiredButNotSafelyReleased"})
-protected final void lock() {
-lock.lock();
-}
-
-/**
- * Releases lock.
- */
-protected final void unlock() {
-lock.unlock();
-}
-
-/**
- * Signals all waiters.
- */
-protected final void signalAll() {
-cond.signalAll();
-}
-
-/**
- * Waits for signal.
- *
- * @throws InterruptedException If interrupted.
- */
-protected final void awaitSignal() throws 

[16/18] ignite git commit: Merge branches 'ignite-1.5' and 'master' of https://git-wip-us.apache.org/repos/asf/ignite

2015-11-09 Thread ntikhonov
Merge branches 'ignite-1.5' and 'master' of 
https://git-wip-us.apache.org/repos/asf/ignite


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

Branch: refs/heads/ignite-426-2
Commit: 44ddf657ec153fa5f5e594ea625cc45dda2176fe
Parents: 5d760a8 4ab2bd3
Author: Andrey 
Authored: Mon Nov 9 17:42:48 2015 +0700
Committer: Andrey 
Committed: Mon Nov 9 17:42:48 2015 +0700

--
 .../processors/rest/handlers/query/QueryCommandHandler.java  | 4 
 1 file changed, 4 deletions(-)
--




[02/18] ignite git commit: Ignite-1093 "Rebalancing with default parameters is very slow" fixes.

2015-11-09 Thread ntikhonov
http://git-wip-us.apache.org/repos/asf/ignite/blob/7dfaa3b0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplier.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplier.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplier.java
new file mode 100644
index 000..865bad8
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplier.java
@@ -0,0 +1,1034 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache.distributed.dht.preloader;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.UUID;
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.IgniteLogger;
+import org.apache.ignite.cluster.ClusterNode;
+import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
+import org.apache.ignite.internal.managers.deployment.GridDeploymentInfo;
+import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
+import org.apache.ignite.internal.processors.cache.GridCacheContext;
+import org.apache.ignite.internal.processors.cache.GridCacheEntryEx;
+import org.apache.ignite.internal.processors.cache.GridCacheEntryInfo;
+import 
org.apache.ignite.internal.processors.cache.GridCacheEntryInfoCollectSwapListener;
+import org.apache.ignite.internal.processors.cache.GridCacheSwapEntry;
+import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheEntry;
+import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPartition;
+import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology;
+import org.apache.ignite.internal.util.lang.GridCloseableIterator;
+import org.apache.ignite.internal.util.typedef.CI2;
+import org.apache.ignite.internal.util.typedef.T3;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.lang.IgnitePredicate;
+import org.apache.ignite.spi.IgniteSpiException;
+
+import static 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState.OWNING;
+
+/**
+ * Thread pool for supplying partitions to demanding nodes.
+ */
+class GridDhtPartitionSupplier {
+/** */
+private final GridCacheContext cctx;
+
+/** */
+private final IgniteLogger log;
+
+/** */
+private GridDhtPartitionTopology top;
+
+/** */
+private final boolean depEnabled;
+
+/** Preload predicate. */
+private IgnitePredicate preloadPred;
+
+/** Supply context map. T2: nodeId, idx, topVer. */
+private final Map, 
SupplyContext> scMap = new HashMap<>();
+
+/**
+ * @param cctx Cache context.
+ */
+GridDhtPartitionSupplier(GridCacheContext cctx) {
+assert cctx != null;
+
+this.cctx = cctx;
+
+log = cctx.logger(getClass());
+
+top = cctx.dht().topology();
+
+depEnabled = cctx.gridDeploy().enabled();
+}
+
+/**
+ *
+ */
+void start() {
+startOldListeners();
+}
+
+/**
+ *
+ */
+void stop() {
+synchronized (scMap) {
+Iterator> it = 
scMap.keySet().iterator();
+
+while (it.hasNext()) {
+T3 t = it.next();
+
+clearContext(scMap.get(t), log);
+
+it.remove();
+}
+}
+
+stopOldListeners();
+}
+
+/**
+ * Clear context.
+ *
+ * @param sc Supply context.
+ * @param log Logger.
+ * @return true in case context was removed.
+ */
+private static void clearContext(
+final SupplyContext sc,
+final IgniteLogger log) {
+if (sc != null) {
+final Iterator it = sc.entryIt;
+
+if (it != 

[14/18] ignite git commit: Merge remote-tracking branch 'remotes/origin/ignite-1.5'

2015-11-09 Thread ntikhonov
Merge remote-tracking branch 'remotes/origin/ignite-1.5'


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

Branch: refs/heads/ignite-426-2
Commit: 5d760a8bf29dac32f653b2d3d5ce01e39e5225d2
Parents: 280252e a4848a7
Author: Anton Vinogradov 
Authored: Mon Nov 9 13:35:18 2015 +0300
Committer: Anton Vinogradov 
Committed: Mon Nov 9 13:35:18 2015 +0300

--
 .../managers/communication/GridIoMessage.java   |   4 +-
 .../processors/cache/GridCacheContext.java  |  29 +--
 .../processors/cache/GridCacheEntryEx.java  |   4 +-
 .../processors/cache/GridCacheMapEntry.java |  55 ++--
 .../processors/cache/GridCacheMvccManager.java  | 145 +--
 .../distributed/GridDistributedCacheEntry.java  |   2 +-
 .../distributed/GridDistributedTxMapping.java   |   8 +-
 .../GridDistributedTxRemoteAdapter.java |   5 +-
 .../distributed/dht/GridDhtLockFuture.java  |   7 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |  13 +-
 .../distributed/dht/GridDhtTxLocalAdapter.java  |  43 ++--
 .../distributed/dht/GridDhtTxPrepareFuture.java |  78 +++---
 .../cache/distributed/dht/GridDhtTxRemote.java  |  45 ++--
 .../dht/atomic/GridDhtAtomicCache.java  |   1 -
 .../dht/colocated/GridDhtColocatedCache.java|   7 +-
 .../near/GridNearOptimisticTxPrepareFuture.java |  11 +-
 .../near/GridNearTransactionalCache.java|   7 +-
 .../near/GridNearTxFinishFuture.java| 157 ++--
 .../cache/distributed/near/GridNearTxLocal.java |  21 +-
 .../cache/transactions/IgniteInternalTx.java|   3 +-
 .../cache/transactions/IgniteTxAdapter.java | 251 ++-
 .../cache/transactions/IgniteTxHandler.java |  37 +--
 .../transactions/IgniteTxLocalAdapter.java  |  26 +-
 .../cache/transactions/IgniteTxManager.java | 171 ++---
 .../GridBoundedConcurrentLinkedHashMap.java |   7 +-
 .../GridBoundedConcurrentLinkedHashSet.java |   7 +-
 .../util/GridBoundedConcurrentOrderedMap.java   |  39 +--
 .../internal/util/GridConcurrentFactory.java|  11 +-
 .../util/GridConcurrentLinkedHashSet.java   |   9 +-
 .../ignite/internal/util/IgniteUuidCache.java   |   6 +-
 .../util/future/GridCompoundFuture.java | 155 
 .../java/org/jsr166/ConcurrentHashMap8.java |   2 +-
 .../java/org/jsr166/ConcurrentLinkedDeque8.java |   2 +-
 .../org/jsr166/ConcurrentLinkedHashMap.java | 195 +++---
 .../GridCacheAffinityBackupsSelfTest.java   |   8 +
 .../cache/GridCacheAbstractFullApiSelfTest.java |   2 +-
 .../GridCacheMissingCommitVersionSelfTest.java  |  40 +--
 .../processors/cache/GridCacheTestEntryEx.java  |   3 +-
 ...achePartitionedMultiNodeFullApiSelfTest.java |   2 +-
 .../continuous/GridEventConsumeSelfTest.java|   2 +-
 ...dBoundedConcurrentLinkedHashMapSelfTest.java |   2 +-
 .../GridConcurrentLinkedHashMapSelfTest.java|  62 -
 .../junits/common/GridCommonAbstractTest.java   |   4 +-
 ...rrentLinkedHashMapMultiThreadedSelfTest.java | 104 
 .../yardstick/cache/IgnitePutTxBenchmark.java   |  10 +
 .../cache/IgnitePutTxPrimaryOnlyBenchmark.java  |  65 +
 .../IgnitePutTxSkipLocalBackupBenchmark.java|  65 +
 .../cache/WaitMapExchangeFinishCallable.java|  95 +++
 48 files changed, 1220 insertions(+), 807 deletions(-)
--




[08/18] ignite git commit: IGNITE-1807 Visor cmd write logs to file in quite mode. - Fixes #192.

2015-11-09 Thread ntikhonov
IGNITE-1807 Visor cmd write logs to file in quite mode. - Fixes #192.

Signed-off-by: Andrey 


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

Branch: refs/heads/ignite-426-2
Commit: 7393227477d2dfeb7ce4925fee9945ed6bb80127
Parents: 354358c
Author: Andrey 
Authored: Mon Nov 9 10:52:31 2015 +0700
Committer: Andrey 
Committed: Mon Nov 9 10:52:31 2015 +0700

--
 .../ignite/visor/commands/open/VisorOpenCommand.scala | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/73932274/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
--
diff --git 
a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
 
b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
index 7d2ee3c..1cfbde4 100644
--- 
a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
+++ 
b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
@@ -19,6 +19,8 @@
 
 package org.apache.ignite.visor.commands.open
 
+import java.util.logging.{ConsoleHandler, Logger}
+
 import org.apache.ignite.IgniteSystemProperties._
 import org.apache.ignite.configuration.IgniteConfiguration
 import org.apache.ignite.internal.IgniteComponentType._
@@ -26,7 +28,6 @@ import org.apache.ignite.internal.IgniteEx
 import org.apache.ignite.internal.util.scala.impl
 import org.apache.ignite.internal.util.spring.IgniteSpringHelper
 import org.apache.ignite.internal.util.{IgniteUtils => U}
-import org.apache.ignite.logger.NullLogger
 import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi
 import org.apache.ignite.visor.commands.common.{VisorConsoleCommand, 
VisorTextTable}
 import org.apache.ignite.visor.visor._
@@ -158,6 +159,13 @@ class VisorOpenCommand extends VisorConsoleCommand {
 
 val cfg = cfgs.iterator().next()
 
+if (log4jTup != null)
+
System.setProperty(IgniteSystemProperties.IGNITE_CONSOLE_APPENDER, "false")
+else
+Logger.getGlobal.getHandlers.foreach({
+case handler: ConsoleHandler => 
Logger.getGlobal.removeHandler(handler)
+})
+
 // Setting up 'Config URL' for properly print in console.
 System.setProperty(IgniteSystemProperties.IGNITE_CONFIG_URL, 
url.getPath)
 
@@ -236,10 +244,6 @@ class VisorOpenCommand extends VisorConsoleCommand {
 // Make sure visor starts without shutdown hook.
 System.setProperty(IGNITE_NO_SHUTDOWN_HOOK, "true")
 
-// Set NullLoger in quite mode.
-if ("true".equalsIgnoreCase(sys.props.getOrElse(IGNITE_QUIET, "true")))
-cfg.setGridLogger(new NullLogger)
-
 ignite = try {
 // We need to stop previous daemon node before to start new one.
 prevIgnite.foreach(g => Ignition.stop(g.name(), true))



[07/18] ignite git commit: IGNITE-1168 REST return sql metadata for all caches in one request. - Fixes #181.

2015-11-09 Thread ntikhonov
IGNITE-1168 REST return sql metadata for all caches in one request. - Fixes 
#181.

Signed-off-by: Andrey 


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

Branch: refs/heads/ignite-426-2
Commit: 354358cc4ec9a8f15e75d132c7a57d2361b5722b
Parents: 621ecac
Author: Andrey 
Authored: Mon Nov 9 10:41:04 2015 +0700
Committer: Andrey 
Committed: Mon Nov 9 10:41:04 2015 +0700

--
 .../JettyRestProcessorAbstractSelfTest.java | 105 ---
 .../discovery/GridDiscoveryManager.java |   5 +-
 .../handlers/cache/GridCacheCommandHandler.java | 128 +++
 .../top/GridTopologyCommandHandler.java |   4 -
 4 files changed, 166 insertions(+), 76 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/354358cc/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
--
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
index c9c4ced..4c73f78 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
@@ -40,15 +40,14 @@ import org.apache.ignite.cache.query.SqlQuery;
 import org.apache.ignite.cache.query.annotations.QuerySqlField;
 import org.apache.ignite.cluster.ClusterNode;
 import org.apache.ignite.configuration.CacheConfiguration;
-import org.apache.ignite.internal.processors.cache.GridCacheProcessor;
 import org.apache.ignite.internal.processors.cache.IgniteCacheProxy;
-import org.apache.ignite.internal.processors.cache.IgniteInternalCache;
 import 
org.apache.ignite.internal.processors.cache.query.GridCacheSqlIndexMetadata;
 import org.apache.ignite.internal.processors.cache.query.GridCacheSqlMetadata;
 import 
org.apache.ignite.internal.processors.rest.handlers.GridRestCommandHandler;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.internal.CU;
 import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.util.typedef.P1;
 import org.apache.ignite.lang.IgniteBiPredicate;
 import org.apache.ignite.lang.IgnitePredicate;
 import org.apache.ignite.testframework.GridTestUtils;
@@ -919,14 +918,16 @@ public abstract class JettyRestProcessorAbstractSelfTest 
extends AbstractRestPro
 }
 
 /**
- * @param meta Metadata for Ignite cache.
+ * @param metas Metadata for Ignite caches.
  * @throws Exception If failed.
  */
-private void testMetadata(GridCacheSqlMetadata meta) throws Exception {
+private void testMetadata(Collection metas) throws 
Exception {
 Map params = F.asMap("cmd", 
GridRestCommand.CACHE_METADATA.key());
 
-if (meta.cacheName() != null)
-params.put("cacheName", meta.cacheName());
+String cacheNameArg = F.first(metas).cacheName();
+
+if (cacheNameArg != null)
+params.put("cacheName", cacheNameArg);
 
 String ret = content(params);
 
@@ -935,53 +936,68 @@ public abstract class JettyRestProcessorAbstractSelfTest 
extends AbstractRestPro
 
 info("Cache metadata result: " + ret);
 
-jsonEquals(ret, pattern("\\{.+\\}", true));
+jsonEquals(ret, pattern("\\[.+\\]", true));
+
+Collection results = 
(Collection)JSONObject.fromObject(ret).get("response");
+
+assertEquals(metas.size(), results.size());
+assertEquals(cacheNameArg, F.first(results).get("cacheName"));
+
+for (Map res : results) {
+final Object cacheName = res.get("cacheName");
 
-Map res = (Map)JSONObject.fromObject(ret).get("response");
+GridCacheSqlMetadata meta = F.find(metas, null, new 
P1() {
+@Override public boolean apply(GridCacheSqlMetadata meta) {
+return F.eq(meta.cacheName(), cacheName);
+}
+});
 
-Collection types = (Collection)res.get("types");
+assertNotNull("REST return metadata for unexpected cache: " + 
cacheName, meta);
 
-assertNotNull(types);
-assertEqualsCollections(meta.types(), types);
+Collection types = (Collection)res.get("types");
 
-Map keyClasses = (Map)res.get("keyClasses");

[03/18] ignite git commit: Ignite-1093 "Rebalancing with default parameters is very slow" fixes.

2015-11-09 Thread ntikhonov
http://git-wip-us.apache.org/repos/asf/ignite/blob/7dfaa3b0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
new file mode 100644
index 000..35cedf9
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
@@ -0,0 +1,1389 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache.distributed.dht.preloader;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.Callable;
+import java.util.concurrent.LinkedBlockingDeque;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.concurrent.locks.ReadWriteLock;
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.IgniteLogger;
+import org.apache.ignite.cache.CacheRebalanceMode;
+import org.apache.ignite.cluster.ClusterNode;
+import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.events.DiscoveryEvent;
+import org.apache.ignite.internal.IgniteInternalFuture;
+import org.apache.ignite.internal.IgniteInterruptedCheckedException;
+import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
+import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
+import org.apache.ignite.internal.processors.cache.CacheEntryInfoCollection;
+import org.apache.ignite.internal.processors.cache.GridCacheContext;
+import org.apache.ignite.internal.processors.cache.GridCacheEntryEx;
+import org.apache.ignite.internal.processors.cache.GridCacheEntryInfo;
+import 
org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException;
+import 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager;
+import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtInvalidPartitionException;
+import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPartition;
+import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology;
+import org.apache.ignite.internal.processors.timeout.GridTimeoutObject;
+import org.apache.ignite.internal.processors.timeout.GridTimeoutObjectAdapter;
+import org.apache.ignite.internal.util.GridLeanSet;
+import org.apache.ignite.internal.util.future.GridFutureAdapter;
+import org.apache.ignite.internal.util.tostring.GridToStringExclude;
+import org.apache.ignite.internal.util.tostring.GridToStringInclude;
+import org.apache.ignite.internal.util.typedef.CI1;
+import org.apache.ignite.internal.util.typedef.CI2;
+import org.apache.ignite.internal.util.typedef.T2;
+import org.apache.ignite.internal.util.typedef.internal.LT;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.lang.IgnitePredicate;
+import org.apache.ignite.lang.IgniteUuid;
+import org.apache.ignite.spi.IgniteSpiException;
+import org.jetbrains.annotations.Nullable;
+
+import static java.util.concurrent.TimeUnit.MILLISECONDS;
+import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_OBJECT_LOADED;
+import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_PART_LOADED;
+import static org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_STOPPED;
+import static org.apache.ignite.internal.GridTopic.TOPIC_CACHE;
+import static 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState.MOVING;
+import static 

[15/18] ignite git commit: IGNITE-1161 Fixed after merge.

2015-11-09 Thread ntikhonov
IGNITE-1161 Fixed after merge.


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

Branch: refs/heads/ignite-426-2
Commit: 4ab2bd32535d04a2f70286dd318dbbb32279e36c
Parents: a4848a7
Author: Andrey 
Authored: Mon Nov 9 17:40:45 2015 +0700
Committer: Andrey 
Committed: Mon Nov 9 17:40:45 2015 +0700

--
 .../processors/rest/handlers/query/QueryCommandHandler.java  | 4 
 1 file changed, 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/4ab2bd32/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/query/QueryCommandHandler.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/query/QueryCommandHandler.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/query/QueryCommandHandler.java
index 54cdd29..2961a27 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/query/QueryCommandHandler.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/query/QueryCommandHandler.java
@@ -337,10 +337,6 @@ public class QueryCommandHandler extends 
GridRestCommandHandlerAdapter {
 break;
 }
 
-List fieldsMeta = 
((QueryCursorImpl)qryCur).fieldsMeta();
-
-res.setFieldsMetadata(convertMetadata(fieldsMeta));
-
 return new GridRestResponse(res);
 }
 finally {



[06/18] ignite git commit: IGNITE-1161 Close rest sql cursor after delay. - Fixes #197.

2015-11-09 Thread ntikhonov
IGNITE-1161 Close rest sql cursor after delay. - Fixes #197.

Signed-off-by: Andrey 


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

Branch: refs/heads/ignite-426-2
Commit: 621ecac317f55ba467bdb16321bfe550f5d3319b
Parents: 7dfaa3b
Author: Andrey 
Authored: Mon Nov 9 10:30:56 2015 +0700
Committer: Andrey 
Committed: Mon Nov 9 10:30:56 2015 +0700

--
 .../rest/AbstractRestProcessorSelfTest.java |   5 +-
 .../JettyRestProcessorAbstractSelfTest.java |  37 +++
 .../configuration/ConnectorConfiguration.java   |  61 -
 .../handlers/query/QueryCommandHandler.java | 258 +++
 4 files changed, 302 insertions(+), 59 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/621ecac3/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
--
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
index bde9180..9a030a7 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
@@ -75,6 +75,9 @@ abstract class AbstractRestProcessorSelfTest extends 
GridCommonAbstractTest {
 
 
clientCfg.setJettyPath("modules/clients/src/test/resources/jetty/rest-jetty.xml");
 
+clientCfg.setIdleQueryCursorTimeout(5000);
+clientCfg.setIdleQueryCursorCheckFrequency(5000);
+
 cfg.setConnectorConfiguration(clientCfg);
 
 TcpDiscoverySpi disco = new TcpDiscoverySpi();
@@ -99,4 +102,4 @@ abstract class AbstractRestProcessorSelfTest extends 
GridCommonAbstractTest {
 @Override protected  IgniteCache jcache() {
 return grid(0).cache(null);
 }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/621ecac3/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
--
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
index c413bbd..c9c4ced 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
@@ -48,6 +48,7 @@ import 
org.apache.ignite.internal.processors.cache.query.GridCacheSqlMetadata;
 import 
org.apache.ignite.internal.processors.rest.handlers.GridRestCommandHandler;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.internal.CU;
+import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgniteBiPredicate;
 import org.apache.ignite.lang.IgnitePredicate;
 import org.apache.ignite.testframework.GridTestUtils;
@@ -1406,6 +1407,42 @@ public abstract class JettyRestProcessorAbstractSelfTest 
extends AbstractRestPro
 assertFalse(queryCursorFound());
 }
 
+/**
+ * @throws Exception If failed.
+ */
+public void testQueryDelay() throws Exception {
+String qry = "salary > ? and salary <= ?";
+
+Map params = new HashMap<>();
+params.put("cmd", GridRestCommand.EXECUTE_SQL_QUERY.key());
+params.put("type", "Person");
+params.put("pageSize", "1");
+params.put("cacheName", "person");
+params.put("qry", URLEncoder.encode(qry));
+params.put("arg1", "1000");
+params.put("arg2", "2000");
+
+String ret = null;
+
+for (int i = 0; i < 10; ++i)
+ret = content(params);
+
+assertNotNull(ret);
+assertTrue(!ret.isEmpty());
+
+JSONObject json = JSONObject.fromObject(ret);
+
+List items = (List)((Map)json.get("response")).get("items");
+
+assertEquals(1, items.size());
+
+assertTrue(queryCursorFound());
+
+U.sleep(1);
+
+assertFalse(queryCursorFound());
+}
+
 protected abstract String signature() throws Exception;
 
 /**


[04/18] ignite git commit: Ignite-1093 "Rebalancing with default parameters is very slow" fixes.

2015-11-09 Thread ntikhonov
http://git-wip-us.apache.org/repos/asf/ignite/blob/7dfaa3b0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
deleted file mode 100644
index e993a88..000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
+++ /dev/null
@@ -1,1192 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.cache.distributed.dht.preloader;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.BrokenBarrierException;
-import java.util.concurrent.CyclicBarrier;
-import java.util.concurrent.LinkedBlockingDeque;
-import java.util.concurrent.atomic.AtomicLong;
-import java.util.concurrent.atomic.AtomicReference;
-import java.util.concurrent.locks.ReadWriteLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.IgniteLogger;
-import org.apache.ignite.cache.CacheRebalanceMode;
-import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.events.DiscoveryEvent;
-import org.apache.ignite.internal.IgniteInternalFuture;
-import org.apache.ignite.internal.IgniteInterruptedCheckedException;
-import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
-import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
-import org.apache.ignite.internal.processors.cache.CacheEntryInfoCollection;
-import org.apache.ignite.internal.processors.cache.GridCacheContext;
-import org.apache.ignite.internal.processors.cache.GridCacheEntryEx;
-import org.apache.ignite.internal.processors.cache.GridCacheEntryInfo;
-import 
org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException;
-import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtInvalidPartitionException;
-import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPartition;
-import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology;
-import org.apache.ignite.internal.processors.timeout.GridTimeoutObject;
-import org.apache.ignite.internal.processors.timeout.GridTimeoutObjectAdapter;
-import org.apache.ignite.internal.util.GridLeanSet;
-import org.apache.ignite.internal.util.future.GridFutureAdapter;
-import org.apache.ignite.internal.util.tostring.GridToStringInclude;
-import org.apache.ignite.internal.util.typedef.CI1;
-import org.apache.ignite.internal.util.typedef.CI2;
-import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.internal.util.typedef.internal.CU;
-import org.apache.ignite.internal.util.typedef.internal.LT;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.internal.util.worker.GridWorker;
-import org.apache.ignite.lang.IgnitePredicate;
-import org.apache.ignite.lang.IgniteUuid;
-import org.apache.ignite.thread.IgniteThread;
-import org.jetbrains.annotations.Nullable;
-
-import static java.util.concurrent.TimeUnit.MILLISECONDS;
-import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_OBJECT_LOADED;
-import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_PART_DATA_LOST;
-import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_PART_LOADED;
-import static org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_STOPPED;
-import static org.apache.ignite.internal.GridTopic.TOPIC_CACHE;
-import static 

[18/18] ignite git commit: IGNITE-426 Fixed continuous tests.

2015-11-09 Thread ntikhonov
IGNITE-426 Fixed continuous tests.


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

Branch: refs/heads/ignite-426-2
Commit: 2044291cc9271583e5528d9b986d1e9d325cd5b2
Parents: f89eb21 efc79fb
Author: nikolay_tikhonov 
Authored: Mon Nov 9 15:26:23 2015 +0300
Committer: nikolay_tikhonov 
Committed: Mon Nov 9 15:26:23 2015 +0300

--
 .../rest/AbstractRestProcessorSelfTest.java |   5 +-
 .../JettyRestProcessorAbstractSelfTest.java | 142 +++
 .../configuration/ConnectorConfiguration.java   |  61 -
 .../managers/communication/GridIoMessage.java   |   4 +-
 .../discovery/GridDiscoveryManager.java |   5 +-
 .../processors/cache/GridCacheContext.java  |  29 +--
 .../processors/cache/GridCacheEntryEx.java  |   2 -
 .../processors/cache/GridCacheMapEntry.java |  53 ++--
 .../processors/cache/GridCacheMvccManager.java  | 145 ++-
 .../distributed/GridDistributedCacheEntry.java  |   2 +-
 .../distributed/GridDistributedTxMapping.java   |   8 +-
 .../GridDistributedTxRemoteAdapter.java |   5 +-
 .../distributed/dht/GridDhtLockFuture.java  |   7 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |  13 +-
 .../distributed/dht/GridDhtTxLocalAdapter.java  |  43 ++--
 .../distributed/dht/GridDhtTxPrepareFuture.java |  78 +++---
 .../cache/distributed/dht/GridDhtTxRemote.java  |  45 ++--
 .../dht/colocated/GridDhtColocatedCache.java|   7 +-
 .../dht/preloader/GridDhtPartitionDemander.java |   4 +-
 .../near/GridNearOptimisticTxPrepareFuture.java |  11 +-
 .../near/GridNearTransactionalCache.java|   7 +-
 .../near/GridNearTxFinishFuture.java| 157 ++--
 .../cache/distributed/near/GridNearTxLocal.java |  21 +-
 .../cache/transactions/IgniteInternalTx.java|   3 +-
 .../cache/transactions/IgniteTxAdapter.java | 251 +-
 .../cache/transactions/IgniteTxHandler.java |  37 +--
 .../transactions/IgniteTxLocalAdapter.java  |  26 +-
 .../cache/transactions/IgniteTxManager.java | 171 ++---
 .../handlers/cache/GridCacheCommandHandler.java | 128 --
 .../handlers/query/QueryCommandHandler.java | 254 ++-
 .../top/GridTopologyCommandHandler.java |   4 -
 .../GridBoundedConcurrentLinkedHashMap.java |   7 +-
 .../GridBoundedConcurrentLinkedHashSet.java |   7 +-
 .../util/GridBoundedConcurrentOrderedMap.java   |  39 +--
 .../internal/util/GridConcurrentFactory.java|  11 +-
 .../util/GridConcurrentLinkedHashSet.java   |   9 +-
 .../ignite/internal/util/IgniteUuidCache.java   |   6 +-
 .../util/future/GridCompoundFuture.java | 155 +++
 .../java/org/jsr166/ConcurrentHashMap8.java |   2 +-
 .../java/org/jsr166/ConcurrentLinkedDeque8.java |   2 +-
 .../org/jsr166/ConcurrentLinkedHashMap.java | 195 +++---
 .../GridCacheAffinityBackupsSelfTest.java   |   8 +
 .../cache/GridCacheAbstractFullApiSelfTest.java |   2 +-
 .../GridCacheMissingCommitVersionSelfTest.java  |  40 +--
 .../processors/cache/GridCacheTestEntryEx.java  |   1 -
 ...achePartitionedMultiNodeFullApiSelfTest.java |   2 +-
 .../continuous/GridEventConsumeSelfTest.java|   2 +-
 ...dBoundedConcurrentLinkedHashMapSelfTest.java |   2 +-
 .../GridConcurrentLinkedHashMapSelfTest.java|  62 -
 .../junits/common/GridCommonAbstractTest.java   |   4 +-
 .../testsuites/IgniteCacheTestSuite3.java   |   2 +
 ...rrentLinkedHashMapMultiThreadedSelfTest.java | 104 
 .../visor/commands/open/VisorOpenCommand.scala  |  14 +-
 .../yardstick/cache/IgnitePutTxBenchmark.java   |  10 +
 .../cache/IgnitePutTxPrimaryOnlyBenchmark.java  |  65 +
 .../IgnitePutTxSkipLocalBackupBenchmark.java|  65 +
 .../cache/WaitMapExchangeFinishCallable.java|  95 +++
 57 files changed, 1694 insertions(+), 945 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/2044291c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java
--

http://git-wip-us.apache.org/repos/asf/ignite/blob/2044291c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
--
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
index e8ef6b4,df9f5c4..75c1039
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
+++ 

[09/18] ignite git commit: Merge branches 'ignite-1.5' and 'master' of https://git-wip-us.apache.org/repos/asf/ignite

2015-11-09 Thread ntikhonov
Merge branches 'ignite-1.5' and 'master' of 
https://git-wip-us.apache.org/repos/asf/ignite


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

Branch: refs/heads/ignite-426-2
Commit: 8b99f658dcf8f37e0785621d7028ebeb1ebe3768
Parents: 242d988 7393227
Author: Andrey 
Authored: Mon Nov 9 11:05:44 2015 +0700
Committer: Andrey 
Committed: Mon Nov 9 11:05:44 2015 +0700

--
 .../rest/AbstractRestProcessorSelfTest.java |   5 +-
 .../JettyRestProcessorAbstractSelfTest.java | 142 ++
 .../configuration/ConnectorConfiguration.java   |  61 -
 .../discovery/GridDiscoveryManager.java |   5 +-
 .../handlers/cache/GridCacheCommandHandler.java | 128 +++--
 .../handlers/query/QueryCommandHandler.java | 258 +++
 .../top/GridTopologyCommandHandler.java |   4 -
 .../visor/commands/open/VisorOpenCommand.scala  |  14 +-
 8 files changed, 477 insertions(+), 140 deletions(-)
--




ignite git commit: IGNITE-426 Fixed code style.

2015-11-09 Thread ntikhonov
Repository: ignite
Updated Branches:
  refs/heads/ignite-426-2 6d6864a94 -> e90fc9f22


IGNITE-426 Fixed code style.


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

Branch: refs/heads/ignite-426-2
Commit: e90fc9f22341969266842ffa52ed29d03aa2eb7d
Parents: 6d6864a
Author: nikolay_tikhonov 
Authored: Mon Nov 9 16:03:18 2015 +0300
Committer: nikolay_tikhonov 
Committed: Mon Nov 9 16:03:18 2015 +0300

--
 .../cache/query/continuous/CacheContinuousQueryHandler.java  | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/e90fc9f2/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
index 0d7a697..b69d4cd 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
@@ -459,7 +459,7 @@ class CacheContinuousQueryHandler implements 
GridContinuousHandler {
 buf = oldRec;
 }
 
-e = buf.skipEntry(e, topVer);
+e = buf.skipEntry(e);
 
 if (e != null)
 ctx.continuous().addNotification(nodeId, routineId, e, 
topic, sync, true);
@@ -833,7 +833,7 @@ class CacheContinuousQueryHandler implements 
GridContinuousHandler {
  * @param newVal New value.
  * @return Old value if previous value less than new value otherwise 
{@code -1}.
  */
-private long setLastFiredCounter(long newVal) {
+private long updateFiredCounter(long newVal) {
 long prevVal = lastFiredCntr.get();
 
 while (prevVal < newVal) {
@@ -851,7 +851,7 @@ class CacheContinuousQueryHandler implements 
GridContinuousHandler {
  * @param topVer Topology version.
  * @return Continuous query entry.
  */
-private CacheContinuousQueryEntry skipEntry(CacheContinuousQueryEntry 
e, AffinityTopologyVersion topVer) {
+private CacheContinuousQueryEntry skipEntry(CacheContinuousQueryEntry 
e) {
 if (lastFiredCntr.get() > e.updateCounter() || e.updateCounter() 
== 1) {
 
 e.markFiltered();
@@ -925,7 +925,7 @@ class CacheContinuousQueryHandler implements 
GridContinuousHandler {
 }
 }
 else {
-long prevVal = setLastFiredCounter(e.updateCounter());
+long prevVal = updateFiredCounter(e.updateCounter());
 
 if (prevVal == -1)
 return e;



ignite git commit: ignite-1758 debug

2015-11-09 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-1758 c7cc1aed5 -> a818fe7f6


ignite-1758 debug


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

Branch: refs/heads/ignite-1758
Commit: a818fe7f68a8c6bfc1a5a152cdc6349934d939fc
Parents: c7cc1ae
Author: sboikov 
Authored: Mon Nov 9 17:25:00 2015 +0300
Committer: sboikov 
Committed: Mon Nov 9 17:25:00 2015 +0300

--
 .../java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/a818fe7f/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
index 94d3ab9..68c8ebe 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
@@ -70,7 +70,7 @@ abstract class TcpDiscoveryImpl {
 protected boolean debugMode = true;
 
 /** Debug messages history. */
-private int debugMsgHist = 50 * 1024;
+private int debugMsgHist = 80 * 1024;
 
 /** Received messages. */
 @SuppressWarnings("FieldAccessedSynchronizedAndUnsynchronized")



ignite git commit: Ignore CacheDynamicStartTest

2015-11-09 Thread vozerov
Repository: ignite
Updated Branches:
  refs/heads/ignite-1282 93b71c777 -> 878bca564


Ignore CacheDynamicStartTest


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

Branch: refs/heads/ignite-1282
Commit: 878bca564ec360fc9ae9144953ecf95a953b0e5b
Parents: 93b71c7
Author: Pavel Tupitsyn 
Authored: Mon Nov 9 17:55:17 2015 +0300
Committer: Pavel Tupitsyn 
Committed: Mon Nov 9 17:55:17 2015 +0300

--
 .../dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs  | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/878bca56/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs
--
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs
 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs
index abef473..7efce14 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs
@@ -28,6 +28,7 @@ namespace Apache.Ignite.Core.Tests.Cache
 /// 
 /// Tests for dynamic a cache start.
 /// 
+[Ignore("TODO")]
 public class CacheDynamicStartTest
 {
 /** Grid name: data. */



[04/21] ignite git commit: IGNITE-1846: CPP: "portable" -> "binary", "metadata" -> "type".

2015-11-09 Thread akuznetsov
http://git-wip-us.apache.org/repos/asf/ignite/blob/303d79eb/modules/platforms/cpp/core/src/impl/binary/binary_reader_impl.cpp
--
diff --git a/modules/platforms/cpp/core/src/impl/binary/binary_reader_impl.cpp 
b/modules/platforms/cpp/core/src/impl/binary/binary_reader_impl.cpp
new file mode 100644
index 000..e189273
--- /dev/null
+++ b/modules/platforms/cpp/core/src/impl/binary/binary_reader_impl.cpp
@@ -0,0 +1,760 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "ignite/impl/interop/interop.h"
+#include "ignite/impl/binary/binary_common.h"
+#include "ignite/impl/binary/binary_id_resolver.h"
+#include "ignite/impl/binary/binary_reader_impl.h"
+#include "ignite/impl/binary/binary_utils.h"
+#include "ignite/binary/binary_type.h"
+#include "ignite/ignite_error.h"
+#include "ignite/impl/interop/interop_stream_position_guard.h"
+
+using namespace ignite::impl::interop;
+using namespace ignite::impl::binary;
+using namespace ignite::binary;
+
+namespace ignite
+{
+namespace impl
+{
+namespace binary
+{
+BinaryReaderImpl::BinaryReaderImpl(InteropInputStream* stream, 
BinaryIdResolver* idRslvr,
+int32_t pos, bool usrType, int32_t typeId, int32_t hashCode, 
int32_t len, int32_t rawOff,
+int32_t footerBegin, int32_t footerEnd, BinaryOffsetType 
schemaType) :
+stream(stream), idRslvr(idRslvr), pos(pos), usrType(usrType), 
typeId(typeId), 
+hashCode(hashCode), len(len), rawOff(rawOff), rawMode(false), 
elemIdGen(0), elemId(0),
+elemCnt(-1), elemRead(0), footerBegin(footerBegin), 
footerEnd(footerEnd), schemaType(schemaType)
+{
+// No-op.
+}
+
+BinaryReaderImpl::BinaryReaderImpl(InteropInputStream* stream) :
+stream(stream), idRslvr(NULL), pos(0), usrType(false), 
typeId(0), hashCode(0), len(0),
+rawOff(0), rawMode(true), elemIdGen(0), elemId(0), 
elemCnt(-1), elemRead(0), footerBegin(-1),
+footerEnd(-1), schemaType(OFFSET_TYPE_4_BYTE)
+{
+// No-op.
+}
+
+int8_t BinaryReaderImpl::ReadInt8()
+{
+return ReadRaw(BinaryUtils::ReadInt8);
+}
+
+int32_t BinaryReaderImpl::ReadInt8Array(int8_t* res, const int32_t 
len)
+{
+return ReadRawArray(res, len, 
BinaryUtils::ReadInt8Array, IGNITE_TYPE_ARRAY_BYTE);
+}
+
+int8_t BinaryReaderImpl::ReadInt8(const char* fieldName)
+{
+return Read(fieldName, BinaryUtils::ReadInt8, 
IGNITE_TYPE_BYTE, static_cast(0));
+}
+
+int32_t BinaryReaderImpl::ReadInt8Array(const char* fieldName, 
int8_t* res, const int32_t len)
+{
+return ReadArray(fieldName, res, 
len,BinaryUtils::ReadInt8Array, IGNITE_TYPE_ARRAY_BYTE);
+}
+
+bool BinaryReaderImpl::ReadBool()
+{
+return ReadRaw(BinaryUtils::ReadBool);
+}
+
+int32_t BinaryReaderImpl::ReadBoolArray(bool* res, const int32_t 
len)
+{
+return ReadRawArray(res, len, 
BinaryUtils::ReadBoolArray, IGNITE_TYPE_ARRAY_BOOL);
+}
+
+bool BinaryReaderImpl::ReadBool(const char* fieldName)
+{
+return Read(fieldName, BinaryUtils::ReadBool, 
IGNITE_TYPE_BOOL, static_cast(0));
+}
+
+int32_t BinaryReaderImpl::ReadBoolArray(const char* fieldName, 
bool* res, const int32_t len)
+{
+return ReadArray(fieldName, res, 
len,BinaryUtils::ReadBoolArray, IGNITE_TYPE_ARRAY_BOOL);
+}
+
+int16_t BinaryReaderImpl::ReadInt16()
+{
+return ReadRaw(BinaryUtils::ReadInt16);
+}
+
+int32_t BinaryReaderImpl::ReadInt16Array(int16_t* res, const 
int32_t len)
+{
+return ReadRawArray(res, len, 
BinaryUtils::ReadInt16Array, IGNITE_TYPE_ARRAY_SHORT);
+}
+
+

[10/21] ignite git commit: IGNITE-1846: CPP: "portable" -> "binary", "metadata" -> "type".

2015-11-09 Thread akuznetsov
http://git-wip-us.apache.org/repos/asf/ignite/blob/303d79eb/modules/platforms/cpp/core/include/ignite/binary/binary_containers.h
--
diff --git 
a/modules/platforms/cpp/core/include/ignite/binary/binary_containers.h 
b/modules/platforms/cpp/core/include/ignite/binary/binary_containers.h
new file mode 100644
index 000..61b7265
--- /dev/null
+++ b/modules/platforms/cpp/core/include/ignite/binary/binary_containers.h
@@ -0,0 +1,525 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _IGNITE_BINARY_CONTAINERS
+#define _IGNITE_BINARY_CONTAINERS
+
+#include 
+
+#include "ignite/impl/binary/binary_writer_impl.h"
+#include "ignite/impl/binary/binary_reader_impl.h"
+#include "ignite/impl/utils.h"
+#include "ignite/binary/binary_consts.h"
+
+namespace ignite
+{
+namespace binary
+{
+/**
+ * Binary string array writer.
+ */
+class IGNITE_IMPORT_EXPORT BinaryStringArrayWriter
+{
+public:
+/**
+ * Constructor.
+ * 
+ * @param id Identifier.
+ * @param impl Writer.
+ */
+BinaryStringArrayWriter(impl::binary::BinaryWriterImpl* impl, 
int32_t id);
+
+/**
+ * Write string.
+ *
+ * @param val Null-terminated character sequence.
+ */
+void Write(const char* val);
+
+/**
+ * Write string.
+ *
+ * @param val String.
+ * @param len String length (characters).
+ */
+void Write(const char* val, int32_t len);
+
+/**
+ * Write string.
+ *
+ * @param val String.
+ */
+void Write(const std::string& val)
+{
+Write(val.c_str());
+}
+
+/**
+ * Close the writer.
+ */
+void Close();
+private:
+/** Implementation delegate. */
+impl::binary::BinaryWriterImpl* impl; 
+
+/** Idnetifier. */
+const int32_t id;
+};
+
+/**
+ * Binary collection writer.
+ */
+template
+class IGNITE_IMPORT_EXPORT BinaryArrayWriter
+{
+public:
+/**
+ * Constructor.
+ *
+ * @param impl Writer.
+ * @param id Identifier.
+ */
+BinaryArrayWriter(impl::binary::BinaryWriterImpl* impl, int32_t 
id) : impl(impl), id(id)
+{
+// No-op.
+}
+
+/**
+ * Write a value.
+ *
+ * @param val Value.
+ */
+void Write(const T& val)
+{
+impl->WriteElement(id, val);
+}
+
+/**
+ * Close the writer.
+ */
+void Close()
+{
+impl->CommitContainer(id);
+}
+private:
+/** Implementation delegate. */
+impl::binary::BinaryWriterImpl* impl; 
+
+/** Idnetifier. */
+const int32_t id;  
+};
+
+/**
+ * Binary collection writer.
+ */
+template
+class IGNITE_IMPORT_EXPORT BinaryCollectionWriter
+{
+public:
+/**
+ * Constructor.
+ *
+ * @param impl Writer.
+ * @param id Identifier.
+ */
+BinaryCollectionWriter(impl::binary::BinaryWriterImpl* impl, 
int32_t id) : impl(impl), id(id)
+{
+// No-op.
+}
+
+/**
+ * Write a value.
+ *
+ * @param val Value.
+ */
+void Write(const T& val)
+{
+impl->WriteElement(id, val);
+}
+
+/**
+ * Close the writer.
+ */
+void Close()
+{
+impl->CommitContainer(id);
+}
+private:
+/** Implementation 

[16/21] ignite git commit: IGNITE-1872: Removed IgniteBinary.builder(int) method as it makes no sense and doesn't allow for correct metadata calculation.

2015-11-09 Thread akuznetsov
IGNITE-1872: Removed IgniteBinary.builder(int) method as it makes no sense and 
doesn't allow for correct metadata calculation.


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

Branch: refs/heads/ignite-1753-1282
Commit: 37a2a9fed4d6b465a22b092cfe46d8b8e8560c42
Parents: 303d79e
Author: vozerov-gridgain 
Authored: Mon Nov 9 13:59:33 2015 +0300
Committer: vozerov-gridgain 
Committed: Mon Nov 9 13:59:33 2015 +0300

--
 .../src/main/java/org/apache/ignite/IgniteBinary.java  |  8 
 .../org/apache/ignite/binary/BinaryObjectBuilder.java  |  1 -
 .../portable/builder/BinaryObjectBuilderImpl.java  | 13 -
 .../cache/portable/CacheObjectBinaryProcessor.java |  6 --
 .../cache/portable/CacheObjectBinaryProcessorImpl.java |  5 -
 .../processors/cache/portable/IgniteBinaryImpl.java| 12 
 .../internal/processors/cacheobject/NoOpBinary.java|  5 -
 .../portable/GridBinaryObjectBuilderSelfTest.java  |  7 ---
 8 files changed, 4 insertions(+), 53 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/37a2a9fe/modules/core/src/main/java/org/apache/ignite/IgniteBinary.java
--
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteBinary.java 
b/modules/core/src/main/java/org/apache/ignite/IgniteBinary.java
index 71be821..9c96d3d 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteBinary.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteBinary.java
@@ -308,14 +308,6 @@ public interface IgniteBinary {
 /**
  * Creates new portable builder.
  *
- * @param typeId ID of the type.
- * @return Newly portable builder.
- */
-public BinaryObjectBuilder builder(int typeId) throws 
BinaryObjectException;
-
-/**
- * Creates new portable builder.
- *
  * @param typeName Type name.
  * @return Newly portable builder.
  */

http://git-wip-us.apache.org/repos/asf/ignite/blob/37a2a9fe/modules/core/src/main/java/org/apache/ignite/binary/BinaryObjectBuilder.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/binary/BinaryObjectBuilder.java 
b/modules/core/src/main/java/org/apache/ignite/binary/BinaryObjectBuilder.java
index 507b0fc..9fd8420 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/binary/BinaryObjectBuilder.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/binary/BinaryObjectBuilder.java
@@ -60,7 +60,6 @@ import org.jetbrains.annotations.Nullable;
  * String city = personBinaryObj.getField("address").getField("city");
  * 
  *
- * @see org.apache.ignite.IgniteBinary#builder(int)
  * @see org.apache.ignite.IgniteBinary#builder(String)
  * @see org.apache.ignite.IgniteBinary#builder(BinaryObject)
  */

http://git-wip-us.apache.org/repos/asf/ignite/blob/37a2a9fe/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java
index eb4f02c..777d30b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java
@@ -99,14 +99,6 @@ public class BinaryObjectBuilderImpl implements 
BinaryObjectBuilder {
 }
 
 /**
- * @param typeId Type ID.
- * @param ctx Portable context.
- */
-public BinaryObjectBuilderImpl(PortableContext ctx, int typeId) {
-this(ctx, typeId, null);
-}
-
-/**
  * @param typeName Type name.
  * @param ctx Context.
  * @param typeId Type id.
@@ -350,8 +342,11 @@ public class BinaryObjectBuilderImpl implements 
BinaryObjectBuilder {
 if (newFldsMetadata != null) {
 String typeName = this.typeName;
 
-if (typeName == null)
+if (typeName == null) {
+assert metadata != null;
+
 typeName = metadata.typeName();
+}
 
 ctx.updateMetaData(typeId, typeName, newFldsMetadata);
 }


[09/21] ignite git commit: IGNITE-1846: CPP: "portable" -> "binary", "metadata" -> "type".

2015-11-09 Thread akuznetsov
http://git-wip-us.apache.org/repos/asf/ignite/blob/303d79eb/modules/platforms/cpp/core/include/ignite/impl/binary/binary_id_resolver.h
--
diff --git 
a/modules/platforms/cpp/core/include/ignite/impl/binary/binary_id_resolver.h 
b/modules/platforms/cpp/core/include/ignite/impl/binary/binary_id_resolver.h
new file mode 100644
index 000..b5f31e9
--- /dev/null
+++ b/modules/platforms/cpp/core/include/ignite/impl/binary/binary_id_resolver.h
@@ -0,0 +1,106 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _IGNITE_IMPL_BINARY_ID_RESOLVER
+#define _IGNITE_IMPL_BINARY_ID_RESOLVER
+
+#include "ignite/binary/binary_type.h"
+
+namespace ignite
+{
+namespace impl
+{
+namespace binary
+{
+/**
+ * Binary type id resolver.
+ */
+class BinaryIdResolver
+{
+public:
+/**
+ * Destructor.
+ */
+virtual ~BinaryIdResolver()
+{
+// No-op.
+}
+
+/**
+ * Get binary object type ID.
+ *
+ * @return Type ID.
+ */
+virtual int32_t GetTypeId() = 0;
+
+/**
+ * Get binary object field ID.
+ *
+ * @param typeId Type ID.
+ * @param name Field name.
+ * @return Field ID.
+ */
+virtual int32_t GetFieldId(const int32_t typeId, const char* 
name) = 0;
+};
+
+/**
+ * Templated binary type descriptor.
+ */
+template
+class TemplatedBinaryIdResolver : public BinaryIdResolver
+{
+public:
+/**
+ * Constructor.
+ */
+TemplatedBinaryIdResolver()
+{
+type = ignite::binary::BinaryType();
+}
+
+/**
+ * Constructor.
+ *
+ * @param type Binary type.
+ */
+TemplatedBinaryIdResolver(ignite::binary::BinaryType type) 
: type(type)
+{
+// No-op.
+}
+
+virtual int32_t GetTypeId()
+{
+return type.GetTypeId();
+}
+
+virtual int32_t GetFieldId(const int32_t typeId, const char* 
name) {
+if (!name)
+{
+IGNITE_ERROR_1(IgniteError::IGNITE_ERR_BINARY, "Field 
name cannot be NULL.");
+}
+
+return type.GetFieldId(name);
+}
+private:
+/** Actual type.  */
+ignite::binary::BinaryType type; 
+};
+}
+}
+}
+
+#endif
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/303d79eb/modules/platforms/cpp/core/include/ignite/impl/binary/binary_reader_impl.h
--
diff --git 
a/modules/platforms/cpp/core/include/ignite/impl/binary/binary_reader_impl.h 
b/modules/platforms/cpp/core/include/ignite/impl/binary/binary_reader_impl.h
new file mode 100644
index 000..923553d
--- /dev/null
+++ b/modules/platforms/cpp/core/include/ignite/impl/binary/binary_reader_impl.h
@@ -0,0 +1,1311 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * 

[03/21] ignite git commit: IGNITE-1846: CPP: "portable" -> "binary", "metadata" -> "type".

2015-11-09 Thread akuznetsov
http://git-wip-us.apache.org/repos/asf/ignite/blob/303d79eb/modules/platforms/cpp/core/src/impl/cache/query/query_impl.cpp
--
diff --git a/modules/platforms/cpp/core/src/impl/cache/query/query_impl.cpp 
b/modules/platforms/cpp/core/src/impl/cache/query/query_impl.cpp
index 786779b..a5fc494 100644
--- a/modules/platforms/cpp/core/src/impl/cache/query/query_impl.cpp
+++ b/modules/platforms/cpp/core/src/impl/cache/query/query_impl.cpp
@@ -21,7 +21,7 @@
 using namespace ignite::common::concurrent;
 using namespace ignite::common::java;
 using namespace ignite::impl::interop;
-using namespace ignite::impl::portable;
+using namespace ignite::impl::binary;
 
 namespace ignite
 {
@@ -100,7 +100,7 @@ namespace ignite
 {
 InteropInputStream in(inMem.Get());
 
-portable::PortableReaderImpl reader();
+binary::BinaryReaderImpl reader();
 
 op.ProcessOutput(reader);
 
@@ -183,7 +183,7 @@ namespace ignite
 
 InteropInputStream in(inMem.Get());
 
-portable::PortableReaderImpl reader();
+binary::BinaryReaderImpl reader();
 
 op.ProcessOutput(reader);
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/303d79eb/modules/platforms/cpp/core/src/impl/ignite_environment.cpp
--
diff --git a/modules/platforms/cpp/core/src/impl/ignite_environment.cpp 
b/modules/platforms/cpp/core/src/impl/ignite_environment.cpp
index 0263956..013a139 100644
--- a/modules/platforms/cpp/core/src/impl/ignite_environment.cpp
+++ b/modules/platforms/cpp/core/src/impl/ignite_environment.cpp
@@ -15,15 +15,15 @@
  * limitations under the License.
  */
 
-#include "ignite/impl/portable/portable_reader_impl.h"
+#include "ignite/impl/binary/binary_reader_impl.h"
 #include "ignite/impl/ignite_environment.h"
-#include "ignite/portable/portable.h"
+#include "ignite/binary/binary.h"
 
 using namespace ignite::common::concurrent;
 using namespace ignite::common::java;
 using namespace ignite::impl::interop;
-using namespace ignite::impl::portable;
-using namespace ignite::portable;
+using namespace ignite::impl::binary;
+using namespace ignite::binary;
 
 namespace ignite 
 {
@@ -56,7 +56,7 @@ namespace ignite
 } 
 
 IgniteEnvironment::IgniteEnvironment() : 
ctx(SharedPointer()), latch(new SingleLatch), name(NULL),
-metaMgr(new PortableMetadataManager())
+metaMgr(new BinaryTypeManager())
 {
 // No-op.
 }
@@ -136,7 +136,7 @@ namespace ignite
 }
 }
 
-PortableMetadataManager* IgniteEnvironment::GetMetadataManager()
+BinaryTypeManager* IgniteEnvironment::GetTypeManager()
 {
 return metaMgr;
 }
@@ -146,7 +146,7 @@ namespace ignite
 InteropExternalMemory mem(reinterpret_cast(memPtr));
 InteropInputStream stream();
 
-PortableReaderImpl reader();
+BinaryReaderImpl reader();
 
 int32_t nameLen = reader.ReadString(NULL, 0);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/303d79eb/modules/platforms/cpp/core/src/impl/interop/interop_input_stream.cpp
--
diff --git 
a/modules/platforms/cpp/core/src/impl/interop/interop_input_stream.cpp 
b/modules/platforms/cpp/core/src/impl/interop/interop_input_stream.cpp
index fed7871..7bdda0b 100644
--- a/modules/platforms/cpp/core/src/impl/interop/interop_input_stream.cpp
+++ b/modules/platforms/cpp/core/src/impl/interop/interop_input_stream.cpp
@@ -43,13 +43,13 @@ namespace ignite
 {
 namespace interop 
 {
-union PortableInt32Float
+union BinaryInt32Float
 {
 int32_t i;
 float f;
 };
 
-union PortableInt64Double
+union BinaryInt64Double
 {
 int64_t i;
 double d;
@@ -157,7 +157,7 @@ namespace ignite
 
 float InteropInputStream::ReadFloat()
 {
-PortableInt32Float u;
+BinaryInt32Float u;
 
 u.i = ReadInt32();
 
@@ -171,7 +171,7 @@ namespace ignite
 
 double InteropInputStream::ReadDouble()
 {
-PortableInt64Double u;
+BinaryInt64Double u;
 
 u.i = ReadInt64();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/303d79eb/modules/platforms/cpp/core/src/impl/interop/interop_output_stream.cpp
--
diff --git 
a/modules/platforms/cpp/core/src/impl/interop/interop_output_stream.cpp 

[11/21] ignite git commit: IGNITE-1846: CPP: "portable" -> "binary", "metadata" -> "type".

2015-11-09 Thread akuznetsov
http://git-wip-us.apache.org/repos/asf/ignite/blob/303d79eb/modules/platforms/cpp/core-test/src/portable_reader_writer_test.cpp
--
diff --git 
a/modules/platforms/cpp/core-test/src/portable_reader_writer_test.cpp 
b/modules/platforms/cpp/core-test/src/portable_reader_writer_test.cpp
deleted file mode 100644
index 3ec5a15..000
--- a/modules/platforms/cpp/core-test/src/portable_reader_writer_test.cpp
+++ /dev/null
@@ -1,2373 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _MSC_VER
-#define BOOST_TEST_DYN_LINK
-#endif
-
-#include 
-
-#include "ignite/impl/interop/interop.h"
-#include "ignite/portable/portable.h"
-
-#include "ignite/portable_test_defs.h"
-#include "ignite/portable_test_utils.h"
-
-using namespace ignite;
-using namespace ignite::impl::interop;
-using namespace ignite::impl::portable;
-using namespace ignite::portable;
-using namespace ignite_test::core::portable;
-
-template
-void CheckPrimitive(T val)
-{
-TemplatedPortableIdResolver idRslvr;
-
-InteropUnpooledMemory mem(1024);
-
-InteropOutputStream out();
-out.Position(IGNITE_DFLT_HDR_LEN);
-
-PortableWriterImpl writerImpl(, , NULL, NULL, 0);
-PortableWriter writer();
-
-try
-{
-Write(writer, NULL, val);
-
-BOOST_FAIL("Not restricted.");
-}
-catch (IgniteError& err)
-{
-BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
-}
-
-Write(writer, "test", val);
-
-writerImpl.PostWrite();
-
-out.Synchronize();
-
-InteropInputStream in();
-
-in.Synchronize();
-
-int32_t footerBegin = in.ReadInt32(IGNITE_OFFSET_SCHEMA_OR_RAW_OFF);
-int32_t footerEnd = footerBegin + 5;
-
-PortableReaderImpl readerImpl(, , 0, true, idRslvr.GetTypeId(), 
0, 100, 100, footerBegin, footerEnd, OFFSET_TYPE_1_BYTE);
-PortableReader reader();
-
-try
-{
-Read(reader, NULL);
-
-BOOST_FAIL("Not restricted.");
-}
-catch (IgniteError& err)
-{
-BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
-}
-
-try
-{
-T readVal = Read(reader, "test"); 
-
-BOOST_REQUIRE(readVal == val);
-}
-catch (IgniteError& err)
-{
-BOOST_FAIL(err.GetText());
-}
-}
-
-template
-void CheckPrimitiveArray(T dflt, T val1, T val2)
-{
-const char* fieldName = "test";
-
-TemplatedPortableIdResolver idRslvr;
-
-InteropUnpooledMemory mem(1024);
-
-InteropOutputStream out();
-PortableWriterImpl writerImpl(, , NULL, NULL, 0);
-PortableWriter writer();
-
-out.Position(IGNITE_DFLT_HDR_LEN);
-
-try
-{
-T nullFieldArr[2];
-
-nullFieldArr[0] = val1;
-nullFieldArr[1] = val2;
-
-WriteArray(writer, NULL, nullFieldArr, 2);
-
-BOOST_FAIL("Not restricted.");
-}
-catch (IgniteError& err)
-{
-BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_PORTABLE);
-}
-
-T arr1[2];
-arr1[0] = dflt;
-arr1[1] = dflt;
-
-T arr2[2];
-arr2[0] = val1;
-arr2[1] = val2;
-
-{
-// 1. Write NULL and see what happens.
-WriteArray(writer, fieldName, NULL, 0);
-
-writerImpl.PostWrite();
-
-out.Synchronize();
-
-InteropInputStream in();
-
-in.Synchronize();
-
-int32_t footerBegin = in.ReadInt32(IGNITE_OFFSET_SCHEMA_OR_RAW_OFF);
-int32_t footerEnd = footerBegin + 5;
-
-PortableReaderImpl readerImpl(, , 0, true, 
idRslvr.GetTypeId(), 0, 100, 100, footerBegin, footerEnd, OFFSET_TYPE_1_BYTE);
-PortableReader reader();
-
-in.Position(IGNITE_DFLT_HDR_LEN);
-BOOST_REQUIRE(ReadArray(reader, fieldName, NULL, 0) == -1);
-
-in.Position(IGNITE_DFLT_HDR_LEN);
-BOOST_REQUIRE(ReadArray(reader, fieldName, NULL, 2) == -1);
-
-in.Position(IGNITE_DFLT_HDR_LEN);
-BOOST_REQUIRE(ReadArray(reader, fieldName, arr1, 1) == -1);
-
-BOOST_REQUIRE(arr1[0] == dflt);
-BOOST_REQUIRE(arr1[1] == dflt);
-}
-
-{
-// 2. Write empty array.
-out.Position(IGNITE_DFLT_HDR_LEN);
-
-WriteArray(writer, fieldName, arr2, 

[13/21] ignite git commit: IGNITE-1846: CPP: "portable" -> "binary", "metadata" -> "type".

2015-11-09 Thread akuznetsov
http://git-wip-us.apache.org/repos/asf/ignite/blob/303d79eb/modules/platforms/cpp/core-test/src/binary_reader_writer_test.cpp
--
diff --git a/modules/platforms/cpp/core-test/src/binary_reader_writer_test.cpp 
b/modules/platforms/cpp/core-test/src/binary_reader_writer_test.cpp
new file mode 100644
index 000..d273b11
--- /dev/null
+++ b/modules/platforms/cpp/core-test/src/binary_reader_writer_test.cpp
@@ -0,0 +1,2373 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MSC_VER
+#define BOOST_TEST_DYN_LINK
+#endif
+
+#include 
+
+#include "ignite/impl/interop/interop.h"
+#include "ignite/binary/binary.h"
+
+#include "ignite/binary_test_defs.h"
+#include "ignite/binary_test_utils.h"
+
+using namespace ignite;
+using namespace ignite::impl::interop;
+using namespace ignite::impl::binary;
+using namespace ignite::binary;
+using namespace ignite_test::core::binary;
+
+template
+void CheckPrimitive(T val)
+{
+TemplatedBinaryIdResolver idRslvr;
+
+InteropUnpooledMemory mem(1024);
+
+InteropOutputStream out();
+out.Position(IGNITE_DFLT_HDR_LEN);
+
+BinaryWriterImpl writerImpl(, , NULL, NULL, 0);
+BinaryWriter writer();
+
+try
+{
+Write(writer, NULL, val);
+
+BOOST_FAIL("Not restricted.");
+}
+catch (IgniteError& err)
+{
+BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_BINARY);
+}
+
+Write(writer, "test", val);
+
+writerImpl.PostWrite();
+
+out.Synchronize();
+
+InteropInputStream in();
+
+in.Synchronize();
+
+int32_t footerBegin = in.ReadInt32(IGNITE_OFFSET_SCHEMA_OR_RAW_OFF);
+int32_t footerEnd = footerBegin + 5;
+
+BinaryReaderImpl readerImpl(, , 0, true, idRslvr.GetTypeId(), 
0, 100, 100, footerBegin, footerEnd, OFFSET_TYPE_1_BYTE);
+BinaryReader reader();
+
+try
+{
+Read(reader, NULL);
+
+BOOST_FAIL("Not restricted.");
+}
+catch (IgniteError& err)
+{
+BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_BINARY);
+}
+
+try
+{
+T readVal = Read(reader, "test"); 
+
+BOOST_REQUIRE(readVal == val);
+}
+catch (IgniteError& err)
+{
+BOOST_FAIL(err.GetText());
+}
+}
+
+template
+void CheckPrimitiveArray(T dflt, T val1, T val2)
+{
+const char* fieldName = "test";
+
+TemplatedBinaryIdResolver idRslvr;
+
+InteropUnpooledMemory mem(1024);
+
+InteropOutputStream out();
+BinaryWriterImpl writerImpl(, , NULL, NULL, 0);
+BinaryWriter writer();
+
+out.Position(IGNITE_DFLT_HDR_LEN);
+
+try
+{
+T nullFieldArr[2];
+
+nullFieldArr[0] = val1;
+nullFieldArr[1] = val2;
+
+WriteArray(writer, NULL, nullFieldArr, 2);
+
+BOOST_FAIL("Not restricted.");
+}
+catch (IgniteError& err)
+{
+BOOST_REQUIRE(err.GetCode() == IgniteError::IGNITE_ERR_BINARY);
+}
+
+T arr1[2];
+arr1[0] = dflt;
+arr1[1] = dflt;
+
+T arr2[2];
+arr2[0] = val1;
+arr2[1] = val2;
+
+{
+// 1. Write NULL and see what happens.
+WriteArray(writer, fieldName, NULL, 0);
+
+writerImpl.PostWrite();
+
+out.Synchronize();
+
+InteropInputStream in();
+
+in.Synchronize();
+
+int32_t footerBegin = in.ReadInt32(IGNITE_OFFSET_SCHEMA_OR_RAW_OFF);
+int32_t footerEnd = footerBegin + 5;
+
+BinaryReaderImpl readerImpl(, , 0, true, 
idRslvr.GetTypeId(), 0, 100, 100, footerBegin, footerEnd, OFFSET_TYPE_1_BYTE);
+BinaryReader reader();
+
+in.Position(IGNITE_DFLT_HDR_LEN);
+BOOST_REQUIRE(ReadArray(reader, fieldName, NULL, 0) == -1);
+
+in.Position(IGNITE_DFLT_HDR_LEN);
+BOOST_REQUIRE(ReadArray(reader, fieldName, NULL, 2) == -1);
+
+in.Position(IGNITE_DFLT_HDR_LEN);
+BOOST_REQUIRE(ReadArray(reader, fieldName, arr1, 1) == -1);
+
+BOOST_REQUIRE(arr1[0] == dflt);
+BOOST_REQUIRE(arr1[1] == dflt);
+}
+
+{
+// 2. Write empty array.
+out.Position(IGNITE_DFLT_HDR_LEN);
+
+WriteArray(writer, fieldName, arr2, 0);
+
+writerImpl.PostWrite();
+
+

[01/21] ignite git commit: IGNITE-1862: Removed "convertString" flag and fixed string serialization in CPP.

2015-11-09 Thread akuznetsov
Repository: ignite
Updated Branches:
  refs/heads/ignite-1753-1282 c176f07d9 -> e6f04883d


IGNITE-1862: Removed "convertString" flag and fixed string serialization in CPP.


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

Branch: refs/heads/ignite-1753-1282
Commit: 80be22b52daab79216e90d3b7e88a8d2b56d3e0b
Parents: 1a01ad8
Author: vozerov-gridgain 
Authored: Mon Nov 9 12:31:00 2015 +0300
Committer: vozerov-gridgain 
Committed: Mon Nov 9 12:31:00 2015 +0300

--
 .../internal/portable/BinaryObjectImpl.java | 14 ++
 .../portable/BinaryObjectOffheapImpl.java   | 16 +++
 .../internal/portable/BinaryReaderExImpl.java   | 18 +
 .../internal/portable/BinaryWriterExImpl.java   | 19 +++--
 .../internal/portable/PortableContext.java  | 11 
 .../portable/builder/PortableBuilderReader.java | 20 +++---
 .../marshaller/portable/PortableMarshaller.java | 25 -
 .../portable/BinaryFieldsAbstractSelfTest.java  | 19 ++---
 ...idBinaryObjectBuilderAdditionalSelfTest.java |  9 ---
 .../GridBinaryObjectBuilderSelfTest.java|  9 ---
 ...tBuilderStringAsCharsAdditionalSelfTest.java | 28 
 ...inaryObjectBuilderStringAsCharsSelfTest.java | 28 
 .../IgnitePortableObjectsTestSuite.java |  4 ---
 .../ignite/impl/portable/portable_reader_impl.h | 13 ++---
 .../src/impl/portable/portable_reader_impl.cpp  | 19 +++--
 .../core/src/impl/portable/portable_utils.cpp   |  5 +---
 .../src/impl/portable/portable_writer_impl.cpp  |  7 +
 .../Impl/Portable/PortableUtils.cs  | 13 ++---
 18 files changed, 29 insertions(+), 248 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/80be22b5/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryObjectImpl.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryObjectImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryObjectImpl.java
index 6412b7f..800ca40 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryObjectImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryObjectImpl.java
@@ -337,19 +337,9 @@ public final class BinaryObjectImpl extends BinaryObjectEx 
implements Externaliz
 break;
 
 case STRING: {
-boolean utf = PortablePrimitives.readBoolean(arr, fieldPos + 
1);
+int dataLen = PortablePrimitives.readInt(arr, fieldPos + 1);
 
-if (utf) {
-int dataLen = PortablePrimitives.readInt(arr, fieldPos + 
2);
-
-val = new String(arr, fieldPos + 6, dataLen, UTF_8);
-}
-else {
-int dataLen = PortablePrimitives.readInt(arr, fieldPos + 
2);
-char[] data = PortablePrimitives.readCharArray(arr, 
fieldPos + 6, dataLen);
-
-val = String.valueOf(data);
-}
+val = new String(arr, fieldPos + 5, dataLen, UTF_8);
 
 break;
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/80be22b5/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryObjectOffheapImpl.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryObjectOffheapImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryObjectOffheapImpl.java
index e53e9fb..9b6735f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryObjectOffheapImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryObjectOffheapImpl.java
@@ -269,20 +269,10 @@ public class BinaryObjectOffheapImpl extends 
BinaryObjectEx implements Externali
 break;
 
 case STRING: {
-boolean utf = PortablePrimitives.readBoolean(ptr, fieldPos + 
1);
+int dataLen = PortablePrimitives.readInt(ptr, fieldPos + 1);
+byte[] data = PortablePrimitives.readByteArray(ptr, fieldPos + 
5, dataLen);
 
-if (utf) {
-int dataLen = PortablePrimitives.readInt(ptr, fieldPos + 
2);
-byte[] data = PortablePrimitives.readByteArray(ptr, 
fieldPos + 6, dataLen);
-
-val = new String(data, UTF_8);
-}
-

[02/21] ignite git commit: IGNITE-1846: CPP: "portable" -> "binary", "metadata" -> "type".

2015-11-09 Thread akuznetsov
http://git-wip-us.apache.org/repos/asf/ignite/blob/303d79eb/modules/platforms/cpp/core/src/impl/portable/portable_writer_impl.cpp
--
diff --git 
a/modules/platforms/cpp/core/src/impl/portable/portable_writer_impl.cpp 
b/modules/platforms/cpp/core/src/impl/portable/portable_writer_impl.cpp
deleted file mode 100644
index f398f04..000
--- a/modules/platforms/cpp/core/src/impl/portable/portable_writer_impl.cpp
+++ /dev/null
@@ -1,622 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "ignite/impl/portable/portable_writer_impl.h"
-#include "ignite/impl/interop/interop_stream_position_guard.h"
-#include "ignite/ignite_error.h"
-
-using namespace ignite::impl::interop;
-using namespace ignite::impl::portable;
-using namespace ignite::portable;
-
-namespace ignite
-{
-namespace impl
-{
-namespace portable
-{
-PortableWriterImpl::PortableWriterImpl(InteropOutputStream* 
stream, PortableIdResolver* idRslvr, 
-PortableMetadataManager* metaMgr, PortableMetadataHandler* 
metaHnd, int32_t start) :
-stream(stream), idRslvr(idRslvr), metaMgr(metaMgr), 
metaHnd(metaHnd), typeId(idRslvr->GetTypeId()),
-elemIdGen(0), elemId(0), elemCnt(0), elemPos(-1), rawPos(-1), 
start(start)
-{
-// No-op.
-}
-
-PortableWriterImpl::PortableWriterImpl(InteropOutputStream* 
stream, PortableMetadataManager* metaMgr) :
-stream(stream), idRslvr(NULL), metaMgr(metaMgr), 
metaHnd(NULL), typeId(0), 
-elemIdGen(0), elemId(0), elemCnt(0), elemPos(-1), rawPos(0), 
start(stream->Position())
-{
-// No-op.
-}
-
-void PortableWriterImpl::WriteInt8(const int8_t val)
-{
-WritePrimitiveRaw(val, PortableUtils::WriteInt8);
-}
-
-void PortableWriterImpl::WriteInt8Array(const int8_t* val, const 
int32_t len)
-{
-WritePrimitiveArrayRaw(val, len, 
PortableUtils::WriteInt8Array, IGNITE_TYPE_ARRAY_BYTE);
-}
-
-void PortableWriterImpl::WriteInt8(const char* fieldName, const 
int8_t val)
-{
-WritePrimitive(fieldName, val, 
PortableUtils::WriteInt8, IGNITE_TYPE_BYTE, 1);
-}
-
-void PortableWriterImpl::WriteInt8Array(const char* fieldName, 
const int8_t* val, const int32_t len)
-{
-WritePrimitiveArray(fieldName, val, len, 
PortableUtils::WriteInt8Array, IGNITE_TYPE_ARRAY_BYTE, 0);
-}
-
-void PortableWriterImpl::WriteBool(const bool val)
-{
-WritePrimitiveRaw(val, PortableUtils::WriteBool);
-}
-
-void PortableWriterImpl::WriteBoolArray(const bool* val, const 
int32_t len)
-{
-WritePrimitiveArrayRaw(val, len, 
PortableUtils::WriteBoolArray, IGNITE_TYPE_ARRAY_BOOL);
-}
-
-void PortableWriterImpl::WriteBool(const char* fieldName, const 
bool val)
-{
-WritePrimitive(fieldName, val, PortableUtils::WriteBool, 
IGNITE_TYPE_BOOL, 1);
-}
-
-void PortableWriterImpl::WriteBoolArray(const char* fieldName, 
const bool* val, const int32_t len)
-{
-WritePrimitiveArray(fieldName, val, len, 
PortableUtils::WriteBoolArray, IGNITE_TYPE_ARRAY_BOOL, 0);
-}
-
-void PortableWriterImpl::WriteInt16(const int16_t val)
-{
-WritePrimitiveRaw(val, PortableUtils::WriteInt16);
-}
-
-void PortableWriterImpl::WriteInt16Array(const int16_t* val, const 
int32_t len)
-{
-WritePrimitiveArrayRaw(val, len, 
PortableUtils::WriteInt16Array, IGNITE_TYPE_ARRAY_SHORT);
-}
-
-void PortableWriterImpl::WriteInt16(const char* fieldName, const 
int16_t val)
-{
-WritePrimitive(fieldName, val, 
PortableUtils::WriteInt16, IGNITE_TYPE_SHORT, 2);
-}
-
-void 

[17/21] ignite git commit: IGNITE-1803: GridQueryProcessor now uses cached field descriptor to access portable object fields.

2015-11-09 Thread akuznetsov
IGNITE-1803: GridQueryProcessor now uses cached field descriptor to access 
portable object fields.


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

Branch: refs/heads/ignite-1753-1282
Commit: 93b71c777dc287c14df23c366d7c65f2af91cc03
Parents: 37a2a9f
Author: vozerov-gridgain 
Authored: Mon Nov 9 15:05:41 2015 +0300
Committer: vozerov-gridgain 
Committed: Mon Nov 9 15:05:41 2015 +0300

--
 .../processors/query/GridQueryProcessor.java| 31 +++-
 1 file changed, 30 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/93b71c77/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
index d1f9869..c4deaa0 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
@@ -44,6 +44,7 @@ import javax.cache.CacheException;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.IgniteLogger;
+import org.apache.ignite.binary.BinaryField;
 import org.apache.ignite.cache.CacheTypeMetadata;
 import org.apache.ignite.cache.QueryEntity;
 import org.apache.ignite.cache.QueryIndex;
@@ -1804,6 +1805,9 @@ public class GridQueryProcessor extends 
GridProcessorAdapter {
 /** */
 private volatile int isKeyProp;
 
+/** Binary field to speed-up deserialization. */
+private volatile BinaryField field;
+
 /**
  * Constructor.
  *
@@ -1853,7 +1857,32 @@ public class GridQueryProcessor extends 
GridProcessorAdapter {
 obj = isKeyProp0 == 1 ? key : val;
 }
 
-return ctx.cacheObjects().field(obj, propName);
+assert obj instanceof BinaryObject;
+
+BinaryObject obj0 = (BinaryObject)obj;
+
+return binaryField(obj0).value(obj0);
+}
+
+/**
+ * Get binary field for the property.
+ *
+ * @param obj Target object.
+ * @return Binary field.
+ */
+private BinaryField binaryField(BinaryObject obj) {
+BinaryField field0 = field;
+
+if (field0 == null)
+{
+field0 = obj.fieldDescriptor(propName);
+
+assert field0 != null;
+
+field = field0;
+}
+
+return field0;
 }
 
 /** {@inheritDoc} */



[06/21] ignite git commit: IGNITE-1846: CPP: "portable" -> "binary", "metadata" -> "type".

2015-11-09 Thread akuznetsov
http://git-wip-us.apache.org/repos/asf/ignite/blob/303d79eb/modules/platforms/cpp/core/include/ignite/impl/portable/portable_writer_impl.h
--
diff --git 
a/modules/platforms/cpp/core/include/ignite/impl/portable/portable_writer_impl.h
 
b/modules/platforms/cpp/core/include/ignite/impl/portable/portable_writer_impl.h
deleted file mode 100644
index 025677b..000
--- 
a/modules/platforms/cpp/core/include/ignite/impl/portable/portable_writer_impl.h
+++ /dev/null
@@ -1,912 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _IGNITE_IMPL_PORTABLE_WRITER
-#define _IGNITE_IMPL_PORTABLE_WRITER
-
-#include 
-#include 
-#include 
-
-#include 
-#include 
-
-#include "ignite/impl/interop/interop_output_stream.h"
-#include "ignite/impl/portable/portable_common.h"
-#include "ignite/impl/portable/portable_id_resolver.h"
-#include "ignite/impl/portable/portable_metadata_manager.h"
-#include "ignite/impl/portable/portable_utils.h"
-#include "ignite/impl/portable/portable_schema.h"
-#include "ignite/portable/portable_consts.h"
-#include "ignite/portable/portable_type.h"
-#include "ignite/guid.h"
-
-namespace ignite
-{
-namespace impl
-{
-namespace portable
-{
-/**
- * Internal implementation of portable reader.
- */
-class IGNITE_IMPORT_EXPORT PortableWriterImpl
-{
-public:
-/**
- * Constructor.
- *
- * @param stream Interop stream.
- * @param idRslvr Portable ID resolver.
- * @param metaMgr Metadata manager.
- * @param metaHnd Metadata handler.
- */
-PortableWriterImpl(ignite::impl::interop::InteropOutputStream* 
stream, PortableIdResolver* idRslvr, 
-PortableMetadataManager* metaMgr, PortableMetadataHandler* 
metaHnd, int32_t start);
-
-/**
- * Constructor used to construct light-weight writer allowing 
only raw operations 
- * and primitive objects.
- *
- * @param stream Interop stream.
- * @param metaMgr Metadata manager.
- */
-PortableWriterImpl(ignite::impl::interop::InteropOutputStream* 
stream, PortableMetadataManager* metaMgr);
-
-/**
- * Write 8-byte signed integer. Maps to "byte" type in Java.
- *
- * @param val Value.
- */
-void WriteInt8(const int8_t val);
-
-/**
- * Write array of 8-byte signed integers. Maps to "byte[]" 
type in Java.
- *
- * @param val Array.
- * @param len Array length.
- */
-void WriteInt8Array(const int8_t* val, const int32_t len);
-
-/**
- * Write 8-byte signed integer. Maps to "byte" type in Java.
- *
- * @param fieldName Field name.
- * @param val Value.
- */
-void WriteInt8(const char* fieldName, const int8_t val);
-
-/**
- * Write array of 8-byte signed integers. Maps to "byte[]" 
type in Java.
- *
- * @param fieldName Field name.
- * @param val Array.
- * @param len Array length.
- */
-void WriteInt8Array(const char* fieldName, const int8_t* val, 
const int32_t len);
-
-/**
- * Write bool. Maps to "short" type in Java.
- *
- * @param val Value.
- */
-void WriteBool(const bool val);
-
-/**
- * Write array of bools. Maps to "bool[]" type in Java.
- *
- * @param val Array.
- * @param len Array length.
- */
-void WriteBoolArray(const bool* val, const int32_t len);
-
-/**
- * 

[12/21] ignite git commit: IGNITE-1846: CPP: "portable" -> "binary", "metadata" -> "type".

2015-11-09 Thread akuznetsov
http://git-wip-us.apache.org/repos/asf/ignite/blob/303d79eb/modules/platforms/cpp/core-test/src/portable_reader_writer_raw_test.cpp
--
diff --git 
a/modules/platforms/cpp/core-test/src/portable_reader_writer_raw_test.cpp 
b/modules/platforms/cpp/core-test/src/portable_reader_writer_raw_test.cpp
deleted file mode 100644
index e93796f..000
--- a/modules/platforms/cpp/core-test/src/portable_reader_writer_raw_test.cpp
+++ /dev/null
@@ -1,1593 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _MSC_VER
-#define BOOST_TEST_DYN_LINK
-#endif
-
-#include 
-
-#include "ignite/impl/interop/interop.h"
-#include "ignite/portable/portable.h"
-
-#include "ignite/portable_test_defs.h"
-#include "ignite/portable_test_utils.h"
-
-using namespace ignite;
-using namespace ignite::impl::interop;
-using namespace ignite::impl::portable;
-using namespace ignite::portable;
-using namespace ignite_test::core::portable;
-
-template
-void CheckRawPrimitive(T val)
-{
-InteropUnpooledMemory mem(1024);
-
-InteropOutputStream out();
-PortableWriterImpl writer(, NULL);
-PortableRawWriter rawWriter();
-
-Write(rawWriter, val);
-
-out.Synchronize();
-
-InteropInputStream in();
-PortableReaderImpl reader();
-PortableRawReader rawReader();
-
-T readVal = Read(rawReader);
-
-BOOST_REQUIRE(readVal == val);
-}
-
-template
-void CheckRawPrimitiveArray(T dflt, T val1, T val2)
-{
-InteropUnpooledMemory mem(1024);
-
-InteropOutputStream out();
-PortableWriterImpl writer(, NULL);
-PortableRawWriter rawWriter();
-
-InteropInputStream in();
-PortableReaderImpl reader();
-PortableRawReader rawReader();
-
-// 1. Write NULL and see what happens.
-WriteArray(rawWriter, NULL, 0);
-
-out.Synchronize();
-in.Synchronize();
-
-BOOST_REQUIRE(ReadArray(rawReader, NULL, 0) == -1);
-
-in.Position(0);
-BOOST_REQUIRE(ReadArray(rawReader, NULL, 2) == -1);
-
-T arr1[2];
-arr1[0] = dflt;
-arr1[1] = dflt;
-
-in.Position(0);
-BOOST_REQUIRE(ReadArray(rawReader, arr1, 1) == -1);
-
-BOOST_REQUIRE(arr1[0] == dflt);
-BOOST_REQUIRE(arr1[1] == dflt);
-
-// 2. Write empty array.
-T arr2[2];
-arr2[0] = val1;
-arr2[1] = val2;
-
-out.Position(0);
-in.Position(0);
-
-WriteArray(rawWriter, arr2, 0);
-
-out.Synchronize();
-in.Synchronize();
-
-BOOST_REQUIRE(ReadArray(rawReader, NULL, 0) == 0);
-
-in.Position(0);
-BOOST_REQUIRE(ReadArray(rawReader, NULL, 2) == 0);
-
-in.Position(0);
-BOOST_REQUIRE(ReadArray(rawReader, arr1, 0) == 0);
-BOOST_REQUIRE(arr1[0] == dflt);
-BOOST_REQUIRE(arr1[1] == dflt);
-
-in.Position(0);
-BOOST_REQUIRE(ReadArray(rawReader, arr1, 2) == 0);
-BOOST_REQUIRE(arr1[0] == dflt);
-BOOST_REQUIRE(arr1[1] == dflt);
-
-// 3. Partial array write.
-out.Position(0);
-in.Position(0);
-
-WriteArray(rawWriter, arr2, 1);
-
-out.Synchronize();
-in.Synchronize();
-
-BOOST_REQUIRE(ReadArray(rawReader, NULL, 0) == 1);
-BOOST_REQUIRE(ReadArray(rawReader, NULL, 2) == 1);
-
-BOOST_REQUIRE(ReadArray(rawReader, arr1, 0) == 1);
-BOOST_REQUIRE(arr1[0] == dflt);
-BOOST_REQUIRE(arr1[1] == dflt);
-
-BOOST_REQUIRE(ReadArray(rawReader, arr1, 1) == 1);
-BOOST_REQUIRE(arr1[0] == val1);
-BOOST_REQUIRE(arr1[1] == dflt);
-arr1[0] = dflt;
-
-in.Position(0);
-BOOST_REQUIRE(ReadArray(rawReader, arr1, 2) == 1);
-BOOST_REQUIRE(arr1[0] == val1);
-BOOST_REQUIRE(arr1[1] == dflt);
-arr1[0] = dflt;
-
-// 4. Full array write.
-out.Position(0);
-in.Position(0);
-
-WriteArray(rawWriter, arr2, 2);
-
-out.Synchronize();
-in.Synchronize();
-
-BOOST_REQUIRE(ReadArray(rawReader, NULL, 0) == 2);
-BOOST_REQUIRE(ReadArray(rawReader, NULL, 2) == 2);
-
-BOOST_REQUIRE(ReadArray(rawReader, arr1, 0) == 2);
-BOOST_REQUIRE(arr1[0] == dflt);
-BOOST_REQUIRE(arr1[1] == dflt);
-
-BOOST_REQUIRE(ReadArray(rawReader, arr1, 1) == 2);
-BOOST_REQUIRE(arr1[0] == dflt);
-BOOST_REQUIRE(arr1[1] == dflt);
-
-

[18/21] ignite git commit: Ignore CacheDynamicStartTest

2015-11-09 Thread akuznetsov
Ignore CacheDynamicStartTest


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

Branch: refs/heads/ignite-1753-1282
Commit: 878bca564ec360fc9ae9144953ecf95a953b0e5b
Parents: 93b71c7
Author: Pavel Tupitsyn 
Authored: Mon Nov 9 17:55:17 2015 +0300
Committer: Pavel Tupitsyn 
Committed: Mon Nov 9 17:55:17 2015 +0300

--
 .../dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs  | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/878bca56/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs
--
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs
 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs
index abef473..7efce14 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheDynamicStartTest.cs
@@ -28,6 +28,7 @@ namespace Apache.Ignite.Core.Tests.Cache
 /// 
 /// Tests for dynamic a cache start.
 /// 
+[Ignore("TODO")]
 public class CacheDynamicStartTest
 {
 /** Grid name: data. */



[15/21] ignite git commit: IGNITE-1846: CPP: "portable" -> "binary", "metadata" -> "type".

2015-11-09 Thread akuznetsov
IGNITE-1846: CPP: "portable" -> "binary", "metadata" -> "type".


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

Branch: refs/heads/ignite-1753-1282
Commit: 303d79ebebb5c2400940b09bf2ca01467ac615bc
Parents: 80be22b
Author: vozerov-gridgain 
Authored: Mon Nov 9 13:45:56 2015 +0300
Committer: vozerov-gridgain 
Committed: Mon Nov 9 13:45:56 2015 +0300

--
 modules/platforms/cpp/README.txt|2 +-
 modules/platforms/cpp/core-test/Makefile.am |8 +-
 .../platforms/cpp/core-test/include/Makefile.am |4 +-
 .../core-test/include/ignite/binary_test_defs.h |  320 +++
 .../include/ignite/binary_test_utils.h  |  516 
 .../include/ignite/portable_test_defs.h |  320 ---
 .../include/ignite/portable_test_utils.h|  516 
 .../cpp/core-test/project/vs/core-test.vcxproj  |   12 +-
 .../project/vs/core-test.vcxproj.filters|   32 +-
 .../src/binary_reader_writer_raw_test.cpp   | 1593 
 .../core-test/src/binary_reader_writer_test.cpp | 2373 ++
 .../cpp/core-test/src/binary_session_test.cpp   |  257 ++
 .../cpp/core-test/src/binary_test_defs.cpp  |   65 +
 .../cpp/core-test/src/cache_query_test.cpp  |   26 +-
 .../platforms/cpp/core-test/src/cache_test.cpp  |   24 +-
 .../src/portable_reader_writer_raw_test.cpp | 1593 
 .../src/portable_reader_writer_test.cpp | 2373 --
 .../cpp/core-test/src/portable_session_test.cpp |  257 --
 .../cpp/core-test/src/portable_test_defs.cpp|   65 -
 modules/platforms/cpp/core/Makefile.am  |   30 +-
 modules/platforms/cpp/core/include/Makefile.am  |   38 +-
 .../cpp/core/include/ignite/binary/binary.h |   29 +
 .../core/include/ignite/binary/binary_consts.h  |  106 +
 .../include/ignite/binary/binary_containers.h   |  525 
 .../include/ignite/binary/binary_raw_reader.h   |  350 +++
 .../include/ignite/binary/binary_raw_writer.h   |  326 +++
 .../core/include/ignite/binary/binary_reader.h  |  384 +++
 .../core/include/ignite/binary/binary_type.h|  293 +++
 .../core/include/ignite/binary/binary_writer.h  |  362 +++
 .../include/ignite/cache/query/query_argument.h |6 +-
 .../include/ignite/cache/query/query_scan.h |4 +-
 .../core/include/ignite/cache/query/query_sql.h |4 +-
 .../ignite/cache/query/query_sql_fields.h   |4 +-
 .../include/ignite/cache/query/query_text.h |4 +-
 .../cpp/core/include/ignite/ignite_error.h  |4 +-
 .../include/ignite/impl/binary/binary_common.h  |  182 ++
 .../ignite/impl/binary/binary_id_resolver.h |  106 +
 .../ignite/impl/binary/binary_reader_impl.h | 1311 ++
 .../include/ignite/impl/binary/binary_schema.h  |  136 +
 .../ignite/impl/binary/binary_type_handler.h|  102 +
 .../ignite/impl/binary/binary_type_manager.h|  120 +
 .../ignite/impl/binary/binary_type_snapshot.h   |  122 +
 .../ignite/impl/binary/binary_type_updater.h|   53 +
 .../impl/binary/binary_type_updater_impl.h  |   65 +
 .../include/ignite/impl/binary/binary_utils.h   |  344 +++
 .../ignite/impl/binary/binary_writer_impl.h |  913 +++
 .../core/include/ignite/impl/cache/cache_impl.h |4 +-
 .../impl/cache/query/query_fields_row_impl.h|2 +-
 .../include/ignite/impl/ignite_environment.h|   12 +-
 .../cpp/core/include/ignite/impl/operations.h   |   30 +-
 .../ignite/impl/portable/portable_common.h  |  182 --
 .../ignite/impl/portable/portable_id_resolver.h |  106 -
 .../impl/portable/portable_metadata_handler.h   |  102 -
 .../impl/portable/portable_metadata_manager.h   |  120 -
 .../impl/portable/portable_metadata_snapshot.h  |  122 -
 .../impl/portable/portable_metadata_updater.h   |   53 -
 .../portable/portable_metadata_updater_impl.h   |   65 -
 .../ignite/impl/portable/portable_reader_impl.h | 1311 --
 .../ignite/impl/portable/portable_schema.h  |  136 -
 .../ignite/impl/portable/portable_utils.h   |  344 ---
 .../ignite/impl/portable/portable_writer_impl.h |  912 ---
 .../cpp/core/include/ignite/portable/portable.h |   29 -
 .../include/ignite/portable/portable_consts.h   |  106 -
 .../ignite/portable/portable_containers.h   |  525 
 .../ignite/portable/portable_raw_reader.h   |  350 ---
 .../ignite/portable/portable_raw_writer.h   |  326 ---
 .../include/ignite/portable/portable_reader.h   |  384 ---
 .../include/ignite/portable/portable_type.h |  293 ---
 .../include/ignite/portable/portable_writer.h   |  362 ---
 .../platforms/cpp/core/project/vs/core.vcxproj  |   68 +-
 .../cpp/core/project/vs/core.vcxproj.filters|  200 +-
 .../cpp/core/src/binary/binary_containers.cpp 

[21/21] ignite git commit: Merge branch 'ignite-1282' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-1753-1282

2015-11-09 Thread akuznetsov
Merge branch 'ignite-1282' of https://git-wip-us.apache.org/repos/asf/ignite 
into ignite-1753-1282


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

Branch: refs/heads/ignite-1753-1282
Commit: e6f04883d367f21ef01d35e396286359cbd86507
Parents: 31657d3 1133bd1
Author: Alexey Kuznetsov 
Authored: Tue Nov 10 11:23:16 2015 +0700
Committer: Alexey Kuznetsov 
Committed: Tue Nov 10 11:23:16 2015 +0700

--
 .../java/org/apache/ignite/IgniteBinary.java|8 -
 .../ignite/binary/BinaryObjectBuilder.java  |1 -
 .../internal/portable/BinaryObjectImpl.java |   14 +-
 .../portable/BinaryObjectOffheapImpl.java   |   16 +-
 .../internal/portable/BinaryReaderExImpl.java   |   18 +-
 .../internal/portable/BinaryWriterExImpl.java   |   19 +-
 .../internal/portable/PortableContext.java  |   11 -
 .../builder/BinaryObjectBuilderImpl.java|   13 +-
 .../portable/builder/PortableBuilderReader.java |   20 +-
 .../portable/CacheObjectBinaryProcessor.java|6 -
 .../CacheObjectBinaryProcessorImpl.java |5 -
 .../cache/portable/IgniteBinaryImpl.java|   12 -
 .../processors/cacheobject/NoOpBinary.java  |5 -
 .../processors/query/GridQueryProcessor.java|   31 +-
 .../marshaller/portable/PortableMarshaller.java |   25 -
 .../portable/BinaryFieldsAbstractSelfTest.java  |   19 +-
 ...idBinaryObjectBuilderAdditionalSelfTest.java |9 -
 .../GridBinaryObjectBuilderSelfTest.java|   16 -
 ...tBuilderStringAsCharsAdditionalSelfTest.java |   28 -
 ...inaryObjectBuilderStringAsCharsSelfTest.java |   28 -
 .../IgnitePortableObjectsTestSuite.java |4 -
 modules/platforms/cpp/README.txt|2 +-
 modules/platforms/cpp/core-test/Makefile.am |8 +-
 .../platforms/cpp/core-test/include/Makefile.am |4 +-
 .../core-test/include/ignite/binary_test_defs.h |  320 +++
 .../include/ignite/binary_test_utils.h  |  516 
 .../include/ignite/portable_test_defs.h |  320 ---
 .../include/ignite/portable_test_utils.h|  516 
 .../cpp/core-test/project/vs/core-test.vcxproj  |   12 +-
 .../project/vs/core-test.vcxproj.filters|   32 +-
 .../src/binary_reader_writer_raw_test.cpp   | 1593 
 .../core-test/src/binary_reader_writer_test.cpp | 2373 ++
 .../cpp/core-test/src/binary_session_test.cpp   |  257 ++
 .../cpp/core-test/src/binary_test_defs.cpp  |   65 +
 .../cpp/core-test/src/cache_query_test.cpp  |   26 +-
 .../platforms/cpp/core-test/src/cache_test.cpp  |   24 +-
 .../src/portable_reader_writer_raw_test.cpp | 1593 
 .../src/portable_reader_writer_test.cpp | 2373 --
 .../cpp/core-test/src/portable_session_test.cpp |  257 --
 .../cpp/core-test/src/portable_test_defs.cpp|   65 -
 modules/platforms/cpp/core/Makefile.am  |   30 +-
 modules/platforms/cpp/core/include/Makefile.am  |   38 +-
 .../cpp/core/include/ignite/binary/binary.h |   29 +
 .../core/include/ignite/binary/binary_consts.h  |  106 +
 .../include/ignite/binary/binary_containers.h   |  525 
 .../include/ignite/binary/binary_raw_reader.h   |  350 +++
 .../include/ignite/binary/binary_raw_writer.h   |  326 +++
 .../core/include/ignite/binary/binary_reader.h  |  384 +++
 .../core/include/ignite/binary/binary_type.h|  293 +++
 .../core/include/ignite/binary/binary_writer.h  |  362 +++
 .../include/ignite/cache/query/query_argument.h |6 +-
 .../include/ignite/cache/query/query_scan.h |4 +-
 .../core/include/ignite/cache/query/query_sql.h |4 +-
 .../ignite/cache/query/query_sql_fields.h   |4 +-
 .../include/ignite/cache/query/query_text.h |4 +-
 .../cpp/core/include/ignite/ignite_error.h  |4 +-
 .../include/ignite/impl/binary/binary_common.h  |  182 ++
 .../ignite/impl/binary/binary_id_resolver.h |  106 +
 .../ignite/impl/binary/binary_reader_impl.h | 1311 ++
 .../include/ignite/impl/binary/binary_schema.h  |  136 +
 .../ignite/impl/binary/binary_type_handler.h|  102 +
 .../ignite/impl/binary/binary_type_manager.h|  120 +
 .../ignite/impl/binary/binary_type_snapshot.h   |  122 +
 .../ignite/impl/binary/binary_type_updater.h|   53 +
 .../impl/binary/binary_type_updater_impl.h  |   65 +
 .../include/ignite/impl/binary/binary_utils.h   |  344 +++
 .../ignite/impl/binary/binary_writer_impl.h |  913 +++
 .../core/include/ignite/impl/cache/cache_impl.h |4 +-
 .../impl/cache/query/query_fields_row_impl.h|2 +-
 .../include/ignite/impl/ignite_environment.h|   12 +-
 .../cpp/core/include/ignite/impl/operations.h   |   30 +-
 

[07/21] ignite git commit: IGNITE-1846: CPP: "portable" -> "binary", "metadata" -> "type".

2015-11-09 Thread akuznetsov
http://git-wip-us.apache.org/repos/asf/ignite/blob/303d79eb/modules/platforms/cpp/core/include/ignite/impl/portable/portable_reader_impl.h
--
diff --git 
a/modules/platforms/cpp/core/include/ignite/impl/portable/portable_reader_impl.h
 
b/modules/platforms/cpp/core/include/ignite/impl/portable/portable_reader_impl.h
deleted file mode 100644
index ec1c003..000
--- 
a/modules/platforms/cpp/core/include/ignite/impl/portable/portable_reader_impl.h
+++ /dev/null
@@ -1,1311 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _IGNITE_IMPL_PORTABLE_READER
-#define _IGNITE_IMPL_PORTABLE_READER
-
-#include 
-
-#include 
-
-#include "ignite/impl/interop/interop_input_stream.h"
-#include "ignite/impl/portable/portable_common.h"
-#include "ignite/impl/portable/portable_id_resolver.h"
-#include "ignite/impl/portable/portable_schema.h"
-#include "ignite/impl/utils.h"
-#include "ignite/portable/portable_consts.h"
-#include "ignite/portable/portable_type.h"
-#include "ignite/guid.h"
-
-namespace ignite
-{
-namespace impl
-{
-namespace portable
-{
-/**
- * Internal implementation of portable reader.
- */
-class IGNITE_IMPORT_EXPORT PortableReaderImpl
-{
-public:
-/**
- * Constructor.
- *
- * @param stream Interop stream.
- * @param idRslvr Portable ID resolver.
- * @param pos Object position in the stream.
- * @param usrType user type flag.
- * @param typeId Type ID.
- * @param hashcode Hash code.
- * @param len Length in bytes.
- * @param rawOff Raw data offset.
- * @param footerBegin Footer beginning absolute position in 
stream.
- * @param footerEnd Footer ending absolute position in stream.
- */
-PortableReaderImpl(interop::InteropInputStream* stream, 
PortableIdResolver* idRslvr,
-int32_t pos, bool usrType, int32_t typeId, int32_t 
hashCode, int32_t len, int32_t rawOff,
-int32_t footerBegin, int32_t footerEnd, PortableOffsetType 
schemaType);
-
-/**
- * Constructor used to construct light-weight reader allowing 
only raw operations 
- * and read of primitives.
- *
- * @param stream Interop stream.
- */
-PortableReaderImpl(interop::InteropInputStream* stream);
-
-/**
- * Read 8-byte signed integer. Maps to "byte" type in Java.
- *
- * @return Result.
- */
-int8_t ReadInt8();
-
-/**
- * Read array of 8-byte signed integers. Maps to "byte[]" type 
in Java.
- *
- * @param res Array to store data to.
- * @param len Expected length of array.
- * @return Actual amount of elements read. If "len" argument 
is less than actual
- * array size or resulting array is set to null, nothing 
will be written
- * to resulting array and returned value will contain 
required array length.
- * -1 will be returned in case array in stream was null.
- */
-int32_t ReadInt8Array(int8_t* res, const int32_t len);
-
-/**
- * Read 8-byte signed integer. Maps to "byte" type in Java.
- *
- * @param fieldName Field name.
- * @return Result.
- */
-int8_t ReadInt8(const char* fieldName);
-
-/**
- * Read array of 8-byte signed integers. Maps to "byte[]" type 
in Java.
- *
- * @param fieldName Field name.
- * @param res Array to store data to.
- * @param len Expected length of array. 
- * @return Actual amount of elements 

[14/21] ignite git commit: IGNITE-1846: CPP: "portable" -> "binary", "metadata" -> "type".

2015-11-09 Thread akuznetsov
http://git-wip-us.apache.org/repos/asf/ignite/blob/303d79eb/modules/platforms/cpp/core-test/src/binary_reader_writer_raw_test.cpp
--
diff --git 
a/modules/platforms/cpp/core-test/src/binary_reader_writer_raw_test.cpp 
b/modules/platforms/cpp/core-test/src/binary_reader_writer_raw_test.cpp
new file mode 100644
index 000..8d47c24
--- /dev/null
+++ b/modules/platforms/cpp/core-test/src/binary_reader_writer_raw_test.cpp
@@ -0,0 +1,1593 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MSC_VER
+#define BOOST_TEST_DYN_LINK
+#endif
+
+#include 
+
+#include "ignite/impl/interop/interop.h"
+#include "ignite/binary/binary.h"
+
+#include "ignite/binary_test_defs.h"
+#include "ignite/binary_test_utils.h"
+
+using namespace ignite;
+using namespace ignite::impl::interop;
+using namespace ignite::impl::binary;
+using namespace ignite::binary;
+using namespace ignite_test::core::binary;
+
+template
+void CheckRawPrimitive(T val)
+{
+InteropUnpooledMemory mem(1024);
+
+InteropOutputStream out();
+BinaryWriterImpl writer(, NULL);
+BinaryRawWriter rawWriter();
+
+Write(rawWriter, val);
+
+out.Synchronize();
+
+InteropInputStream in();
+BinaryReaderImpl reader();
+BinaryRawReader rawReader();
+
+T readVal = Read(rawReader);
+
+BOOST_REQUIRE(readVal == val);
+}
+
+template
+void CheckRawPrimitiveArray(T dflt, T val1, T val2)
+{
+InteropUnpooledMemory mem(1024);
+
+InteropOutputStream out();
+BinaryWriterImpl writer(, NULL);
+BinaryRawWriter rawWriter();
+
+InteropInputStream in();
+BinaryReaderImpl reader();
+BinaryRawReader rawReader();
+
+// 1. Write NULL and see what happens.
+WriteArray(rawWriter, NULL, 0);
+
+out.Synchronize();
+in.Synchronize();
+
+BOOST_REQUIRE(ReadArray(rawReader, NULL, 0) == -1);
+
+in.Position(0);
+BOOST_REQUIRE(ReadArray(rawReader, NULL, 2) == -1);
+
+T arr1[2];
+arr1[0] = dflt;
+arr1[1] = dflt;
+
+in.Position(0);
+BOOST_REQUIRE(ReadArray(rawReader, arr1, 1) == -1);
+
+BOOST_REQUIRE(arr1[0] == dflt);
+BOOST_REQUIRE(arr1[1] == dflt);
+
+// 2. Write empty array.
+T arr2[2];
+arr2[0] = val1;
+arr2[1] = val2;
+
+out.Position(0);
+in.Position(0);
+
+WriteArray(rawWriter, arr2, 0);
+
+out.Synchronize();
+in.Synchronize();
+
+BOOST_REQUIRE(ReadArray(rawReader, NULL, 0) == 0);
+
+in.Position(0);
+BOOST_REQUIRE(ReadArray(rawReader, NULL, 2) == 0);
+
+in.Position(0);
+BOOST_REQUIRE(ReadArray(rawReader, arr1, 0) == 0);
+BOOST_REQUIRE(arr1[0] == dflt);
+BOOST_REQUIRE(arr1[1] == dflt);
+
+in.Position(0);
+BOOST_REQUIRE(ReadArray(rawReader, arr1, 2) == 0);
+BOOST_REQUIRE(arr1[0] == dflt);
+BOOST_REQUIRE(arr1[1] == dflt);
+
+// 3. Partial array write.
+out.Position(0);
+in.Position(0);
+
+WriteArray(rawWriter, arr2, 1);
+
+out.Synchronize();
+in.Synchronize();
+
+BOOST_REQUIRE(ReadArray(rawReader, NULL, 0) == 1);
+BOOST_REQUIRE(ReadArray(rawReader, NULL, 2) == 1);
+
+BOOST_REQUIRE(ReadArray(rawReader, arr1, 0) == 1);
+BOOST_REQUIRE(arr1[0] == dflt);
+BOOST_REQUIRE(arr1[1] == dflt);
+
+BOOST_REQUIRE(ReadArray(rawReader, arr1, 1) == 1);
+BOOST_REQUIRE(arr1[0] == val1);
+BOOST_REQUIRE(arr1[1] == dflt);
+arr1[0] = dflt;
+
+in.Position(0);
+BOOST_REQUIRE(ReadArray(rawReader, arr1, 2) == 1);
+BOOST_REQUIRE(arr1[0] == val1);
+BOOST_REQUIRE(arr1[1] == dflt);
+arr1[0] = dflt;
+
+// 4. Full array write.
+out.Position(0);
+in.Position(0);
+
+WriteArray(rawWriter, arr2, 2);
+
+out.Synchronize();
+in.Synchronize();
+
+BOOST_REQUIRE(ReadArray(rawReader, NULL, 0) == 2);
+BOOST_REQUIRE(ReadArray(rawReader, NULL, 2) == 2);
+
+BOOST_REQUIRE(ReadArray(rawReader, arr1, 0) == 2);
+BOOST_REQUIRE(arr1[0] == dflt);
+BOOST_REQUIRE(arr1[1] == dflt);
+
+BOOST_REQUIRE(ReadArray(rawReader, arr1, 1) == 2);
+BOOST_REQUIRE(arr1[0] == dflt);
+BOOST_REQUIRE(arr1[1] == dflt);
+
+BOOST_REQUIRE(ReadArray(rawReader, arr1, 2) == 2);
+

ignite git commit: ignite-1817 Deprecate RandomEvictionPolicy and IgniteCache.randomEntry method - Fixes #191.

2015-11-09 Thread agoncharuk
Repository: ignite
Updated Branches:
  refs/heads/ignite-1.5 5e36b267e -> 3de9d47a8


ignite-1817 Deprecate RandomEvictionPolicy and IgniteCache.randomEntry method - 
Fixes #191.

Signed-off-by: Alexey Goncharuk 


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

Branch: refs/heads/ignite-1.5
Commit: 3de9d47a88d2e13c4807e44e2c391549929d3c9d
Parents: 5e36b26
Author: agura 
Authored: Mon Nov 9 20:36:53 2015 +0300
Committer: Alexey Goncharuk 
Committed: Mon Nov 9 20:36:53 2015 +0300

--
 .../java/org/apache/ignite/IgniteCache.java |  1 +
 .../eviction/random/RandomEvictionPolicy.java   |  4 
 .../processors/cache/GridCacheAdapter.java  | 22 
 .../processors/cache/IgniteCacheProxy.java  |  6 ++
 4 files changed, 29 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/3de9d47a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
--
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java 
b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
index 5558a26..6c4b507 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
@@ -104,6 +104,7 @@ public interface IgniteCache extends 
javax.cache.Cache, IgniteAsyncS
  *
  * @return Random entry, or {@code null} if cache is empty.
  */
+@Deprecated
 public Entry randomEntry();
 
 /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/3de9d47a/modules/core/src/main/java/org/apache/ignite/cache/eviction/random/RandomEvictionPolicy.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cache/eviction/random/RandomEvictionPolicy.java
 
b/modules/core/src/main/java/org/apache/ignite/cache/eviction/random/RandomEvictionPolicy.java
index bf04d92..f77551d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/cache/eviction/random/RandomEvictionPolicy.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/cache/eviction/random/RandomEvictionPolicy.java
@@ -39,7 +39,11 @@ import static 
org.apache.ignite.configuration.CacheConfiguration.DFLT_CACHE_SIZE
  * 
  * Random eviction will provide the best performance over any key queue in 
which every
  * key has the same probability of being accessed.
+ *
+ * @deprecated This eviction policy implementation doesn't support near cache
+ * and doesn't work on client nodes. Also it seems that random eviction 
doesn't make sense.
  */
+@Deprecated
 public class RandomEvictionPolicy implements EvictionPolicy, 
RandomEvictionPolicyMBean, Externalizable {
 /** */
 private static final long serialVersionUID = 0L;

http://git-wip-us.apache.org/repos/asf/ignite/blob/3de9d47a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 74951b5..419ccec 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -99,7 +99,6 @@ import 
org.apache.ignite.internal.processors.task.GridInternal;
 import 
org.apache.ignite.internal.transactions.IgniteTxHeuristicCheckedException;
 import 
org.apache.ignite.internal.transactions.IgniteTxRollbackCheckedException;
 import org.apache.ignite.internal.util.F0;
-import org.apache.ignite.internal.util.GridConcurrentHashSet;
 import org.apache.ignite.internal.util.GridLeanMap;
 import org.apache.ignite.internal.util.future.GridEmbeddedFuture;
 import org.apache.ignite.internal.util.future.GridFinishedFuture;
@@ -122,7 +121,6 @@ import org.apache.ignite.internal.util.typedef.internal.CU;
 import org.apache.ignite.internal.util.typedef.internal.GPC;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.lang.IgniteBiInClosure;
 import org.apache.ignite.lang.IgniteBiPredicate;
 import org.apache.ignite.lang.IgniteBiTuple;
 import org.apache.ignite.lang.IgniteCallable;
@@ -3526,10 +3524,26 @@ public abstract class GridCacheAdapter implements 

[1/3] ignite git commit: Ignite-1093 Backward compatibility fix.

2015-11-09 Thread ntikhonov
Repository: ignite
Updated Branches:
  refs/heads/ignite-426-2 e90fc9f22 -> b749b3d7a


Ignite-1093 Backward compatibility fix.


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

Branch: refs/heads/ignite-426-2
Commit: ee5a50f4b3124219f3fe2700cccaf64c6d031eb1
Parents: efc79fb
Author: Anton Vinogradov 
Authored: Mon Nov 9 18:11:43 2015 +0300
Committer: Anton Vinogradov 
Committed: Mon Nov 9 18:11:43 2015 +0300

--
 .../cache/distributed/dht/preloader/GridDhtPreloader.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/ee5a50f4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
index c634ff5..8e56c2d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
@@ -207,7 +207,7 @@ public class GridDhtPreloader extends 
GridCachePreloaderAdapter {
 });
 
 supplier = new GridDhtPartitionSupplier(cctx);
-demander = new GridDhtPartitionDemander(cctx, busyLock);
+demander = new GridDhtPartitionDemander(cctx, demandLock);
 
 supplier.start();
 demander.start();



[3/3] ignite git commit: IGNITE-462 Fixed tests.

2015-11-09 Thread ntikhonov
IGNITE-462 Fixed tests.


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

Branch: refs/heads/ignite-426-2
Commit: b749b3d7a8359ede13650a359b4cb969304f6e2a
Parents: aa22202
Author: Tikhonov Nikolay 
Authored: Mon Nov 9 20:52:28 2015 +0300
Committer: Tikhonov Nikolay 
Committed: Mon Nov 9 20:52:28 2015 +0300

--
 .../cache/distributed/dht/GridDhtPartitionTopologyImpl.java | 2 +-
 .../CacheContinuousQueryFailoverAbstractSelfTest.java   | 9 -
 .../GridCacheContinuousQueryAbstractSelfTest.java   | 6 --
 3 files changed, 1 insertion(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/b749b3d7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
index b835df2..39c55db 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
@@ -1355,7 +1355,7 @@ class GridDhtPartitionTopologyImpl implements 
GridDhtPartitionTopology {
 List affNodes = cctx.affinity().nodes(i, topVer);
 
 // Topology doesn't contain server nodes (just clients).
-if (affNodes.isEmpty())
+if (affNodes.isEmpty() || (node2part != null && 
!node2part.valid()))
 continue;
 
 List owners = owners(i);

http://git-wip-us.apache.org/repos/asf/ignite/blob/b749b3d7/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java
index e82c673..b311272 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java
@@ -271,15 +271,6 @@ public abstract class 
CacheContinuousQueryFailoverAbstractSelfTest extends GridC
 waitRebalanceFinished(ignite0, 5);
 waitRebalanceFinished(ignite2, 5);
 waitRebalanceFinished(ignite3, 5);
-
-stopGrid(3);
-
-assertTrue(top0.rebalanceFinished(new AffinityTopologyVersion(6)));
-assertTrue(top2.rebalanceFinished(new AffinityTopologyVersion(6)));
-
-stopGrid(0);
-
-waitRebalanceFinished(ignite2, 7);
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/b749b3d7/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
index 251cbe2..f7a080a 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
@@ -193,12 +193,6 @@ public abstract class 
GridCacheContinuousQueryAbstractSelfTest extends GridCommo
 }
 }
 
-for (int i = 0; i < gridCount(); i++)
-assertEquals("Cache is not empty [entrySet=" + 
grid(i).cache(null).localEntries() +
-", i=" + i + ']',
-0, grid(i).cache(null).localSize());
-
-
 for (int i = 0; i < gridCount(); i++) {
 GridContinuousProcessor proc = grid(i).context().continuous();
 



[2/3] ignite git commit: Merge branch 'master' into ignite-426-2

2015-11-09 Thread ntikhonov
Merge branch 'master' into ignite-426-2


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

Branch: refs/heads/ignite-426-2
Commit: aa2220251fc4f03e1d79af8f002785a992eb1c86
Parents: e90fc9f ee5a50f
Author: Tikhonov Nikolay 
Authored: Mon Nov 9 20:05:56 2015 +0300
Committer: Tikhonov Nikolay 
Committed: Mon Nov 9 20:05:56 2015 +0300

--
 .../cache/distributed/dht/preloader/GridDhtPreloader.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[1/2] ignite git commit: Ignite-1093 Backward compatibility failover.

2015-11-09 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-1.5 4ab2bd325 -> 5e36b267e


Ignite-1093 Backward compatibility failover.


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

Branch: refs/heads/ignite-1.5
Commit: 6ea3b5cbcdfb97ca07e290924068f692a52679fd
Parents: 4ab2bd3
Author: Anton Vinogradov 
Authored: Mon Nov 9 15:09:36 2015 +0300
Committer: Anton Vinogradov 
Committed: Mon Nov 9 19:04:52 2015 +0300

--
 .../distributed/dht/preloader/GridDhtPartitionDemander.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/6ea3b5cb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
index 35cedf9..29ca5f4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
@@ -1191,7 +1191,7 @@ public class GridDhtPartitionDemander {
 
 // While.
 // =
-while (!topologyChanged(fut)) {
+while (!fut.isDone() && !topologyChanged(fut)) {
 SupplyMessage s = poll(msgQ, timeout);
 
 // If timed out.
@@ -1350,7 +1350,7 @@ public class GridDhtPartitionDemander {
 }
 }
 }
-while (retry && !topologyChanged(fut));
+while (retry && !fut.isDone() && !topologyChanged(fut));
 }
 finally {
 cctx.io().removeOrderedHandler(d.topic());



[2/2] ignite git commit: Ignite-1093 Backward compatibility fix.

2015-11-09 Thread sboikov
Ignite-1093 Backward compatibility fix.


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

Branch: refs/heads/ignite-1.5
Commit: 5e36b267ef65b5ee804d78d73f874c685692e3d9
Parents: 6ea3b5c
Author: Anton Vinogradov 
Authored: Mon Nov 9 18:11:43 2015 +0300
Committer: Anton Vinogradov 
Committed: Mon Nov 9 19:05:06 2015 +0300

--
 .../cache/distributed/dht/preloader/GridDhtPreloader.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/5e36b267/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
index c634ff5..8e56c2d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
@@ -207,7 +207,7 @@ public class GridDhtPreloader extends 
GridCachePreloaderAdapter {
 });
 
 supplier = new GridDhtPartitionSupplier(cctx);
-demander = new GridDhtPartitionDemander(cctx, busyLock);
+demander = new GridDhtPartitionDemander(cctx, demandLock);
 
 supplier.start();
 demander.start();



ignite git commit: Ignite-1093 Backward compatibility fix.

2015-11-09 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/master efc79fbe1 -> ee5a50f4b


Ignite-1093 Backward compatibility fix.


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

Branch: refs/heads/master
Commit: ee5a50f4b3124219f3fe2700cccaf64c6d031eb1
Parents: efc79fb
Author: Anton Vinogradov 
Authored: Mon Nov 9 18:11:43 2015 +0300
Committer: Anton Vinogradov 
Committed: Mon Nov 9 18:11:43 2015 +0300

--
 .../cache/distributed/dht/preloader/GridDhtPreloader.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/ee5a50f4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
index c634ff5..8e56c2d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
@@ -207,7 +207,7 @@ public class GridDhtPreloader extends 
GridCachePreloaderAdapter {
 });
 
 supplier = new GridDhtPartitionSupplier(cctx);
-demander = new GridDhtPartitionDemander(cctx, busyLock);
+demander = new GridDhtPartitionDemander(cctx, demandLock);
 
 supplier.start();
 demander.start();



ignite git commit: IGNITE-1753 Minor.

2015-11-09 Thread akuznetsov
Repository: ignite
Updated Branches:
  refs/heads/ignite-1753-1282 e6f04883d -> 5626dfb43


IGNITE-1753 Minor.


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

Branch: refs/heads/ignite-1753-1282
Commit: 5626dfb43a74196c28d8214f638af561121ac111
Parents: e6f0488
Author: Alexey Kuznetsov 
Authored: Tue Nov 10 13:42:58 2015 +0700
Committer: Alexey Kuznetsov 
Committed: Tue Nov 10 13:42:58 2015 +0700

--
 .../cache/store/jdbc/CacheAbstractJdbcStore.java  | 14 +-
 1 file changed, 5 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/5626dfb4/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
 
b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
index c28a5cd..ae39c24 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
@@ -105,16 +105,12 @@ import static 
org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.DFLT_
  * Java Example
  * 
  *...
- *// Create store configuration:
- *CacheJdbcPojoStoreConfiguration storeCfg = new 
CacheJdbcPojoStoreConfiguration();
- *storeCfg.setDataSourceBean("your_data_source_name");
- *storeCfg.setDialect(new H2Dialect());
- *storeCfg.setTypes(array_with_your_types);
- *...
  *// Create store factory.
  *CacheJdbcPojoStoreFactory storeFactory = new CacheJdbcPojoStoreFactory();
- *storeFactory.setConfiguration(storeCfg);
- *
+ *storeFactory.setDataSourceBean("your_data_source_name");
+ *storeFactory.setDialect(new H2Dialect());
+ *storeFactory.setTypes(array_with_your_types);
+ *...
  *ccfg.setCacheStoreFactory(storeFactory);
  *ccfg.setReadThrough(true);
  *ccfg.setWriteThrough(true);
@@ -166,7 +162,7 @@ public abstract class CacheAbstractJdbcStore 
implements CacheStore,
 /** Data source. */
 protected DataSource dataSrc;
 
-/** Cache with entry mapping description. (cache name, (keyID, mapping 
description)). */
+/** Cache with entry mapping description. (cache name, (key id, mapping 
description)). */
 protected volatile Map> cacheMappings = 
Collections.emptyMap();
 
 /** Map for quick check whether type is Built in, POJO or Binary. */



ignite git commit: ignite-1758 debug

2015-11-09 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-1758 a818fe7f6 -> f7e040edb


ignite-1758 debug


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

Branch: refs/heads/ignite-1758
Commit: f7e040edb2dc307ac373b37d042e9d378884109a
Parents: a818fe7
Author: sboikov 
Authored: Tue Nov 10 09:31:56 2015 +0300
Committer: sboikov 
Committed: Tue Nov 10 09:31:56 2015 +0300

--
 .../ignite/testframework/junits/GridAbstractTest.java  | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/f7e040ed/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
index d133a84..6dc88e0 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
@@ -1119,14 +1119,15 @@ public abstract class GridAbstractTest extends TestCase 
{
 if (gridName != null && gridName.matches(".*\\d")) {
 String idStr = UUID.randomUUID().toString();
 
-char[] chars = idStr.toCharArray();
+String idxStr = String.valueOf(getTestGridIndex(gridName));
+
+while (idxStr.length() < 5)
+idxStr = '0' + idxStr;
 
-chars[0] = gridName.charAt(gridName.length() - 1);
-chars[1] = '0';
+char[] chars = idStr.toCharArray();
 
-chars[chars.length - 3] = '0';
-chars[chars.length - 2] = '0';
-chars[chars.length - 1] = gridName.charAt(gridName.length() - 1);
+for (int i = 0; i < idxStr.length(); i++)
+chars[chars.length - idxStr.length() + i] = idxStr.charAt(i);
 
 cfg.setNodeId(UUID.fromString(new String(chars)));
 }



[3/7] ignite git commit: IGNITE-1857 Generate configuration zip on client side.

2015-11-09 Thread anovikov
http://git-wip-us.apache.org/repos/asf/ignite/blob/ce945056/modules/control-center-web/src/main/js/public/js/jszip.min.js
--
diff --git a/modules/control-center-web/src/main/js/public/js/jszip.min.js 
b/modules/control-center-web/src/main/js/public/js/jszip.min.js
new file mode 100644
index 000..bbf06cb
--- /dev/null
+++ b/modules/control-center-web/src/main/js/public/js/jszip.min.js
@@ -0,0 +1,14 @@
+/*!
+
+ JSZip - A Javascript class for generating and reading zip files
+ 
+
+ (c) 2009-2014 Stuart Knightley 
+ Dual licenced under the MIT license or GPLv3. See 
https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.
+
+ JSZip uses the library pako released under the MIT license :
+ https://github.com/nodeca/pako/blob/master/LICENSE
+ */
+!function(a){if("object"==typeof exports&&"undefined"!=typeof 
module)module.exports=a();else if("function"==typeof 
define&)define([],a);else{var b;"undefined"!=typeof 
window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof 
self&&(b=self),b.JSZip=a()}}(function(){return function a(b,c,d){function 
e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof 
require&if(!h&)return i(g,!0);if(f)return f(g,!0);throw new 
Error("Cannot find module '"+g+"'")}var 
j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return 
e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof 
require&,g=0;g>2,g=(3)<<4|c>>4,h=(15)<<2|e>>6,i=63,isNaN(c)?h=i=64:isN
 aN(e)&&(i=64),j=j+d.charAt(f)+d.charAt(g)+d.charAt(h)+d.charAt(i);return 
j},c.decode=function(a){var 
b,c,e,f,g,h,i,j="",k=0;for(a=a.replace(/[^A-Za-z0-9\+\/\=]/g,"");k>4,c=(15)<<4|h>>2,e=(3)<<6|i,j+=String.fromCharCode(b),64!=h&&(j+=String.fromCharCode(c)),64!=i&&(j+=String.fromCharCode(e));return
 j}},{}],2:[function(a,b){"use strict";function 
c(){this.compressedSize=0,this.uncompressedSize=0,this.crc32=0,this.compressionMethod=null,this.compressedContent=null}c.prototype={getContent:function(){return
 null},getCompressedContent:function(){return 
null}},b.exports=c},{}],3:[function(a,b,c){"use 
strict";c.STORE={magic:"\x00\x00",compress:function(a){return 
a},uncompress:function(a){return 
a},compressInputType:null,uncompressInputType:null},c.DEFLATE=a("./flate")},{"./flate":8}],4:[function(a,b){"use
 strict";var c=a("./utils"),d=[0,1996959894,3993919788,256
 
7524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,
 
1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,42655,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,32689355
 

[4/7] ignite git commit: IGNITE-1857 Generate configuration zip on client side.

2015-11-09 Thread anovikov
http://git-wip-us.apache.org/repos/asf/ignite/blob/ce945056/modules/control-center-web/src/main/js/helpers/generator/generator-xml.js
--
diff --git 
a/modules/control-center-web/src/main/js/helpers/generator/generator-xml.js 
b/modules/control-center-web/src/main/js/helpers/generator/generator-xml.js
new file mode 100644
index 000..9f7683a
--- /dev/null
+++ b/modules/control-center-web/src/main/js/helpers/generator/generator-xml.js
@@ -0,0 +1,1479 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// XML generation entry point.
+$generatorXml = {};
+
+// Do XML escape.
+$generatorXml.escape = function (s) {
+if (typeof(s) != 'string')
+return s;
+
+return s.replace(/&/g, '').replace(//g, 
'').replace(/"/g, '');
+};
+
+// Add XML element.
+$generatorXml.element = function (res, tag, attr1, val1, attr2, val2) {
+var elem = '<' + tag;
+
+if (attr1)
+elem += ' ' + attr1 + '="' + val1 + '"';
+
+if (attr2)
+elem += ' ' + attr2 + '="' + val2 + '"';
+
+elem += '/>';
+
+res.emptyLineIfNeeded();
+res.line(elem);
+};
+
+// Add property.
+$generatorXml.property = function (res, obj, propName, setterName, dflt) {
+if ($commonUtils.isDefined(obj)) {
+var val = obj[propName];
+
+if ($commonUtils.isDefinedAndNotEmpty(val)) {
+var hasDflt = $commonUtils.isDefined(dflt);
+
+// Add to result if no default provided or value not equals to 
default.
+if (!hasDflt || (hasDflt && val != dflt)) {
+$generatorXml.element(res, 'property', 'name', setterName ? 
setterName : propName, 'value', $generatorXml.escape(val));
+
+return true;
+}
+}
+}
+
+return false;
+};
+
+// Add property for class name.
+$generatorXml.classNameProperty = function (res, obj, propName) {
+var val = obj[propName];
+
+if ($commonUtils.isDefined(val))
+$generatorXml.element(res, 'property', 'name', propName, 'value', 
$dataStructures.fullClassName(val));
+};
+
+// Add list property.
+$generatorXml.listProperty = function (res, obj, propName, listType, 
rowFactory) {
+var val = obj[propName];
+
+if (val && val.length > 0) {
+res.emptyLineIfNeeded();
+
+if (!listType)
+listType = 'list';
+
+if (!rowFactory)
+rowFactory = function (val) {
+return '' + $generatorXml.escape(val) + ''
+};
+
+res.startBlock('');
+res.startBlock('<' + listType + '>');
+
+_.forEach(val, function(v) {
+res.line(rowFactory(v));
+});
+
+res.endBlock('');
+res.endBlock('');
+
+res.needEmptyLine = true;
+}
+};
+
+// Add array property
+$generatorXml.arrayProperty = function (res, obj, propName, descr, rowFactory) 
{
+var val = obj[propName];
+
+if (val && val.length > 0) {
+res.emptyLineIfNeeded();
+
+if (!rowFactory)
+rowFactory = function (val) {
+return '';
+};
+
+res.startBlock('');
+res.startBlock('');
+
+_.forEach(val, function (v) {
+res.append(rowFactory(v))
+});
+
+res.endBlock('');
+res.endBlock('');
+}
+};
+
+// Add bean property.
+$generatorXml.beanProperty = function (res, bean, beanPropName, desc, 
createBeanAlthoughNoProps) {
+var props = desc.fields;
+
+if (bean && $commonUtils.hasProperty(bean, props)) {
+res.startSafeBlock();
+
+res.emptyLineIfNeeded();
+res.startBlock('');
+res.startBlock('');
+
+var hasData = false;
+
+_.forIn(props, function(descr, propName) {
+if (props.hasOwnProperty(propName)) {
+if (descr) {
+switch (descr.type) {
+case 'list':
+$generatorXml.listProperty(res, bean, propName, 
descr.setterName);
+
+break;
+
+case 'array':
+$generatorXml.arrayProperty(res, bean, propName, 
descr);
+
+break;
+
+ 

[6/7] ignite git commit: IGNITE-1857 Generate configuration zip on client side.

2015-11-09 Thread anovikov
IGNITE-1857 Generate configuration zip on client side.


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

Branch: refs/heads/ignite-843-rc1
Commit: ce9450565e93c197e81d0993c3aec3b20a8263a4
Parents: 0a76801
Author: Andrey 
Authored: Tue Nov 10 13:52:00 2015 +0700
Committer: Andrey 
Committed: Tue Nov 10 13:52:00 2015 +0700

--
 .../main/js/controllers/summary-controller.js   |   55 +-
 .../src/main/js/helpers/data-structures.js  |   10 -
 .../js/helpers/generator/generator-common.js|  423 
 .../js/helpers/generator/generator-docker.js|   53 +
 .../main/js/helpers/generator/generator-java.js | 1941 +
 .../main/js/helpers/generator/generator-pom.js  |  145 ++
 .../helpers/generator/generator-properties.js   |   99 +
 .../js/helpers/generator/generator-readme.js|   65 +
 .../main/js/helpers/generator/generator-xml.js  | 1479 +
 .../src/main/js/public/js/Blob.js   |  211 ++
 .../src/main/js/public/js/FileSaver.min.js  |2 +
 .../src/main/js/public/js/jszip.min.js  |   14 +
 .../js/routes/generator/generator-common.js |  436 
 .../js/routes/generator/generator-docker.js |   58 -
 .../main/js/routes/generator/generator-java.js  | 1956 --
 .../main/js/routes/generator/generator-pom.js   |  157 --
 .../js/routes/generator/generator-properties.js |  111 -
 .../js/routes/generator/generator-readme.js |   60 -
 .../main/js/routes/generator/generator-xml.js   | 1493 -
 .../src/main/js/routes/metadata.js  |1 +
 .../src/main/js/routes/summary.js   |   67 -
 .../main/js/views/configuration/sidebar.jade|6 +-
 .../main/js/views/configuration/summary.jade|   17 +-
 23 files changed, 4494 insertions(+), 4365 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/ce945056/modules/control-center-web/src/main/js/controllers/summary-controller.js
--
diff --git 
a/modules/control-center-web/src/main/js/controllers/summary-controller.js 
b/modules/control-center-web/src/main/js/controllers/summary-controller.js
index ee3b44a..f443ac0 100644
--- a/modules/control-center-web/src/main/js/controllers/summary-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/summary-controller.js
@@ -116,17 +116,17 @@ consoleModule.controller('summaryController', [
 var curServCls = $scope.configServer.pojoClass;
 var curCliCls = $scope.configClient.pojoClass;
 
-$generatorJava.pojos($scope.selectedItem.caches, 
$scope.configServer.useConstructor, $scope.configServer.includeKeyFields);
+var metadatas = $generatorJava.pojos($scope.selectedItem.caches, 
$scope.configServer.useConstructor, $scope.configServer.includeKeyFields);
 
 function restoreSelected(selected, config, tabs) {
-if (!$common.isDefined(selected) || 
_.findIndex($generatorJava.metadatas, function (meta) {
+if (!$common.isDefined(selected) || _.findIndex(metadatas, 
function (meta) {
 return meta.keyType == selected || meta.valueType == 
selected;
 }) < 0) {
-if ($generatorJava.metadatas.length > 0) {
-if 
($common.isDefined($generatorJava.metadatas[0].keyType))
-config.pojoClass = 
$generatorJava.metadatas[0].keyType;
+if (metadatas.length > 0) {
+if ($common.isDefined(metadatas[0].keyType))
+config.pojoClass = metadatas[0].keyType;
 else
-config.pojoClass = 
$generatorJava.metadatas[0].valueType;
+config.pojoClass = metadatas[0].valueType;
 }
 else {
 config.pojoClass = undefined;
@@ -193,6 +193,49 @@ consoleModule.controller('summaryController', [
 return $common.isDefined($generatorJava.metadatas) && 
$generatorJava.metadatas.length > 0;
 };
 
+$scope.downloadConfiguration = function () {
+var cluster = $scope.selectedItem;
+var clientNearConfiguration = $scope.backupItem.nearConfiguration;
+
+var zip = new JSZip();
+
+zip.file('Dockerfile', $scope.dockerServer);
+
+var builder = $generatorProperties.sslProperties(cluster);
+
+builder = $generatorProperties.dataSourcesProperties(cluster, builder);
+
+if (builder)
+

[5/7] ignite git commit: IGNITE-1857 Generate configuration zip on client side.

2015-11-09 Thread anovikov
http://git-wip-us.apache.org/repos/asf/ignite/blob/ce945056/modules/control-center-web/src/main/js/helpers/generator/generator-java.js
--
diff --git 
a/modules/control-center-web/src/main/js/helpers/generator/generator-java.js 
b/modules/control-center-web/src/main/js/helpers/generator/generator-java.js
new file mode 100644
index 000..cda5db7
--- /dev/null
+++ b/modules/control-center-web/src/main/js/helpers/generator/generator-java.js
@@ -0,0 +1,1941 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Java generation entry point.
+$generatorJava = {};
+
+/**
+ * Translate some value to valid java code.
+ *
+ * @param val Value to convert.
+ * @param type Value type.
+ * @returns {*} String with value that will be valid for java.
+ */
+$generatorJava.toJavaCode = function (val, type) {
+if (val == null)
+return 'null';
+
+if (type == 'raw')
+return val;
+
+if (type == 'class')
+return val + '.class';
+
+if (type == 'float')
+return val + 'f';
+
+if (type == 'path')
+return '"' + val.replace(/\\/g, '') + '"';
+
+if (type)
+return type + '.' + val;
+
+if (typeof(val) == 'string')
+return '"' + val.replace('"', '\\"') + '"';
+
+if (typeof(val) == 'number' || typeof(val) == 'boolean')
+return '' + val;
+
+throw "Unknown type: " + typeof(val) + ' (' + val + ')';
+};
+
+/**
+ * @param propName Property name.
+ * @param setterName Optional concrete setter name.
+ * @returns Property setter with name by java conventions.
+ */
+$generatorJava.setterName = function (propName, setterName) {
+return setterName ? setterName : $commonUtils.toJavaName('set', propName);
+};
+
+/**
+ * Add variable declaration.
+ *
+ * @param res Resulting output with generated code.
+ * @param varName Variable name.
+ * @param varFullType Variable full class name to be added to imports.
+ * @param varFullActualType Variable actual full class name to be added to 
imports.
+ * @param varFullGenericType1 Optional full class name of first generic.
+ * @param varFullGenericType2 Optional full class name of second generic.
+ */
+$generatorJava.declareVariable = function (res, varName, varFullType, 
varFullActualType, varFullGenericType1, varFullGenericType2) {
+res.emptyLineIfNeeded();
+
+var varType = res.importClass(varFullType);
+
+var varNew = !res.vars[varName];
+
+if (varNew)
+res.vars[varName] = true;
+
+if (varFullActualType && varFullGenericType1) {
+var varActualType = res.importClass(varFullActualType);
+var varGenericType1 = res.importClass(varFullGenericType1);
+
+if (varFullGenericType2)
+var varGenericType2 = res.importClass(varFullGenericType2);
+
+res.line((varNew ? (varType + '<' + varGenericType1 + (varGenericType2 
? ', ' + varGenericType2 : '') + '> ') : '') + varName + ' = new ' + 
varActualType + '<>();');
+}
+else
+res.line((varNew ? (varType + ' ') : '') + varName + ' = new ' + 
varType + '();');
+
+res.needEmptyLine = true;
+};
+
+/**
+ * Add property via setter / property name.
+ *
+ * @param res Resulting output with generated code.
+ * @param varName Variable name.
+ * @param obj Source object with data.
+ * @param propName Property name to take from source object.
+ * @param dataType Optional info about property data type.
+ * @param setterName Optional special setter name.
+ * @param dflt Optional default value.
+ */
+$generatorJava.property = function (res, varName, obj, propName, dataType, 
setterName, dflt) {
+var val = obj[propName];
+
+if ($commonUtils.isDefinedAndNotEmpty(val)) {
+var hasDflt = $commonUtils.isDefined(dflt);
+
+// Add to result if no default provided or value not equals to default.
+if (!hasDflt || (hasDflt && val != dflt)) {
+res.emptyLineIfNeeded();
+
+res.line(varName + '.' + $generatorJava.setterName(propName, 
setterName)
++ '(' + $generatorJava.toJavaCode(val, dataType) + ');');
+
+return true;
+}
+}
+
+return false;
+};
+
+/**
+ * Add property via setter 

[1/7] ignite git commit: IGNITE-1857 Generate configuration zip on client side.

2015-11-09 Thread anovikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-843-rc1 0a76801ce -> 2dc76991a


http://git-wip-us.apache.org/repos/asf/ignite/blob/ce945056/modules/control-center-web/src/main/js/routes/generator/generator-pom.js
--
diff --git 
a/modules/control-center-web/src/main/js/routes/generator/generator-pom.js 
b/modules/control-center-web/src/main/js/routes/generator/generator-pom.js
deleted file mode 100644
index b7bd05e..000
--- a/modules/control-center-web/src/main/js/routes/generator/generator-pom.js
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// For server side we should load required libraries.
-if (typeof window === 'undefined') {
-_ = require('lodash');
-
-$generatorCommon = require('./generator-common');
-}
-
-// pom.xml generation entry point.
-$generatorPom = {};
-
-/**
- * Generate pom.xml.
- *
- * @param caches Collection of caches to take info about used JDBC dialects.
- * @param igniteVersion Ignite version for Ignite dependencies.
- * @param res Resulting output with generated pom.
- * @returns {string} Generated content.
- */
-$generatorPom.pom = function (caches, igniteVersion, res) {
-if (!res)
-res = $generatorCommon.builder();
-
-var dialect = {};
-
-_.forEach(caches, function (cache) {
-if (cache.cacheStoreFactory && cache.cacheStoreFactory.kind == 
'CacheJdbcPojoStoreFactory') {
-if (cache.cacheStoreFactory.CacheJdbcPojoStoreFactory) {
-
dialect[cache.cacheStoreFactory.CacheJdbcPojoStoreFactory.dialect] = true;
-}
-}
-});
-
-function addProperty(tag, val) {
-res.line('<' + tag + '>' + val + '');
-}
-
-function addDependency(groupId, artifactId, version, jar) {
-res.startBlock('');
-addProperty('groupId', groupId);
-addProperty('artifactId', artifactId);
-addProperty('version', version);
-
-if (jar) {
-addProperty('scope', 'system');
-addProperty('systemPath', '${project.basedir}/jdbc-drivers/' + 
jar);
-}
-
-res.endBlock('');
-}
-
-function addResource(dir, exclude) {
-res.startBlock('');
-if (dir)
-addProperty('directory', dir);
-
-if (exclude) {
-res.startBlock('');
-addProperty('exclude', exclude);
-res.endBlock('');
-}
-
-res.endBlock('');
-}
-
-res.line('');
-
-res.needEmptyLine = true;
-
-res.line('');
-
-res.needEmptyLine = true;
-
-res.startBlock('http://maven.apache.org/POM/4.0.0; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd;>');
-
-res.line('4.0.0');
-
-res.needEmptyLine = true;
-
-addProperty('groupId', 'org.apache.ignite');
-addProperty('artifactId', 'ignite-generated-model');
-addProperty('version', igniteVersion);
-
-res.needEmptyLine = true;
-
-res.startBlock('');
-
-addDependency('org.apache.ignite', 'ignite-core', igniteVersion);
-addDependency('org.apache.ignite', 'ignite-spring', igniteVersion);
-addDependency('org.apache.ignite', 'ignite-indexing', igniteVersion);
-addDependency('org.apache.ignite', 'ignite-rest-http', igniteVersion);
-
-if (dialect.MySQL)
-addDependency('mysql', 'mysql-connector-java', '5.1.37');
-
-if (dialect.PosgreSQL)
-addDependency('org.postgresql', 'postgresql', '9.4-1204-jdbc42');
-
-if (dialect.H2)
-addDependency('com.h2database', 'h2', '1.3.175');
-
-if (dialect.Oracle)
-addDependency('oracle', 'jdbc', '11.2', 'ojdbc6.jar');
-
-if (dialect.DB2)
-addDependency('ibm', 'jdbc', '4.19.26', 'db2jcc4.jar');
-
-if (dialect.SQLServer)
-addDependency('microsoft', 'jdbc', '4.1', 'sqljdbc41.jar');
-
-res.endBlock('');
-
-res.needEmptyLine = true;
-
-res.startBlock('');
-res.startBlock('');
-addResource('src/main/java', '**/*.java');
-addResource('src/main/resources');
-res.endBlock('');
-
-res.startBlock('');
-

[27/34] ignite git commit: Performance optimizations.

2015-11-09 Thread sboikov
http://git-wip-us.apache.org/repos/asf/ignite/blob/a4848a70/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
index 1c82636..eb2ca2c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
@@ -24,16 +24,14 @@ import java.io.ObjectOutput;
 import java.io.ObjectStreamException;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
-import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicReference;
-import java.util.concurrent.locks.Condition;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
 import javax.cache.expiry.ExpiryPolicy;
 import javax.cache.processor.EntryProcessor;
 import org.apache.ignite.IgniteCheckedException;
@@ -47,7 +45,6 @@ import 
org.apache.ignite.internal.processors.cache.CacheObject;
 import org.apache.ignite.internal.processors.cache.GridCacheContext;
 import org.apache.ignite.internal.processors.cache.GridCacheEntryEx;
 import 
org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException;
-import 
org.apache.ignite.internal.processors.cache.GridCacheFilterFailedException;
 import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate;
 import org.apache.ignite.internal.processors.cache.GridCacheOperation;
 import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
@@ -59,7 +56,6 @@ import 
org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
 import 
org.apache.ignite.internal.processors.cache.version.GridCacheVersionConflictContext;
 import 
org.apache.ignite.internal.processors.cache.version.GridCacheVersionedEntryEx;
 import org.apache.ignite.internal.transactions.IgniteTxTimeoutCheckedException;
-import org.apache.ignite.internal.util.GridLeanSet;
 import org.apache.ignite.internal.util.future.GridFutureAdapter;
 import org.apache.ignite.internal.util.lang.GridMetadataAwareAdapter;
 import org.apache.ignite.internal.util.lang.GridTuple;
@@ -199,20 +195,20 @@ public abstract class IgniteTxAdapter extends 
GridMetadataAwareAdapter
 protected boolean transform;
 
 /** Commit version. */
-private AtomicReference commitVer = new 
AtomicReference<>(null);
-
-/** Done marker. */
-protected final AtomicBoolean isDone = new AtomicBoolean(false);
+private volatile GridCacheVersion commitVer;
 
 /** */
 private AtomicReference finalizing = new 
AtomicReference<>(FinalizationStatus.NONE);
 
-/** Preparing flag. */
-private AtomicBoolean preparing = new AtomicBoolean();
+/** Done marker. */
+protected volatile boolean isDone;
+
+/** Preparing flag (no need for volatile modifier). */
+private boolean preparing;
 
 /** */
 @GridToStringInclude
-private Map invalidParts = new HashMap<>(3);
+private Map invalidParts;
 
 /**
  * Transaction state. Note that state is not protected, as we want to
@@ -230,17 +226,11 @@ public abstract class IgniteTxAdapter extends 
GridMetadataAwareAdapter
 
 /** */
 @GridToStringExclude
-private AtomicReference finFut = new 
AtomicReference<>();
+private volatile GridFutureAdapter finFut;
 
 /** Topology version. */
 @GridToStringInclude
-protected AtomicReference topVer = new 
AtomicReference<>(AffinityTopologyVersion.NONE);
-
-/** Mutex. */
-private final Lock lock = new ReentrantLock();
-
-/** Lock condition. */
-private final Condition cond = lock.newCondition();
+protected volatile AffinityTopologyVersion topVer = 
AffinityTopologyVersion.NONE;
 
 /** */
 protected Map txNodes;
@@ -387,37 +377,6 @@ public abstract class IgniteTxAdapter extends 
GridMetadataAwareAdapter
 }
 
 /**
- * Acquires lock.
- */
-@SuppressWarnings({"LockAcquiredButNotSafelyReleased"})
-protected final void lock() {
-lock.lock();
-}
-
-/**
- * Releases lock.
- */
-protected final void unlock() {
-lock.unlock();
-}
-
-/**
- * Signals all waiters.
- */
-protected final void signalAll() {
-cond.signalAll();
-}
-
-/**
- * Waits for signal.
- *
- * @throws InterruptedException If interrupted.
- */
-protected final void awaitSignal() throws 

[08/34] ignite git commit: ignite-1843 Avoid discovery thread blocking in GridJobProcessor.

2015-11-09 Thread sboikov
ignite-1843 Avoid discovery thread blocking in GridJobProcessor.


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

Branch: refs/heads/ignite-1758
Commit: 0354db124cbfa356d7b27556cbc53978a322f471
Parents: 2501c3a
Author: sboikov 
Authored: Wed Nov 4 12:52:20 2015 +0300
Committer: sboikov 
Committed: Wed Nov 4 12:52:20 2015 +0300

--
 .../apache/ignite/internal/IgniteKernal.java|  1 +
 .../affinity/GridAffinityAssignmentCache.java   | 13 +++
 .../cache/GridCacheAffinityManager.java | 10 ++
 .../GridCachePartitionExchangeManager.java  | 24 +
 .../processors/cache/GridCachePreloader.java|  5 +
 .../cache/GridCachePreloaderAdapter.java|  5 +
 .../dht/preloader/GridDhtForceKeysFuture.java   | 14 +++
 .../dht/preloader/GridDhtPreloader.java | 37 
 .../processors/job/GridJobProcessor.java| 96 +---
 .../GridTaskFailoverAffinityRunTest.java|  3 +
 ...niteCacheClientNodeChangingTopologyTest.java |  4 +-
 11 files changed, 158 insertions(+), 54 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/0354db12/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 5a0fe16..f75f118 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -3168,6 +3168,7 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 U.warn(log, "Dumping debug info for node [id=" + locNode.id() +
 ", name=" + ctx.gridName() +
 ", order=" + locNode.order() +
+", topVer=" + ctx.discovery().topologyVersion() +
 ", client=" + client +
 (client && routerId != null ? ", routerId=" + routerId : "") + 
']');
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/0354db12/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
index 18776a4..8bc40cd 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
@@ -41,6 +41,7 @@ import 
org.apache.ignite.internal.processors.cache.GridCacheDefaultAffinityKeyMa
 import org.apache.ignite.internal.processors.cache.GridCacheInternal;
 import org.apache.ignite.internal.util.future.GridFutureAdapter;
 import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.U;
 import org.jetbrains.annotations.Nullable;
 import org.jsr166.ConcurrentHashMap8;
 import org.jsr166.ConcurrentLinkedHashMap;
@@ -409,6 +410,18 @@ public class GridAffinityAssignmentCache {
 }
 
 /**
+ * Dumps debug information.
+ */
+public void dumpDebugInfo() {
+if (!readyFuts.isEmpty()) {
+U.warn(log, "Pending affinity ready futures [cache=" + cacheName + 
"]:");
+
+for (AffinityReadyFuture fut : readyFuts.values())
+U.warn(log, ">>> " + fut);
+}
+}
+
+/**
  * Get cached affinity for specified topology version.
  *
  * @param topVer Topology version.

http://git-wip-us.apache.org/repos/asf/ignite/blob/0354db12/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
index 5c43205..eddffea 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
@@ -384,4 +384,14 @@ public class GridCacheAffinityManager extends 
GridCacheManagerAdapter {
 public AffinityTopologyVersion 

[34/34] ignite git commit: Merge remote-tracking branch 'remotes/origin/ignite-1.5' into ignite-1758

2015-11-09 Thread sboikov
Merge remote-tracking branch 'remotes/origin/ignite-1.5' into ignite-1758


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

Branch: refs/heads/ignite-1758
Commit: 25609b33a1827eea5f925326a1220b295382df5d
Parents: e7a04f3
Author: sboikov 
Authored: Tue Nov 10 10:14:47 2015 +0300
Committer: sboikov 
Committed: Tue Nov 10 10:14:47 2015 +0300

--
 .../ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/25609b33/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 269ea18..72549b3 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -162,7 +162,7 @@ public class TcpDiscoveryMultiThreadedTest extends 
GridCommonAbstractTest {
 /**
  * @throws Exception If any error occurs.
  */
-public void testMultiThreadedClientsRestart() throws Exception {
+public void _testMultiThreadedClientsRestart() throws Exception {
 final AtomicBoolean done = new AtomicBoolean();
 
 try {



[13/34] ignite git commit: added os and vm info to quiet log

2015-11-09 Thread sboikov
added os and vm info to quiet log


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

Branch: refs/heads/ignite-1758
Commit: dca9e5726130ab3d636d87d556e060b719ebb49e
Parents: 0cfb32f
Author: Yakov Zhdanov 
Authored: Wed Nov 4 16:05:12 2015 +0300
Committer: Yakov Zhdanov 
Committed: Wed Nov 4 16:05:12 2015 +0300

--
 .../src/main/java/org/apache/ignite/internal/IgniteKernal.java | 6 ++
 1 file changed, 6 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/dca9e572/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 5a0fe16..9d8fcfb 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -1691,6 +1691,9 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 private void ackOsInfo() {
 assert log != null;
 
+if (log.isQuiet())
+U.quiet(false, "OS: " + U.osString());
+
 if (log.isInfoEnabled()) {
 log.info("OS: " + U.osString());
 log.info("OS user: " + System.getProperty("user.name"));
@@ -1703,6 +1706,9 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 private void ackLanguageRuntime() {
 assert log != null;
 
+if (log.isQuiet())
+U.quiet(false, "VM information: " + U.jdkString());
+
 if (log.isInfoEnabled()) {
 log.info("Language runtime: " + getLanguage());
 log.info("VM information: " + U.jdkString());



[23/34] ignite git commit: IGNITE-1161 Close rest sql cursor after delay. - Fixes #197.

2015-11-09 Thread sboikov
IGNITE-1161 Close rest sql cursor after delay. - Fixes #197.

Signed-off-by: Andrey 


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

Branch: refs/heads/ignite-1758
Commit: 621ecac317f55ba467bdb16321bfe550f5d3319b
Parents: 7dfaa3b
Author: Andrey 
Authored: Mon Nov 9 10:30:56 2015 +0700
Committer: Andrey 
Committed: Mon Nov 9 10:30:56 2015 +0700

--
 .../rest/AbstractRestProcessorSelfTest.java |   5 +-
 .../JettyRestProcessorAbstractSelfTest.java |  37 +++
 .../configuration/ConnectorConfiguration.java   |  61 -
 .../handlers/query/QueryCommandHandler.java | 258 +++
 4 files changed, 302 insertions(+), 59 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/621ecac3/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
--
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
index bde9180..9a030a7 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
@@ -75,6 +75,9 @@ abstract class AbstractRestProcessorSelfTest extends 
GridCommonAbstractTest {
 
 
clientCfg.setJettyPath("modules/clients/src/test/resources/jetty/rest-jetty.xml");
 
+clientCfg.setIdleQueryCursorTimeout(5000);
+clientCfg.setIdleQueryCursorCheckFrequency(5000);
+
 cfg.setConnectorConfiguration(clientCfg);
 
 TcpDiscoverySpi disco = new TcpDiscoverySpi();
@@ -99,4 +102,4 @@ abstract class AbstractRestProcessorSelfTest extends 
GridCommonAbstractTest {
 @Override protected  IgniteCache jcache() {
 return grid(0).cache(null);
 }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/621ecac3/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
--
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
index c413bbd..c9c4ced 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
@@ -48,6 +48,7 @@ import 
org.apache.ignite.internal.processors.cache.query.GridCacheSqlMetadata;
 import 
org.apache.ignite.internal.processors.rest.handlers.GridRestCommandHandler;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.internal.CU;
+import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgniteBiPredicate;
 import org.apache.ignite.lang.IgnitePredicate;
 import org.apache.ignite.testframework.GridTestUtils;
@@ -1406,6 +1407,42 @@ public abstract class JettyRestProcessorAbstractSelfTest 
extends AbstractRestPro
 assertFalse(queryCursorFound());
 }
 
+/**
+ * @throws Exception If failed.
+ */
+public void testQueryDelay() throws Exception {
+String qry = "salary > ? and salary <= ?";
+
+Map params = new HashMap<>();
+params.put("cmd", GridRestCommand.EXECUTE_SQL_QUERY.key());
+params.put("type", "Person");
+params.put("pageSize", "1");
+params.put("cacheName", "person");
+params.put("qry", URLEncoder.encode(qry));
+params.put("arg1", "1000");
+params.put("arg2", "2000");
+
+String ret = null;
+
+for (int i = 0; i < 10; ++i)
+ret = content(params);
+
+assertNotNull(ret);
+assertTrue(!ret.isEmpty());
+
+JSONObject json = JSONObject.fromObject(ret);
+
+List items = (List)((Map)json.get("response")).get("items");
+
+assertEquals(1, items.size());
+
+assertTrue(queryCursorFound());
+
+U.sleep(1);
+
+assertFalse(queryCursorFound());
+}
+
 protected abstract String signature() throws Exception;
 
 /**


[19/34] ignite git commit: Ignite-1093 "Rebalancing with default parameters is very slow" fixes.

2015-11-09 Thread sboikov
http://git-wip-us.apache.org/repos/asf/ignite/blob/7dfaa3b0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplier.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplier.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplier.java
new file mode 100644
index 000..865bad8
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplier.java
@@ -0,0 +1,1034 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache.distributed.dht.preloader;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.UUID;
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.IgniteLogger;
+import org.apache.ignite.cluster.ClusterNode;
+import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
+import org.apache.ignite.internal.managers.deployment.GridDeploymentInfo;
+import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
+import org.apache.ignite.internal.processors.cache.GridCacheContext;
+import org.apache.ignite.internal.processors.cache.GridCacheEntryEx;
+import org.apache.ignite.internal.processors.cache.GridCacheEntryInfo;
+import 
org.apache.ignite.internal.processors.cache.GridCacheEntryInfoCollectSwapListener;
+import org.apache.ignite.internal.processors.cache.GridCacheSwapEntry;
+import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheEntry;
+import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPartition;
+import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology;
+import org.apache.ignite.internal.util.lang.GridCloseableIterator;
+import org.apache.ignite.internal.util.typedef.CI2;
+import org.apache.ignite.internal.util.typedef.T3;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.lang.IgnitePredicate;
+import org.apache.ignite.spi.IgniteSpiException;
+
+import static 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState.OWNING;
+
+/**
+ * Thread pool for supplying partitions to demanding nodes.
+ */
+class GridDhtPartitionSupplier {
+/** */
+private final GridCacheContext cctx;
+
+/** */
+private final IgniteLogger log;
+
+/** */
+private GridDhtPartitionTopology top;
+
+/** */
+private final boolean depEnabled;
+
+/** Preload predicate. */
+private IgnitePredicate preloadPred;
+
+/** Supply context map. T2: nodeId, idx, topVer. */
+private final Map, 
SupplyContext> scMap = new HashMap<>();
+
+/**
+ * @param cctx Cache context.
+ */
+GridDhtPartitionSupplier(GridCacheContext cctx) {
+assert cctx != null;
+
+this.cctx = cctx;
+
+log = cctx.logger(getClass());
+
+top = cctx.dht().topology();
+
+depEnabled = cctx.gridDeploy().enabled();
+}
+
+/**
+ *
+ */
+void start() {
+startOldListeners();
+}
+
+/**
+ *
+ */
+void stop() {
+synchronized (scMap) {
+Iterator> it = 
scMap.keySet().iterator();
+
+while (it.hasNext()) {
+T3 t = it.next();
+
+clearContext(scMap.get(t), log);
+
+it.remove();
+}
+}
+
+stopOldListeners();
+}
+
+/**
+ * Clear context.
+ *
+ * @param sc Supply context.
+ * @param log Logger.
+ * @return true in case context was removed.
+ */
+private static void clearContext(
+final SupplyContext sc,
+final IgniteLogger log) {
+if (sc != null) {
+final Iterator it = sc.entryIt;
+
+if (it != 

[18/34] ignite git commit: Ignite-1093 "Rebalancing with default parameters is very slow" fixes.

2015-11-09 Thread sboikov
http://git-wip-us.apache.org/repos/asf/ignite/blob/7dfaa3b0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
index 998c720..c634ff5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
@@ -17,15 +17,18 @@
 
 package org.apache.ignite.internal.processors.cache.distributed.dht.preloader;
 
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 import java.util.UUID;
+import java.util.concurrent.Callable;
 import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.events.DiscoveryEvent;
 import org.apache.ignite.events.Event;
 import org.apache.ignite.internal.IgniteInternalFuture;
@@ -47,27 +50,42 @@ import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalP
 import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology;
 import org.apache.ignite.internal.util.GridAtomicLong;
 import org.apache.ignite.internal.util.future.GridCompoundFuture;
+import org.apache.ignite.internal.util.future.GridFinishedFuture;
 import org.apache.ignite.internal.util.future.GridFutureAdapter;
 import org.apache.ignite.internal.util.lang.GridPlainRunnable;
 import org.apache.ignite.internal.util.typedef.CI1;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.CU;
+import org.apache.ignite.internal.util.typedef.internal.GPC;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgniteBiInClosure;
 import org.apache.ignite.lang.IgnitePredicate;
+import org.apache.ignite.lang.IgniteProductVersion;
 import org.apache.ignite.lang.IgniteUuid;
 import org.jetbrains.annotations.Nullable;
 import org.jsr166.ConcurrentHashMap8;
+import org.jsr166.ConcurrentLinkedDeque8;
 
+import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_PART_DATA_LOST;
 import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_PART_UNLOADED;
 import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
 import static org.apache.ignite.events.EventType.EVT_NODE_JOINED;
 import static org.apache.ignite.events.EventType.EVT_NODE_LEFT;
 import static 
org.apache.ignite.internal.managers.communication.GridIoPolicy.AFFINITY_POOL;
+import static 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState.MOVING;
 import static org.apache.ignite.internal.util.GridConcurrentFactory.newMap;
 
 /**
  * DHT cache preloader.
  */
 public class GridDhtPreloader extends GridCachePreloaderAdapter {
+/**
+ * Rebalancing was refactored at version 1.5.0, but backward compatibility 
to previous implementation was saved.
+ * Node automatically chose communication protocol depends on remote 
node's version.
+ * Backward compatibility may be removed at Ignite 2.x.
+ */
+public static final IgniteProductVersion REBALANCING_VER_2_SINCE = 
IgniteProductVersion.fromString("1.5.0");
+
 /** Default preload resend timeout. */
 public static final long DFLT_PRELOAD_RESEND_TIMEOUT = 1500;
 
@@ -81,10 +99,10 @@ public class GridDhtPreloader extends 
GridCachePreloaderAdapter {
 private final ConcurrentMap 
forceKeyFuts = newMap();
 
 /** Partition suppliers. */
-private GridDhtPartitionSupplyPool supplyPool;
+private GridDhtPartitionSupplier supplier;
 
 /** Partition demanders. */
-private GridDhtPartitionDemandPool demandPool;
+private GridDhtPartitionDemander demander;
 
 /** Start future. */
 private GridFutureAdapter startFut;
@@ -92,10 +110,19 @@ public class GridDhtPreloader extends 
GridCachePreloaderAdapter {
 /** Busy lock to prevent activities from accessing exchanger while it's 
stopping. */
 private final ReadWriteLock busyLock = new ReentrantReadWriteLock();
 
+/** Demand lock. */
+private final ReadWriteLock demandLock = new ReentrantReadWriteLock();
+
 /** Pending affinity assignment futures. */
 private ConcurrentMap 

[03/34] ignite git commit: Test IgniteCacheTxPeekModesTest.testLocalPeek muted

2015-11-09 Thread sboikov
Test IgniteCacheTxPeekModesTest.testLocalPeek muted


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

Branch: refs/heads/ignite-1758
Commit: 0cfb32f2b2c83d1cababb8aa70eb94de6b073168
Parents: 953f76b
Author: agura 
Authored: Wed Nov 4 00:42:52 2015 +0300
Committer: agura 
Committed: Wed Nov 4 00:42:52 2015 +0300

--
 .../internal/processors/cache/IgniteCacheTxPeekModesTest.java   | 5 +
 1 file changed, 5 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/0cfb32f2/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTxPeekModesTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTxPeekModesTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTxPeekModesTest.java
index 2f114e2..f399ca2 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTxPeekModesTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTxPeekModesTest.java
@@ -48,4 +48,9 @@ public class IgniteCacheTxPeekModesTest extends 
IgniteCachePeekModesAbstractTest
 @Override protected CacheAtomicWriteOrderMode atomicWriteOrderMode() {
 return PRIMARY;
 }
+
+/** {@inheritDoc} */
+@Override public void testLocalPeek() throws Exception {
+fail("https://issues.apache.org/jira/browse/IGNITE-1839;);
+}
 }
\ No newline at end of file



[07/34] ignite git commit: ignite-1808: Wrong Jetty's thread pool size settings

2015-11-09 Thread sboikov
ignite-1808: Wrong Jetty's thread pool size settings


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

Branch: refs/heads/ignite-1758
Commit: 39405aef01c2afb88aad4ef44f9dba8a2e8468b5
Parents: 73c2db5
Author: Roman Shtykh 
Authored: Wed Nov 4 12:48:54 2015 +0300
Committer: Denis Magda 
Committed: Wed Nov 4 12:50:11 2015 +0300

--
 .../rest/protocols/http/jetty/GridJettyRestProtocol.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/39405aef/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
--
diff --git 
a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
 
b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
index 6e201c9..ac49ef6 100644
--- 
a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
+++ 
b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
@@ -287,7 +287,7 @@ public class GridJettyRestProtocol extends 
GridRestProtocolAdapter {
 "cannot be cast to integer: " + srvPortStr);
 }
 
-httpSrv = new Server(new QueuedThreadPool(20, 200));
+httpSrv = new Server(new QueuedThreadPool(200, 20));
 
 ServerConnector srvConn = new ServerConnector(httpSrv, new 
HttpConnectionFactory(httpCfg));
 
@@ -421,4 +421,4 @@ public class GridJettyRestProtocol extends 
GridRestProtocolAdapter {
 @Override public String toString() {
 return S.toString(GridJettyRestProtocol.class, this);
 }
-}
\ No newline at end of file
+}



[05/34] ignite git commit: IGNITE-1545: Java8 MessagingExample should be optimized

2015-11-09 Thread sboikov
IGNITE-1545: Java8 MessagingExample should be optimized


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

Branch: refs/heads/ignite-1758
Commit: fec2450fd1f024696ae60ba3c67e6c7de4dbeca6
Parents: 51c0d80
Author: Roman Shtykh 
Authored: Wed Nov 4 12:25:55 2015 +0300
Committer: Denis Magda 
Committed: Wed Nov 4 12:28:49 2015 +0300

--
 .../ignite/examples/java8/messaging/MessagingExample.java | 7 +--
 1 file changed, 1 insertion(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/fec2450f/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingExample.java
--
diff --git 
a/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingExample.java
 
b/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingExample.java
index 97ec58e..de060a7 100644
--- 
a/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingExample.java
+++ 
b/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingExample.java
@@ -54,13 +54,8 @@ public final class MessagingExample {
  */
 public static void main(String[] args) throws Exception {
 try (Ignite ignite = 
Ignition.start("examples/config/example-ignite.xml")) {
-if (!ExamplesUtils.checkMinTopologySize(ignite.cluster(), 2)) {
-System.out.println();
-System.out.println(">>> Please start at least 2 cluster nodes 
to run example.");
-System.out.println();
-
+if (!ExamplesUtils.checkMinTopologySize(ignite.cluster(), 2))
 return;
-}
 
 System.out.println();
 System.out.println(">>> Messaging example started.");



[32/34] ignite git commit: ignite-1817 Deprecate RandomEvictionPolicy and IgniteCache.randomEntry method - Fixes #191.

2015-11-09 Thread sboikov
ignite-1817 Deprecate RandomEvictionPolicy and IgniteCache.randomEntry method - 
Fixes #191.

Signed-off-by: Alexey Goncharuk 


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

Branch: refs/heads/ignite-1758
Commit: 3de9d47a88d2e13c4807e44e2c391549929d3c9d
Parents: 5e36b26
Author: agura 
Authored: Mon Nov 9 20:36:53 2015 +0300
Committer: Alexey Goncharuk 
Committed: Mon Nov 9 20:36:53 2015 +0300

--
 .../java/org/apache/ignite/IgniteCache.java |  1 +
 .../eviction/random/RandomEvictionPolicy.java   |  4 
 .../processors/cache/GridCacheAdapter.java  | 22 
 .../processors/cache/IgniteCacheProxy.java  |  6 ++
 4 files changed, 29 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/3de9d47a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
--
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java 
b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
index 5558a26..6c4b507 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
@@ -104,6 +104,7 @@ public interface IgniteCache extends 
javax.cache.Cache, IgniteAsyncS
  *
  * @return Random entry, or {@code null} if cache is empty.
  */
+@Deprecated
 public Entry randomEntry();
 
 /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/3de9d47a/modules/core/src/main/java/org/apache/ignite/cache/eviction/random/RandomEvictionPolicy.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cache/eviction/random/RandomEvictionPolicy.java
 
b/modules/core/src/main/java/org/apache/ignite/cache/eviction/random/RandomEvictionPolicy.java
index bf04d92..f77551d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/cache/eviction/random/RandomEvictionPolicy.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/cache/eviction/random/RandomEvictionPolicy.java
@@ -39,7 +39,11 @@ import static 
org.apache.ignite.configuration.CacheConfiguration.DFLT_CACHE_SIZE
  * 
  * Random eviction will provide the best performance over any key queue in 
which every
  * key has the same probability of being accessed.
+ *
+ * @deprecated This eviction policy implementation doesn't support near cache
+ * and doesn't work on client nodes. Also it seems that random eviction 
doesn't make sense.
  */
+@Deprecated
 public class RandomEvictionPolicy implements EvictionPolicy, 
RandomEvictionPolicyMBean, Externalizable {
 /** */
 private static final long serialVersionUID = 0L;

http://git-wip-us.apache.org/repos/asf/ignite/blob/3de9d47a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 74951b5..419ccec 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -99,7 +99,6 @@ import 
org.apache.ignite.internal.processors.task.GridInternal;
 import 
org.apache.ignite.internal.transactions.IgniteTxHeuristicCheckedException;
 import 
org.apache.ignite.internal.transactions.IgniteTxRollbackCheckedException;
 import org.apache.ignite.internal.util.F0;
-import org.apache.ignite.internal.util.GridConcurrentHashSet;
 import org.apache.ignite.internal.util.GridLeanMap;
 import org.apache.ignite.internal.util.future.GridEmbeddedFuture;
 import org.apache.ignite.internal.util.future.GridFinishedFuture;
@@ -122,7 +121,6 @@ import org.apache.ignite.internal.util.typedef.internal.CU;
 import org.apache.ignite.internal.util.typedef.internal.GPC;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.lang.IgniteBiInClosure;
 import org.apache.ignite.lang.IgniteBiPredicate;
 import org.apache.ignite.lang.IgniteBiTuple;
 import org.apache.ignite.lang.IgniteCallable;
@@ -3526,10 +3524,26 @@ public abstract class GridCacheAdapter implements 
IgniteInternalCache

[15/34] ignite git commit: Merge remote-tracking branch 'remotes/apache-main/ignite-1.5' into master-main

2015-11-09 Thread sboikov
Merge remote-tracking branch 'remotes/apache-main/ignite-1.5' into master-main


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

Branch: refs/heads/ignite-1758
Commit: ad60979f111c9786f9da225f7c790214857d6f00
Parents: dca9e57 2a8ff1c
Author: Denis Magda 
Authored: Wed Nov 4 18:02:59 2015 +0300
Committer: Denis Magda 
Committed: Wed Nov 4 18:02:59 2015 +0300

--
 .../java8/messaging/MessagingExample.java   |   7 +-
 .../src/main/java/org/apache/ignite/Ignite.java |  12 +-
 .../apache/ignite/internal/IgniteKernal.java|  27 +-
 .../affinity/GridAffinityAssignmentCache.java   |  13 +
 .../cache/GridCacheAffinityManager.java |  10 +
 .../GridCachePartitionExchangeManager.java  |  24 ++
 .../processors/cache/GridCachePreloader.java|   5 +
 .../cache/GridCachePreloaderAdapter.java|   5 +
 .../processors/cache/GridCacheProcessor.java|  19 ++
 .../dht/preloader/GridDhtForceKeysFuture.java   |  14 ++
 .../GridDhtPartitionsExchangeFuture.java|   6 +
 .../dht/preloader/GridDhtPreloader.java |  17 ++
 .../processors/job/GridJobProcessor.java|  96 ---
 .../ignite/spi/discovery/tcp/ServerImpl.java|  21 +-
 .../TcpDiscoveryClientReconnectMessage.java |   1 +
 .../messages/TcpDiscoveryDiscardMessage.java|   1 +
 .../GridTaskFailoverAffinityRunTest.java|   3 +
 .../processors/cache/CacheNamesSelfTest.java|  69 +
 ...niteCacheClientNodeChangingTopologyTest.java |   4 +-
 ...gniteClientReconnectMassiveShutdownTest.java |  84 ---
 .../tcp/TcpDiscoveryMultiThreadedTest.java  |   5 +-
 .../ignite/testframework/junits/IgniteMock.java |   5 +
 .../junits/multijvm/IgniteProcessProxy.java |   7 +-
 .../ignite/testsuites/IgniteCacheTestSuite.java |   2 +
 modules/rest-http/pom.xml   |   6 +
 .../http/jetty/GridJettyRestProtocol.java   |   4 +-
 .../scala/org/apache/ignite/spark/Entity.scala  |   2 +-
 .../org/apache/ignite/spark/IgniteRDDSpec.scala | 249 +++
 .../org/apache/ignite/spark/IgniteRddSpec.scala | 249 ---
 .../org/apache/ignite/IgniteSpringBean.java |  10 +-
 30 files changed, 617 insertions(+), 360 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/ad60979f/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
--



[25/34] ignite git commit: IGNITE-1807 Visor cmd write logs to file in quite mode. - Fixes #192.

2015-11-09 Thread sboikov
IGNITE-1807 Visor cmd write logs to file in quite mode. - Fixes #192.

Signed-off-by: Andrey 


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

Branch: refs/heads/ignite-1758
Commit: 7393227477d2dfeb7ce4925fee9945ed6bb80127
Parents: 354358c
Author: Andrey 
Authored: Mon Nov 9 10:52:31 2015 +0700
Committer: Andrey 
Committed: Mon Nov 9 10:52:31 2015 +0700

--
 .../ignite/visor/commands/open/VisorOpenCommand.scala | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/73932274/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
--
diff --git 
a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
 
b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
index 7d2ee3c..1cfbde4 100644
--- 
a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
+++ 
b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
@@ -19,6 +19,8 @@
 
 package org.apache.ignite.visor.commands.open
 
+import java.util.logging.{ConsoleHandler, Logger}
+
 import org.apache.ignite.IgniteSystemProperties._
 import org.apache.ignite.configuration.IgniteConfiguration
 import org.apache.ignite.internal.IgniteComponentType._
@@ -26,7 +28,6 @@ import org.apache.ignite.internal.IgniteEx
 import org.apache.ignite.internal.util.scala.impl
 import org.apache.ignite.internal.util.spring.IgniteSpringHelper
 import org.apache.ignite.internal.util.{IgniteUtils => U}
-import org.apache.ignite.logger.NullLogger
 import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi
 import org.apache.ignite.visor.commands.common.{VisorConsoleCommand, 
VisorTextTable}
 import org.apache.ignite.visor.visor._
@@ -158,6 +159,13 @@ class VisorOpenCommand extends VisorConsoleCommand {
 
 val cfg = cfgs.iterator().next()
 
+if (log4jTup != null)
+
System.setProperty(IgniteSystemProperties.IGNITE_CONSOLE_APPENDER, "false")
+else
+Logger.getGlobal.getHandlers.foreach({
+case handler: ConsoleHandler => 
Logger.getGlobal.removeHandler(handler)
+})
+
 // Setting up 'Config URL' for properly print in console.
 System.setProperty(IgniteSystemProperties.IGNITE_CONFIG_URL, 
url.getPath)
 
@@ -236,10 +244,6 @@ class VisorOpenCommand extends VisorConsoleCommand {
 // Make sure visor starts without shutdown hook.
 System.setProperty(IGNITE_NO_SHUTDOWN_HOOK, "true")
 
-// Set NullLoger in quite mode.
-if ("true".equalsIgnoreCase(sys.props.getOrElse(IGNITE_QUIET, "true")))
-cfg.setGridLogger(new NullLogger)
-
 ignite = try {
 // We need to stop previous daemon node before to start new one.
 prevIgnite.foreach(g => Ignition.stop(g.name(), true))



[30/34] ignite git commit: Ignite-1093 Backward compatibility failover.

2015-11-09 Thread sboikov
Ignite-1093 Backward compatibility failover.


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

Branch: refs/heads/ignite-1758
Commit: 6ea3b5cbcdfb97ca07e290924068f692a52679fd
Parents: 4ab2bd3
Author: Anton Vinogradov 
Authored: Mon Nov 9 15:09:36 2015 +0300
Committer: Anton Vinogradov 
Committed: Mon Nov 9 19:04:52 2015 +0300

--
 .../distributed/dht/preloader/GridDhtPartitionDemander.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/6ea3b5cb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
index 35cedf9..29ca5f4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
@@ -1191,7 +1191,7 @@ public class GridDhtPartitionDemander {
 
 // While.
 // =
-while (!topologyChanged(fut)) {
+while (!fut.isDone() && !topologyChanged(fut)) {
 SupplyMessage s = poll(msgQ, timeout);
 
 // If timed out.
@@ -1350,7 +1350,7 @@ public class GridDhtPartitionDemander {
 }
 }
 }
-while (retry && !topologyChanged(fut));
+while (retry && !fut.isDone() && !topologyChanged(fut));
 }
 finally {
 cctx.io().removeOrderedHandler(d.topic());



[04/34] ignite git commit: ignite-1153: improve stop node message

2015-11-09 Thread sboikov
ignite-1153: improve stop node message


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

Branch: refs/heads/ignite-1758
Commit: 51c0d8055157fedf20a28d206598c7c4c514a7f1
Parents: 2501c3a
Author: kcheng.mvp 
Authored: Wed Nov 4 12:20:46 2015 +0300
Committer: Denis Magda 
Committed: Wed Nov 4 12:20:46 2015 +0300

--
 .../java/org/apache/ignite/internal/IgniteKernal.java | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/51c0d805/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 5a0fe16..0277acc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -641,7 +641,7 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 // Catch generic throwable to secure against user assertions.
 catch (Throwable e) {
 U.error(log, "Failed to notify lifecycle bean (safely ignored) 
[evt=" + evt +
-", gridName=" + gridName + ']', e);
+(gridName == null ? "" : ", gridName=" + gridName) + ']', e);
 
 if (e instanceof Error)
 throw (Error)e;
@@ -1673,7 +1673,7 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 ">>> CPU(s): " + locNode.metrics().getTotalCpus() + NL +
 ">>> Heap: " + U.heapSize(locNode, 2) + "GB" + NL +
 ">>> VM name: " + rtBean.getName() + NL +
-">>> Grid name: " + gridName + NL +
+(gridName == null ? "" : ">>> Grid name: " + gridName + 
NL) +
 ">>> Local node [" +
 "ID=" + locNode.id().toString().toUpperCase() +
 ", order=" + locNode.order() + ", clientMode=" + 
ctx.clientNode() +
@@ -1939,11 +1939,13 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 
 // Ack stop.
 if (log.isQuiet()) {
+String nodeName = gridName == null ? "" : "name=" + gridName + 
", ";
+
 if (!errOnStop)
-U.quiet(false, "Ignite node stopped OK [uptime=" +
+U.quiet(false, "Ignite node stopped OK [" + nodeName + 
"uptime=" +
 X.timeSpan2HMSM(U.currentTimeMillis() - startTime) + 
']');
 else
-U.quiet(true, "Ignite node stopped wih ERRORS [uptime=" +
+U.quiet(true, "Ignite node stopped wih ERRORS [" + 
nodeName + "uptime=" +
 X.timeSpan2HMSM(U.currentTimeMillis() - startTime) + 
']');
 }
 
@@ -1958,7 +1960,7 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 ">>> " + dash + NL +
 ">>> " + ack + NL +
 ">>> " + dash + NL +
-">>> Grid name: " + gridName + NL +
+(gridName == null ? "" : ">>> Grid name: " + gridName 
+ NL) +
 ">>> Grid uptime: " + 
X.timeSpan2HMSM(U.currentTimeMillis() - startTime) +
 NL +
 NL);
@@ -1972,7 +1974,7 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 log.info(NL + NL +
 ">>> " + ack + NL +
 ">>> " + dash + NL +
-">>> Grid name: " + gridName + NL +
+(gridName == null ? "" : ">>> Grid name: " + gridName 
+ NL) +
 ">>> Grid uptime: " + 
X.timeSpan2HMSM(U.currentTimeMillis() - startTime) +
 NL +
 ">>> See log above for detailed error message." + NL +



[06/34] ignite git commit: ignite-1395: REST HTTP module prints out unnecessary message

2015-11-09 Thread sboikov
ignite-1395: REST HTTP module prints out unnecessary message


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

Branch: refs/heads/ignite-1758
Commit: 73c2db5cb55dce46ed98564cbf9a8842f09bb413
Parents: fec2450
Author: Roman Shtykh 
Authored: Wed Nov 4 12:35:31 2015 +0300
Committer: Denis Magda 
Committed: Wed Nov 4 12:35:31 2015 +0300

--
 modules/rest-http/pom.xml | 6 ++
 1 file changed, 6 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/73c2db5c/modules/rest-http/pom.xml
--
diff --git a/modules/rest-http/pom.xml b/modules/rest-http/pom.xml
index 58eb1ed..730e28a 100644
--- a/modules/rest-http/pom.xml
+++ b/modules/rest-http/pom.xml
@@ -113,5 +113,11 @@
 commons-beanutils
 1.8.3
 
+
+
+org.slf4j
+slf4j-log4j12
+1.7.7
+
 
 



[01/34] ignite git commit: ignite-1758 Fixed client reconnect issues

2015-11-09 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-1758 f7e040edb -> 25609b33a


http://git-wip-us.apache.org/repos/asf/ignite/blob/2501c3a5/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgniteSqlQueryPutBenchmark.java
--
diff --git 
a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgniteSqlQueryPutBenchmark.java
 
b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgniteSqlQueryPutBenchmark.java
index ea9531a..1c258a4 100644
--- 
a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgniteSqlQueryPutBenchmark.java
+++ 
b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgniteSqlQueryPutBenchmark.java
@@ -29,7 +29,7 @@ import org.yardstickframework.BenchmarkConfiguration;
 /**
  * Ignite benchmark that performs put and query operations.
  */
-public class IgniteSqlQueryPutBenchmark extends IgniteCacheAbstractBenchmark {
+public class IgniteSqlQueryPutBenchmark extends 
IgniteCacheAbstractBenchmark {
 /** {@inheritDoc} */
 @Override public void setUp(BenchmarkConfiguration cfg) throws Exception {
 super.setUp(cfg);
@@ -81,4 +81,4 @@ public class IgniteSqlQueryPutBenchmark extends 
IgniteCacheAbstractBenchmark {
 @Override protected IgniteCache cache() {
 return ignite().cache("query");
 }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/2501c3a5/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/failover/IgniteAtomicInvokeRetryBenchmark.java
--
diff --git 
a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/failover/IgniteAtomicInvokeRetryBenchmark.java
 
b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/failover/IgniteAtomicInvokeRetryBenchmark.java
new file mode 100644
index 000..c0567ef
--- /dev/null
+++ 
b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/failover/IgniteAtomicInvokeRetryBenchmark.java
@@ -0,0 +1,214 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.yardstick.cache.failover;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.ReadWriteLock;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
+import javax.cache.processor.EntryProcessorException;
+import javax.cache.processor.MutableEntry;
+import org.apache.ignite.cache.CacheEntryProcessor;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.yardstickframework.BenchmarkConfiguration;
+
+import static org.yardstickframework.BenchmarkUtils.println;
+
+/**
+ * Invoke retry failover benchmark.  Each client maintains a local map that 
it updates together with cache. Client
+ * invokes an increment closure for all generated keys and atomically 
increments value for corresponding keys in the
+ * local map. To validate cache contents, all writes from the client are 
stopped, values in the local map are compared
+ * to the values in the cache.
+ */
+public class IgniteAtomicInvokeRetryBenchmark extends 
IgniteFailoverAbstractBenchmark {
+/** */
+private final ConcurrentMap nextValMap = new 
ConcurrentHashMap<>();
+
+/** */
+private final ReadWriteLock rwl = new ReentrantReadWriteLock(true);
+
+/** */
+private volatile Exception ex;
+
+/** {@inheritDoc} */
+@Override public void setUp(final BenchmarkConfiguration cfg) throws 
Exception {
+super.setUp(cfg);
+
+Thread thread = new Thread(new Runnable() {
+@Override public void run() {
+try {
+final int timeout = args.cacheOperationTimeoutMillis();
+final int range = args.range();
+
+while (!Thread.currentThread().isInterrupted()) 

[16/34] ignite git commit: PR 201

2015-11-09 Thread sboikov
PR 201


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

Branch: refs/heads/ignite-1758
Commit: 40104693f2fdb9d3c1cb548b69e2600baf05057f
Parents: ad60979
Author: Anton Vinogradov 
Authored: Wed Nov 4 18:46:14 2015 +0300
Committer: Anton Vinogradov 
Committed: Wed Nov 4 18:46:14 2015 +0300

--
 modules/ssh/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/40104693/modules/ssh/pom.xml
--
diff --git a/modules/ssh/pom.xml b/modules/ssh/pom.xml
index ff3e70d..5028322 100644
--- a/modules/ssh/pom.xml
+++ b/modules/ssh/pom.xml
@@ -44,7 +44,7 @@
 
 com.jcraft
 jsch
-0.1.50
+0.1.53
 
 
 



[10/34] ignite git commit: Renamed IgniteRddSpec to IgniteRDDSpec

2015-11-09 Thread sboikov
Renamed IgniteRddSpec to IgniteRDDSpec


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

Branch: refs/heads/ignite-1758
Commit: 7944be8e6ad3bcad754d6e3f738ce18e6e0431c6
Parents: c66df66
Author: Stephen Boesch 
Authored: Wed Nov 4 13:39:09 2015 +0300
Committer: Denis Magda 
Committed: Wed Nov 4 13:39:09 2015 +0300

--
 .../scala/org/apache/ignite/spark/Entity.scala  |   2 +-
 .../org/apache/ignite/spark/IgniteRDDSpec.scala | 249 +++
 .../apache/ignite/spark/IgniteRddSpec1.scala| 249 ---
 3 files changed, 250 insertions(+), 250 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/7944be8e/modules/spark/src/test/scala/org/apache/ignite/spark/Entity.scala
--
diff --git a/modules/spark/src/test/scala/org/apache/ignite/spark/Entity.scala 
b/modules/spark/src/test/scala/org/apache/ignite/spark/Entity.scala
index e56558d..bef87d5 100644
--- a/modules/spark/src/test/scala/org/apache/ignite/spark/Entity.scala
+++ b/modules/spark/src/test/scala/org/apache/ignite/spark/Entity.scala
@@ -17,7 +17,7 @@
 
 package org.apache.ignite.spark
 
-import org.apache.ignite.spark.IgniteRddSpec1.ScalarCacheQuerySqlField
+import org.apache.ignite.spark.IgniteRDDSpec.ScalarCacheQuerySqlField
 
 class Entity (
 @ScalarCacheQuerySqlField(index = true) val id: Int,

http://git-wip-us.apache.org/repos/asf/ignite/blob/7944be8e/modules/spark/src/test/scala/org/apache/ignite/spark/IgniteRDDSpec.scala
--
diff --git 
a/modules/spark/src/test/scala/org/apache/ignite/spark/IgniteRDDSpec.scala 
b/modules/spark/src/test/scala/org/apache/ignite/spark/IgniteRDDSpec.scala
new file mode 100644
index 000..071897a
--- /dev/null
+++ b/modules/spark/src/test/scala/org/apache/ignite/spark/IgniteRDDSpec.scala
@@ -0,0 +1,249 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.spark
+
+import org.apache.ignite.Ignition
+import org.apache.ignite.cache.query.annotations.{QueryTextField, 
QuerySqlField}
+import org.apache.ignite.configuration.{CacheConfiguration, 
IgniteConfiguration}
+import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder
+import org.apache.spark.SparkContext
+import org.junit.runner.RunWith
+import org.scalatest._
+import org.scalatest.junit.JUnitRunner
+
+import IgniteRDDSpec._
+
+import scala.annotation.meta.field
+
+@RunWith(classOf[JUnitRunner])
+class IgniteRDDSpec extends FunSpec with Matchers with BeforeAndAfterAll with 
BeforeAndAfterEach {
+describe("IgniteRDD") {
+it("should successfully store data to ignite") {
+val sc = new SparkContext("local[*]", "test")
+
+try {
+val ic = new IgniteContext[String, String](sc,
+() ⇒ configuration("client", client = true))
+
+// Save pairs ("0", "val0"), ("1", "val1"), ... to Ignite 
cache.
+
ic.fromCache(PARTITIONED_CACHE_NAME).savePairs(sc.parallelize(0 to 1, 
2).map(i ⇒ (String.valueOf(i), "val" + i)))
+
+// Check cache contents.
+val ignite = Ignition.ignite("grid-0")
+
+for (i ← 0 to 1) {
+val res = ignite.cache[String, 
String](PARTITIONED_CACHE_NAME).get(String.valueOf(i))
+
+assert(res != null, "Value was not put to cache for key: " 
+ i)
+assert("val" + i == res, "Invalid value stored for key: " 
+ i)
+}
+}
+finally {
+sc.stop()
+}
+}
+
+it("should successfully read data from ignite") {
+val sc = new SparkContext("local[*]", 

[21/34] ignite git commit: Ignite-1093 "Rebalancing with default parameters is very slow" fixes.

2015-11-09 Thread sboikov
http://git-wip-us.apache.org/repos/asf/ignite/blob/7dfaa3b0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
deleted file mode 100644
index e993a88..000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
+++ /dev/null
@@ -1,1192 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.cache.distributed.dht.preloader;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.BrokenBarrierException;
-import java.util.concurrent.CyclicBarrier;
-import java.util.concurrent.LinkedBlockingDeque;
-import java.util.concurrent.atomic.AtomicLong;
-import java.util.concurrent.atomic.AtomicReference;
-import java.util.concurrent.locks.ReadWriteLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.IgniteLogger;
-import org.apache.ignite.cache.CacheRebalanceMode;
-import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.events.DiscoveryEvent;
-import org.apache.ignite.internal.IgniteInternalFuture;
-import org.apache.ignite.internal.IgniteInterruptedCheckedException;
-import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
-import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
-import org.apache.ignite.internal.processors.cache.CacheEntryInfoCollection;
-import org.apache.ignite.internal.processors.cache.GridCacheContext;
-import org.apache.ignite.internal.processors.cache.GridCacheEntryEx;
-import org.apache.ignite.internal.processors.cache.GridCacheEntryInfo;
-import 
org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException;
-import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtInvalidPartitionException;
-import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPartition;
-import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology;
-import org.apache.ignite.internal.processors.timeout.GridTimeoutObject;
-import org.apache.ignite.internal.processors.timeout.GridTimeoutObjectAdapter;
-import org.apache.ignite.internal.util.GridLeanSet;
-import org.apache.ignite.internal.util.future.GridFutureAdapter;
-import org.apache.ignite.internal.util.tostring.GridToStringInclude;
-import org.apache.ignite.internal.util.typedef.CI1;
-import org.apache.ignite.internal.util.typedef.CI2;
-import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.internal.util.typedef.internal.CU;
-import org.apache.ignite.internal.util.typedef.internal.LT;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.internal.util.worker.GridWorker;
-import org.apache.ignite.lang.IgnitePredicate;
-import org.apache.ignite.lang.IgniteUuid;
-import org.apache.ignite.thread.IgniteThread;
-import org.jetbrains.annotations.Nullable;
-
-import static java.util.concurrent.TimeUnit.MILLISECONDS;
-import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_OBJECT_LOADED;
-import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_PART_DATA_LOST;
-import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_PART_LOADED;
-import static org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_STOPPED;
-import static org.apache.ignite.internal.GridTopic.TOPIC_CACHE;
-import static 

[14/34] ignite git commit: Merge branch 'ignite-1.5' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-1.5

2015-11-09 Thread sboikov
Merge branch 'ignite-1.5' of https://git-wip-us.apache.org/repos/asf/ignite 
into ignite-1.5


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

Branch: refs/heads/ignite-1758
Commit: 2a8ff1cf688b6efa9e2bdbfa2b6de9ab977160d7
Parents: 4791907 7adfd4a
Author: Denis Magda 
Authored: Wed Nov 4 17:44:25 2015 +0300
Committer: Denis Magda 
Committed: Wed Nov 4 17:44:25 2015 +0300

--
 .../apache/ignite/internal/IgniteKernal.java|  1 +
 .../affinity/GridAffinityAssignmentCache.java   | 13 +++
 .../cache/GridCacheAffinityManager.java | 10 ++
 .../GridCachePartitionExchangeManager.java  | 24 +
 .../processors/cache/GridCachePreloader.java|  5 +
 .../cache/GridCachePreloaderAdapter.java|  5 +
 .../dht/preloader/GridDhtForceKeysFuture.java   | 14 +++
 .../dht/preloader/GridDhtPreloader.java | 17 
 .../processors/job/GridJobProcessor.java| 96 +---
 .../GridTaskFailoverAffinityRunTest.java|  3 +
 ...niteCacheClientNodeChangingTopologyTest.java |  4 +-
 11 files changed, 138 insertions(+), 54 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/2a8ff1cf/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
--



[17/34] ignite git commit: Tests muted

2015-11-09 Thread sboikov
Tests muted


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

Branch: refs/heads/ignite-1758
Commit: 7573003f5471676ed4047c406fa741fad9279e24
Parents: 4010469
Author: agura 
Authored: Thu Nov 5 03:52:47 2015 +0300
Committer: agura 
Committed: Thu Nov 5 03:52:47 2015 +0300

--
 .../near/GridCacheNearTxExceptionSelfTest.java   | 11 +++
 1 file changed, 11 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/7573003f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java
index 270af25..752b897 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java
@@ -36,7 +36,18 @@ public class GridCacheNearTxExceptionSelfTest extends 
IgniteTxExceptionAbstractS
 fail("https://issues.apache.org/jira/browse/IGNITE-1601;);
 }
 
+/** {@inheritDoc} */
 @Override public void testRemoveBackup() throws Exception {
 fail("https://issues.apache.org/jira/browse/IGNITE-1839;);
 }
+
+/** {@inheritDoc} */
+@Override public void testPutBackup() throws Exception {
+fail("https://issues.apache.org/jira/browse/IGNITE-1839;);
+}
+
+/** {@inheritDoc} */
+@Override public void testTransformNear() throws Exception {
+fail("https://issues.apache.org/jira/browse/IGNITE-1839;);
+}
 }
\ No newline at end of file



[26/34] ignite git commit: Performance optimizations.

2015-11-09 Thread sboikov
http://git-wip-us.apache.org/repos/asf/ignite/blob/a4848a70/modules/core/src/test/java/org/apache/ignite/util/GridConcurrentLinkedHashMapMultiThreadedSelfTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/util/GridConcurrentLinkedHashMapMultiThreadedSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/util/GridConcurrentLinkedHashMapMultiThreadedSelfTest.java
index 5c6cfcf..9fe2690 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/util/GridConcurrentLinkedHashMapMultiThreadedSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/util/GridConcurrentLinkedHashMapMultiThreadedSelfTest.java
@@ -146,40 +146,41 @@ public class 
GridConcurrentLinkedHashMapMultiThreadedSelfTest extends GridCommon
 public void testEvictPerSegment() throws Exception {
 info(">>> Test grid concurrent linked hash map...");
 
-final int maxSize = 1000;
+int concurLvl = 64;
+final int maxSize = concurLvl * 30;
+int diff = (int)(maxSize * 0.1);
 
 ConcurrentLinkedHashMap linkedMap = new 
ConcurrentLinkedHashMap<>(
-32, 0.75f, 64, maxSize, PER_SEGMENT_Q);
+32, 0.75f, concurLvl, maxSize, PER_SEGMENT_Q);
 
 int keyCnt = 100;
 
-putMultiThreaded(linkedMap, 10, keyCnt, maxSize);
-
-int diff = 10; // 1% of 1000.
+Map map = putMultiThreaded(
+linkedMap,
+10,
+keyCnt,
+maxSize * 10); // Intentionally memorize more than maxSize since 
in this mode LRU is not fair.
 
 assertTrue("Invalid map size: " + linkedMap.size(), U.safeAbs(maxSize 
- linkedMap.size()) <= diff);
 assertTrue("Invalid map sizex: " + linkedMap.sizex(), 
U.safeAbs(maxSize - linkedMap.sizex()) <= diff);
 
-//  TODO IGNITE-606 - Need to fix iterators for ConcurrentLinkedHashMap in 
perSegment mode
-//LinkedList keys = new 
LinkedList(linkedMap.keySet());
-//
-//while (!keys.isEmpty()) {
-//boolean found = false;
-//
-//int key = keys.removeLast();
-//
-//for (LinkedList threadKeys : map.values()) {
-//if (threadKeys.getLast() == key) {
-//threadKeys.removeLast();
-//
-//found = true;
-//
-//break;
-//}
-//}
-//
-//assertTrue("Key was not found on the top of any thread: " + key, 
found);
-//}
+LinkedList keys = new LinkedList<>(linkedMap.keySet());
+
+while (!keys.isEmpty()) {
+boolean found = false;
+
+int key = keys.removeLast();
+
+for (LinkedList threadKeys : map.values()) {
+if (threadKeys.contains(key)) {
+found = true;
+
+break;
+}
+}
+
+assertTrue("Key was not found in any thread: " + key, found);
+}
 
 int min = Integer.MAX_VALUE;
 int max = 0;
@@ -207,40 +208,41 @@ public class 
GridConcurrentLinkedHashMapMultiThreadedSelfTest extends GridCommon
 public void testEvictPerSegmentOptimizedRemoves() throws Exception {
 info(">>> Test grid concurrent linked hash map...");
 
-final int maxSize = 1000;
+int concurLvl = 64;
+final int maxSize = concurLvl * 30;
+int diff = (int)(maxSize * 0.1);
 
 ConcurrentLinkedHashMap linkedMap = new 
ConcurrentLinkedHashMap<>(
-32, 0.75f, 64, maxSize, PER_SEGMENT_Q_OPTIMIZED_RMV);
+32, 0.75f, concurLvl, maxSize, PER_SEGMENT_Q_OPTIMIZED_RMV);
 
 int keyCnt = 100;
 
-putMultiThreaded(linkedMap, 10, keyCnt, maxSize);
-
-int diff = 10; // 1% of 1000.
+Map map = putMultiThreaded(
+linkedMap,
+10,
+keyCnt,
+maxSize * 10); // Intentionally memorize more than maxSize since 
in this mode LRU is not fair.
 
 assertTrue("Invalid map size: " + linkedMap.size(), U.safeAbs(maxSize 
- linkedMap.size()) <= diff);
 assertTrue("Invalid map sizex: " + linkedMap.sizex(), 
U.safeAbs(maxSize - linkedMap.sizex()) <= diff);
 
-//  TODO IGNITE-606 - Need to fix iterators for ConcurrentLinkedHashMap in 
perSegment mode
-//LinkedList keys = new 
LinkedList(linkedMap.keySet());
-//
-//while (!keys.isEmpty()) {
-//boolean found = false;
-//
-//int key = keys.removeLast();
-//
-//for (LinkedList threadKeys : map.values()) {
-//if (threadKeys.getLast() == key) {
-//threadKeys.removeLast();
-//
-//found = true;
-//
-//break;
-//}
-//}
-//
-//assertTrue("Key was not found on the top of any thread: " + key, 
found);
-//}

[09/34] ignite git commit: Renamed IgniteRddSpec to IgniteRDDSpec

2015-11-09 Thread sboikov
Renamed IgniteRddSpec to IgniteRDDSpec


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

Branch: refs/heads/ignite-1758
Commit: c66df66c24a9e9dbee5caca459555fae7c2b2eb8
Parents: 39405ae
Author: Stephen Boesch 
Authored: Wed Nov 4 13:38:13 2015 +0300
Committer: Denis Magda 
Committed: Wed Nov 4 13:38:13 2015 +0300

--
 .../scala/org/apache/ignite/spark/Entity.scala  |   2 +-
 .../org/apache/ignite/spark/IgniteRddSpec.scala | 249 ---
 .../apache/ignite/spark/IgniteRddSpec1.scala| 249 +++
 3 files changed, 250 insertions(+), 250 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/c66df66c/modules/spark/src/test/scala/org/apache/ignite/spark/Entity.scala
--
diff --git a/modules/spark/src/test/scala/org/apache/ignite/spark/Entity.scala 
b/modules/spark/src/test/scala/org/apache/ignite/spark/Entity.scala
index 00beac6..e56558d 100644
--- a/modules/spark/src/test/scala/org/apache/ignite/spark/Entity.scala
+++ b/modules/spark/src/test/scala/org/apache/ignite/spark/Entity.scala
@@ -17,7 +17,7 @@
 
 package org.apache.ignite.spark
 
-import org.apache.ignite.spark.IgniteRddSpec.ScalarCacheQuerySqlField
+import org.apache.ignite.spark.IgniteRddSpec1.ScalarCacheQuerySqlField
 
 class Entity (
 @ScalarCacheQuerySqlField(index = true) val id: Int,

http://git-wip-us.apache.org/repos/asf/ignite/blob/c66df66c/modules/spark/src/test/scala/org/apache/ignite/spark/IgniteRddSpec.scala
--
diff --git 
a/modules/spark/src/test/scala/org/apache/ignite/spark/IgniteRddSpec.scala 
b/modules/spark/src/test/scala/org/apache/ignite/spark/IgniteRddSpec.scala
deleted file mode 100644
index 8fa6949..000
--- a/modules/spark/src/test/scala/org/apache/ignite/spark/IgniteRddSpec.scala
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.spark
-
-import org.apache.ignite.Ignition
-import org.apache.ignite.cache.query.annotations.{QueryTextField, 
QuerySqlField}
-import org.apache.ignite.configuration.{CacheConfiguration, 
IgniteConfiguration}
-import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder
-import org.apache.spark.SparkContext
-import org.junit.runner.RunWith
-import org.scalatest._
-import org.scalatest.junit.JUnitRunner
-
-import IgniteRddSpec._
-
-import scala.annotation.meta.field
-
-@RunWith(classOf[JUnitRunner])
-class IgniteRddSpec extends FunSpec with Matchers with BeforeAndAfterAll with 
BeforeAndAfterEach {
-describe("IgniteRDD") {
-it("should successfully store data to ignite") {
-val sc = new SparkContext("local[*]", "test")
-
-try {
-val ic = new IgniteContext[String, String](sc,
-() ⇒ configuration("client", client = true))
-
-// Save pairs ("0", "val0"), ("1", "val1"), ... to Ignite 
cache.
-
ic.fromCache(PARTITIONED_CACHE_NAME).savePairs(sc.parallelize(0 to 1, 
2).map(i ⇒ (String.valueOf(i), "val" + i)))
-
-// Check cache contents.
-val ignite = Ignition.ignite("grid-0")
-
-for (i ← 0 to 1) {
-val res = ignite.cache[String, 
String](PARTITIONED_CACHE_NAME).get(String.valueOf(i))
-
-assert(res != null, "Value was not put to cache for key: " 
+ i)
-assert("val" + i == res, "Invalid value stored for key: " 
+ i)
-}
-}
-finally {
-sc.stop()
-}
-}
-
-it("should successfully read data from ignite") {
-val sc = new SparkContext("local[*]", 

ignite git commit: IGNITE-843 Fixed wrong check.

2015-11-09 Thread akuznetsov
Repository: ignite
Updated Branches:
  refs/heads/ignite-843-rc1 f4d9fd668 -> 0a76801ce


IGNITE-843 Fixed wrong check.


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

Branch: refs/heads/ignite-843-rc1
Commit: 0a76801cec436f1bf1914c2b8e2a0df58106262b
Parents: f4d9fd6
Author: Alexey Kuznetsov 
Authored: Tue Nov 10 09:16:49 2015 +0700
Committer: Alexey Kuznetsov 
Committed: Tue Nov 10 09:16:49 2015 +0700

--
 .../src/main/js/routes/generator/generator-java.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/0a76801c/modules/control-center-web/src/main/js/routes/generator/generator-java.js
--
diff --git 
a/modules/control-center-web/src/main/js/routes/generator/generator-java.js 
b/modules/control-center-web/src/main/js/routes/generator/generator-java.js
index 60c0947..3f11d0d 100644
--- a/modules/control-center-web/src/main/js/routes/generator/generator-java.js
+++ b/modules/control-center-web/src/main/js/routes/generator/generator-java.js
@@ -521,7 +521,7 @@ $generatorJava.clusterConnector = function (cluster, res) {
 if (!res)
 res = $generatorCommon.builder();
 
-if ($commonUtils.isDefined($commonUtils.isDefined(cluster.connector) && 
cluster.connector.enabled)) {
+if ($commonUtils.isDefined(cluster.connector) && 
$commonUtils.isDefined(cluster.connector.enabled)) {
 var cfg = _.cloneDeep($generatorCommon.CONNECTOR_CONFIGURATION);
 
 if (cluster.connector.sslEnabled) {



ignite git commit: IGNITE-1872: Removed IgniteBinary.builder(int) method as it makes no sense and doesn't allow for correct metadata calculation.

2015-11-09 Thread vozerov
Repository: ignite
Updated Branches:
  refs/heads/ignite-1282 303d79ebe -> 37a2a9fed


IGNITE-1872: Removed IgniteBinary.builder(int) method as it makes no sense and 
doesn't allow for correct metadata calculation.


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

Branch: refs/heads/ignite-1282
Commit: 37a2a9fed4d6b465a22b092cfe46d8b8e8560c42
Parents: 303d79e
Author: vozerov-gridgain 
Authored: Mon Nov 9 13:59:33 2015 +0300
Committer: vozerov-gridgain 
Committed: Mon Nov 9 13:59:33 2015 +0300

--
 .../src/main/java/org/apache/ignite/IgniteBinary.java  |  8 
 .../org/apache/ignite/binary/BinaryObjectBuilder.java  |  1 -
 .../portable/builder/BinaryObjectBuilderImpl.java  | 13 -
 .../cache/portable/CacheObjectBinaryProcessor.java |  6 --
 .../cache/portable/CacheObjectBinaryProcessorImpl.java |  5 -
 .../processors/cache/portable/IgniteBinaryImpl.java| 12 
 .../internal/processors/cacheobject/NoOpBinary.java|  5 -
 .../portable/GridBinaryObjectBuilderSelfTest.java  |  7 ---
 8 files changed, 4 insertions(+), 53 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/37a2a9fe/modules/core/src/main/java/org/apache/ignite/IgniteBinary.java
--
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteBinary.java 
b/modules/core/src/main/java/org/apache/ignite/IgniteBinary.java
index 71be821..9c96d3d 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteBinary.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteBinary.java
@@ -308,14 +308,6 @@ public interface IgniteBinary {
 /**
  * Creates new portable builder.
  *
- * @param typeId ID of the type.
- * @return Newly portable builder.
- */
-public BinaryObjectBuilder builder(int typeId) throws 
BinaryObjectException;
-
-/**
- * Creates new portable builder.
- *
  * @param typeName Type name.
  * @return Newly portable builder.
  */

http://git-wip-us.apache.org/repos/asf/ignite/blob/37a2a9fe/modules/core/src/main/java/org/apache/ignite/binary/BinaryObjectBuilder.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/binary/BinaryObjectBuilder.java 
b/modules/core/src/main/java/org/apache/ignite/binary/BinaryObjectBuilder.java
index 507b0fc..9fd8420 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/binary/BinaryObjectBuilder.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/binary/BinaryObjectBuilder.java
@@ -60,7 +60,6 @@ import org.jetbrains.annotations.Nullable;
  * String city = personBinaryObj.getField("address").getField("city");
  * 
  *
- * @see org.apache.ignite.IgniteBinary#builder(int)
  * @see org.apache.ignite.IgniteBinary#builder(String)
  * @see org.apache.ignite.IgniteBinary#builder(BinaryObject)
  */

http://git-wip-us.apache.org/repos/asf/ignite/blob/37a2a9fe/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java
index eb4f02c..777d30b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java
@@ -99,14 +99,6 @@ public class BinaryObjectBuilderImpl implements 
BinaryObjectBuilder {
 }
 
 /**
- * @param typeId Type ID.
- * @param ctx Portable context.
- */
-public BinaryObjectBuilderImpl(PortableContext ctx, int typeId) {
-this(ctx, typeId, null);
-}
-
-/**
  * @param typeName Type name.
  * @param ctx Context.
  * @param typeId Type id.
@@ -350,8 +342,11 @@ public class BinaryObjectBuilderImpl implements 
BinaryObjectBuilder {
 if (newFldsMetadata != null) {
 String typeName = this.typeName;
 
-if (typeName == null)
+if (typeName == null) {
+assert metadata != null;
+
 typeName = metadata.typeName();
+}
 
 ctx.updateMetaData(typeId, typeName, newFldsMetadata);
 }


ignite git commit: ignite-1758 debug

2015-11-09 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-1758 0ef5769d4 -> 121d1e0d8


ignite-1758 debug


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

Branch: refs/heads/ignite-1758
Commit: 121d1e0d89e66be293543e709985f130125aeb8f
Parents: 0ef5769
Author: sboikov 
Authored: Mon Nov 9 11:36:09 2015 +0300
Committer: sboikov 
Committed: Mon Nov 9 11:36:09 2015 +0300

--
 .../org/apache/ignite/spi/discovery/tcp/ServerImpl.java | 9 ++---
 .../spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java| 4 +++-
 2 files changed, 9 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/121d1e0d/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index 9084713..810690f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -48,7 +48,6 @@ import java.util.SortedMap;
 import java.util.TreeMap;
 import java.util.UUID;
 import java.util.concurrent.BlockingDeque;
-import java.util.concurrent.ConcurrentLinkedDeque;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.LinkedBlockingDeque;
 import java.util.concurrent.LinkedBlockingQueue;
@@ -2151,7 +2150,7 @@ class ServerImpl extends TcpDiscoveryImpl {
 log.debug("Processing message [cls=" + 
msg.getClass().getSimpleName() + ", id=" + msg.id() + ']');
 
 if (debugMode)
-debugLog(msg, "Processing message [cls=" + 
msg.getClass().getSimpleName() + ", id=" + msg.id() + ']');
+debugLog(msg, "Processing message [msg=" + msg + ", id=" + 
msg.id() + ']');
 
 spi.stats.onMessageProcessingStarted(msg);
 
@@ -2554,7 +2553,7 @@ class ServerImpl extends TcpDiscoveryImpl {
 ", res=" + res + ']');
 
 if (debugMode)
-debugLog(pendingMsg, "Pending message 
has been sent to next node [msgId=" + msg.id() +
+debugLog(pendingMsg, "Pending message 
has been sent to next node [msg=" + msg +
 ", pendingMsgId=" + 
pendingMsg.id() + ", next=" + next.id() +
 ", res=" + res + ']');
 
@@ -5657,6 +5656,10 @@ class ServerImpl extends TcpDiscoveryImpl {
 log.debug("Message has been added to queue: " + msg);
 }
 
+void addFirst(TcpDiscoveryAbstractMessage msg) {
+queue.addFirst(msg);
+}
+
 /**
  * @param msg Message.
  */

http://git-wip-us.apache.org/repos/asf/ignite/blob/121d1e0d/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 72549b3..70678d7 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -113,10 +113,12 @@ public class TcpDiscoveryMultiThreadedTest extends 
GridCommonAbstractTest {
 if (client())
 cfg.setClientMode(true);
 
+cfg.setFailureDetectionTimeout(30_000);
+
 cfg.setDiscoverySpi(new TcpDiscoverySpi().
 setIpFinder(ipFinder).
 setJoinTimeout(60_000).
-setNetworkTimeout(10_000));
+setNetworkTimeout(30_000));
 
 int[] evts = {EVT_NODE_FAILED, EVT_NODE_LEFT};
 



[30/49] ignite git commit: Renamed IgniteRddSpec to IgniteRDDSpec

2015-11-09 Thread sboikov
Renamed IgniteRddSpec to IgniteRDDSpec


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

Branch: refs/heads/ignite-1537
Commit: 7944be8e6ad3bcad754d6e3f738ce18e6e0431c6
Parents: c66df66
Author: Stephen Boesch 
Authored: Wed Nov 4 13:39:09 2015 +0300
Committer: Denis Magda 
Committed: Wed Nov 4 13:39:09 2015 +0300

--
 .../scala/org/apache/ignite/spark/Entity.scala  |   2 +-
 .../org/apache/ignite/spark/IgniteRDDSpec.scala | 249 +++
 .../apache/ignite/spark/IgniteRddSpec1.scala| 249 ---
 3 files changed, 250 insertions(+), 250 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/7944be8e/modules/spark/src/test/scala/org/apache/ignite/spark/Entity.scala
--
diff --git a/modules/spark/src/test/scala/org/apache/ignite/spark/Entity.scala 
b/modules/spark/src/test/scala/org/apache/ignite/spark/Entity.scala
index e56558d..bef87d5 100644
--- a/modules/spark/src/test/scala/org/apache/ignite/spark/Entity.scala
+++ b/modules/spark/src/test/scala/org/apache/ignite/spark/Entity.scala
@@ -17,7 +17,7 @@
 
 package org.apache.ignite.spark
 
-import org.apache.ignite.spark.IgniteRddSpec1.ScalarCacheQuerySqlField
+import org.apache.ignite.spark.IgniteRDDSpec.ScalarCacheQuerySqlField
 
 class Entity (
 @ScalarCacheQuerySqlField(index = true) val id: Int,

http://git-wip-us.apache.org/repos/asf/ignite/blob/7944be8e/modules/spark/src/test/scala/org/apache/ignite/spark/IgniteRDDSpec.scala
--
diff --git 
a/modules/spark/src/test/scala/org/apache/ignite/spark/IgniteRDDSpec.scala 
b/modules/spark/src/test/scala/org/apache/ignite/spark/IgniteRDDSpec.scala
new file mode 100644
index 000..071897a
--- /dev/null
+++ b/modules/spark/src/test/scala/org/apache/ignite/spark/IgniteRDDSpec.scala
@@ -0,0 +1,249 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.spark
+
+import org.apache.ignite.Ignition
+import org.apache.ignite.cache.query.annotations.{QueryTextField, 
QuerySqlField}
+import org.apache.ignite.configuration.{CacheConfiguration, 
IgniteConfiguration}
+import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder
+import org.apache.spark.SparkContext
+import org.junit.runner.RunWith
+import org.scalatest._
+import org.scalatest.junit.JUnitRunner
+
+import IgniteRDDSpec._
+
+import scala.annotation.meta.field
+
+@RunWith(classOf[JUnitRunner])
+class IgniteRDDSpec extends FunSpec with Matchers with BeforeAndAfterAll with 
BeforeAndAfterEach {
+describe("IgniteRDD") {
+it("should successfully store data to ignite") {
+val sc = new SparkContext("local[*]", "test")
+
+try {
+val ic = new IgniteContext[String, String](sc,
+() ⇒ configuration("client", client = true))
+
+// Save pairs ("0", "val0"), ("1", "val1"), ... to Ignite 
cache.
+
ic.fromCache(PARTITIONED_CACHE_NAME).savePairs(sc.parallelize(0 to 1, 
2).map(i ⇒ (String.valueOf(i), "val" + i)))
+
+// Check cache contents.
+val ignite = Ignition.ignite("grid-0")
+
+for (i ← 0 to 1) {
+val res = ignite.cache[String, 
String](PARTITIONED_CACHE_NAME).get(String.valueOf(i))
+
+assert(res != null, "Value was not put to cache for key: " 
+ i)
+assert("val" + i == res, "Invalid value stored for key: " 
+ i)
+}
+}
+finally {
+sc.stop()
+}
+}
+
+it("should successfully read data from ignite") {
+val sc = new SparkContext("local[*]", 

[32/49] ignite git commit: ignite-1226: Need to add method that returns names of all available caches

2015-11-09 Thread sboikov
ignite-1226: Need to add method that returns names of all available caches


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

Branch: refs/heads/ignite-1537
Commit: 47919078df447d7594793f2223649784fe1b8d93
Parents: 7944be8
Author: kcheng.mvp 
Authored: Wed Nov 4 14:57:05 2015 +0300
Committer: Denis Magda 
Committed: Wed Nov 4 14:57:05 2015 +0300

--
 .../src/main/java/org/apache/ignite/Ignite.java | 12 +++-
 .../apache/ignite/internal/IgniteKernal.java| 12 
 .../processors/cache/GridCacheProcessor.java| 19 ++
 .../processors/cache/CacheNamesSelfTest.java| 69 
 .../ignite/testframework/junits/IgniteMock.java |  5 ++
 .../junits/multijvm/IgniteProcessProxy.java |  7 +-
 .../ignite/testsuites/IgniteCacheTestSuite.java |  2 +
 .../org/apache/ignite/IgniteSpringBean.java | 10 ++-
 8 files changed, 133 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/47919078/modules/core/src/main/java/org/apache/ignite/Ignite.java
--
diff --git a/modules/core/src/main/java/org/apache/ignite/Ignite.java 
b/modules/core/src/main/java/org/apache/ignite/Ignite.java
index 0afccd0..fc9cf06 100644
--- a/modules/core/src/main/java/org/apache/ignite/Ignite.java
+++ b/modules/core/src/main/java/org/apache/ignite/Ignite.java
@@ -315,6 +315,16 @@ public interface Ignite extends AutoCloseable {
 public  IgniteCache cache(@Nullable String name);
 
 /**
+ * Gets the collection of names of currently available caches.
+ *
+ * Collection may contain {@code null} as a value for a cache name. Refer 
to {@link CacheConfiguration#getName()}
+ * for more info.
+ *
+ * @return Collection of names of currently available caches or an empty 
collection if no caches are available.
+ */
+public Collection cacheNames();
+
+/**
  * Gets grid transactions facade.
  *
  * @return Grid transactions facade.
@@ -477,4 +487,4 @@ public interface Ignite extends AutoCloseable {
  * @return Affinity.
  */
 public  Affinity affinity(String cacheName);
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/47919078/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 0277acc..2f80e5e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -2645,6 +2645,18 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 }
 
 /** {@inheritDoc} */
+@Override public Collection cacheNames() {
+guard();
+
+try {
+return ctx.cache().publicCacheNames();
+}
+finally {
+unguard();
+}
+}
+
+/** {@inheritDoc} */
 @Override public  IgniteInternalCache utilityCache() {
 guard();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/47919078/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index 301e7d3..b2bb6ff 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
@@ -1522,6 +1522,25 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
 }
 
 /**
+ * Gets a collection of currently started public cache names.
+ *
+ * @return Collection of currently started public cache names
+ */
+public Collection publicCacheNames() {
+return F.viewReadOnly(registeredCaches.values(),
+new IgniteClosure() {
+@Override public String apply(DynamicCacheDescriptor desc) {
+return desc.cacheConfiguration().getName();
+}
+},
+new IgnitePredicate() {
+@Override public boolean apply(DynamicCacheDescriptor desc) {
+ 

[31/49] ignite git commit: ignite-1843 Reverted forceKey futures cancel on stop.

2015-11-09 Thread sboikov
ignite-1843 Reverted forceKey futures cancel on stop.


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

Branch: refs/heads/ignite-1537
Commit: 7adfd4a5690c235035b776e2ec6addc92b288030
Parents: 0354db1
Author: sboikov 
Authored: Wed Nov 4 14:16:42 2015 +0300
Committer: sboikov 
Committed: Wed Nov 4 14:16:42 2015 +0300

--
 .../dht/preloader/GridDhtPreloader.java | 20 
 1 file changed, 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/7adfd4a5/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
index fe85968..998c720 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
@@ -96,9 +96,6 @@ public class GridDhtPreloader extends 
GridCachePreloaderAdapter {
 private ConcurrentMap pendingAssignmentFetchFuts =
 new ConcurrentHashMap8<>();
 
-/** Stop flag. */
-private volatile boolean stopping;
-
 /** Discovery listener. */
 private final GridLocalEventListener discoLsnr = new 
GridLocalEventListener() {
 @Override public void onEvent(Event evt) {
@@ -221,8 +218,6 @@ public class GridDhtPreloader extends 
GridCachePreloaderAdapter {
 if (log.isDebugEnabled())
 log.debug("DHT rebalancer onKernalStop callback.");
 
-stopping = true;
-
 cctx.events().removeListener(discoLsnr);
 
 // Acquire write busy lock.
@@ -234,11 +229,6 @@ public class GridDhtPreloader extends 
GridCachePreloaderAdapter {
 if (demandPool != null)
 demandPool.stop();
 
-IgniteCheckedException err = stopError();
-
-for (GridDhtForceKeysFuture fut : forceKeyFuts.values())
-fut.onDone(err);
-
 top = null;
 }
 
@@ -605,9 +595,6 @@ public class GridDhtPreloader extends 
GridCachePreloaderAdapter {
  */
 void addFuture(GridDhtForceKeysFuture fut) {
 forceKeyFuts.put(fut.futureId(), fut);
-
-if (stopping)
-fut.onDone(stopError());
 }
 
 /**
@@ -619,13 +606,6 @@ public class GridDhtPreloader extends 
GridCachePreloaderAdapter {
 forceKeyFuts.remove(fut.futureId(), fut);
 }
 
-/**
- * @return Node stop exception.
- */
-private IgniteCheckedException stopError() {
-return new IgniteCheckedException("Operation has been cancelled (cache 
or node is stopping).");
-}
-
 /** {@inheritDoc} */
 @Override public void dumpDebugInfo() {
 if (!forceKeyFuts.isEmpty()) {



[41/49] ignite git commit: Ignite-1093 "Rebalancing with default parameters is very slow" fixes.

2015-11-09 Thread sboikov
http://git-wip-us.apache.org/repos/asf/ignite/blob/7dfaa3b0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
deleted file mode 100644
index e993a88..000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
+++ /dev/null
@@ -1,1192 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.cache.distributed.dht.preloader;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.BrokenBarrierException;
-import java.util.concurrent.CyclicBarrier;
-import java.util.concurrent.LinkedBlockingDeque;
-import java.util.concurrent.atomic.AtomicLong;
-import java.util.concurrent.atomic.AtomicReference;
-import java.util.concurrent.locks.ReadWriteLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.IgniteLogger;
-import org.apache.ignite.cache.CacheRebalanceMode;
-import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.events.DiscoveryEvent;
-import org.apache.ignite.internal.IgniteInternalFuture;
-import org.apache.ignite.internal.IgniteInterruptedCheckedException;
-import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
-import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
-import org.apache.ignite.internal.processors.cache.CacheEntryInfoCollection;
-import org.apache.ignite.internal.processors.cache.GridCacheContext;
-import org.apache.ignite.internal.processors.cache.GridCacheEntryEx;
-import org.apache.ignite.internal.processors.cache.GridCacheEntryInfo;
-import 
org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException;
-import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtInvalidPartitionException;
-import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPartition;
-import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology;
-import org.apache.ignite.internal.processors.timeout.GridTimeoutObject;
-import org.apache.ignite.internal.processors.timeout.GridTimeoutObjectAdapter;
-import org.apache.ignite.internal.util.GridLeanSet;
-import org.apache.ignite.internal.util.future.GridFutureAdapter;
-import org.apache.ignite.internal.util.tostring.GridToStringInclude;
-import org.apache.ignite.internal.util.typedef.CI1;
-import org.apache.ignite.internal.util.typedef.CI2;
-import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.internal.util.typedef.internal.CU;
-import org.apache.ignite.internal.util.typedef.internal.LT;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.internal.util.worker.GridWorker;
-import org.apache.ignite.lang.IgnitePredicate;
-import org.apache.ignite.lang.IgniteUuid;
-import org.apache.ignite.thread.IgniteThread;
-import org.jetbrains.annotations.Nullable;
-
-import static java.util.concurrent.TimeUnit.MILLISECONDS;
-import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_OBJECT_LOADED;
-import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_PART_DATA_LOST;
-import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_PART_LOADED;
-import static org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_STOPPED;
-import static org.apache.ignite.internal.GridTopic.TOPIC_CACHE;
-import static 

[46/49] ignite git commit: Performance optimizations.

2015-11-09 Thread sboikov
http://git-wip-us.apache.org/repos/asf/ignite/blob/a4848a70/modules/core/src/test/java/org/apache/ignite/util/GridConcurrentLinkedHashMapMultiThreadedSelfTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/util/GridConcurrentLinkedHashMapMultiThreadedSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/util/GridConcurrentLinkedHashMapMultiThreadedSelfTest.java
index 5c6cfcf..9fe2690 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/util/GridConcurrentLinkedHashMapMultiThreadedSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/util/GridConcurrentLinkedHashMapMultiThreadedSelfTest.java
@@ -146,40 +146,41 @@ public class 
GridConcurrentLinkedHashMapMultiThreadedSelfTest extends GridCommon
 public void testEvictPerSegment() throws Exception {
 info(">>> Test grid concurrent linked hash map...");
 
-final int maxSize = 1000;
+int concurLvl = 64;
+final int maxSize = concurLvl * 30;
+int diff = (int)(maxSize * 0.1);
 
 ConcurrentLinkedHashMap linkedMap = new 
ConcurrentLinkedHashMap<>(
-32, 0.75f, 64, maxSize, PER_SEGMENT_Q);
+32, 0.75f, concurLvl, maxSize, PER_SEGMENT_Q);
 
 int keyCnt = 100;
 
-putMultiThreaded(linkedMap, 10, keyCnt, maxSize);
-
-int diff = 10; // 1% of 1000.
+Map map = putMultiThreaded(
+linkedMap,
+10,
+keyCnt,
+maxSize * 10); // Intentionally memorize more than maxSize since 
in this mode LRU is not fair.
 
 assertTrue("Invalid map size: " + linkedMap.size(), U.safeAbs(maxSize 
- linkedMap.size()) <= diff);
 assertTrue("Invalid map sizex: " + linkedMap.sizex(), 
U.safeAbs(maxSize - linkedMap.sizex()) <= diff);
 
-//  TODO IGNITE-606 - Need to fix iterators for ConcurrentLinkedHashMap in 
perSegment mode
-//LinkedList keys = new 
LinkedList(linkedMap.keySet());
-//
-//while (!keys.isEmpty()) {
-//boolean found = false;
-//
-//int key = keys.removeLast();
-//
-//for (LinkedList threadKeys : map.values()) {
-//if (threadKeys.getLast() == key) {
-//threadKeys.removeLast();
-//
-//found = true;
-//
-//break;
-//}
-//}
-//
-//assertTrue("Key was not found on the top of any thread: " + key, 
found);
-//}
+LinkedList keys = new LinkedList<>(linkedMap.keySet());
+
+while (!keys.isEmpty()) {
+boolean found = false;
+
+int key = keys.removeLast();
+
+for (LinkedList threadKeys : map.values()) {
+if (threadKeys.contains(key)) {
+found = true;
+
+break;
+}
+}
+
+assertTrue("Key was not found in any thread: " + key, found);
+}
 
 int min = Integer.MAX_VALUE;
 int max = 0;
@@ -207,40 +208,41 @@ public class 
GridConcurrentLinkedHashMapMultiThreadedSelfTest extends GridCommon
 public void testEvictPerSegmentOptimizedRemoves() throws Exception {
 info(">>> Test grid concurrent linked hash map...");
 
-final int maxSize = 1000;
+int concurLvl = 64;
+final int maxSize = concurLvl * 30;
+int diff = (int)(maxSize * 0.1);
 
 ConcurrentLinkedHashMap linkedMap = new 
ConcurrentLinkedHashMap<>(
-32, 0.75f, 64, maxSize, PER_SEGMENT_Q_OPTIMIZED_RMV);
+32, 0.75f, concurLvl, maxSize, PER_SEGMENT_Q_OPTIMIZED_RMV);
 
 int keyCnt = 100;
 
-putMultiThreaded(linkedMap, 10, keyCnt, maxSize);
-
-int diff = 10; // 1% of 1000.
+Map map = putMultiThreaded(
+linkedMap,
+10,
+keyCnt,
+maxSize * 10); // Intentionally memorize more than maxSize since 
in this mode LRU is not fair.
 
 assertTrue("Invalid map size: " + linkedMap.size(), U.safeAbs(maxSize 
- linkedMap.size()) <= diff);
 assertTrue("Invalid map sizex: " + linkedMap.sizex(), 
U.safeAbs(maxSize - linkedMap.sizex()) <= diff);
 
-//  TODO IGNITE-606 - Need to fix iterators for ConcurrentLinkedHashMap in 
perSegment mode
-//LinkedList keys = new 
LinkedList(linkedMap.keySet());
-//
-//while (!keys.isEmpty()) {
-//boolean found = false;
-//
-//int key = keys.removeLast();
-//
-//for (LinkedList threadKeys : map.values()) {
-//if (threadKeys.getLast() == key) {
-//threadKeys.removeLast();
-//
-//found = true;
-//
-//break;
-//}
-//}
-//
-//assertTrue("Key was not found on the top of any thread: " + key, 
found);
-//}

[17/49] ignite git commit: Increased test timeout.

2015-11-09 Thread sboikov
Increased test timeout.


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

Branch: refs/heads/ignite-1537
Commit: b65fde441756b926732773a793b0be998a3c76af
Parents: 1486b5d
Author: sboikov 
Authored: Tue Nov 3 10:16:45 2015 +0300
Committer: sboikov 
Committed: Tue Nov 3 10:16:45 2015 +0300

--
 .../processors/cache/distributed/CacheGetFutureHangsSelfTest.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/b65fde44/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheGetFutureHangsSelfTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheGetFutureHangsSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheGetFutureHangsSelfTest.java
index 659520b..53ac648 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheGetFutureHangsSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheGetFutureHangsSelfTest.java
@@ -91,7 +91,7 @@ public class CacheGetFutureHangsSelfTest extends 
GridCommonAbstractTest {
 
 /** {@inheritDoc} */
 @Override protected long getTestTimeout() {
-return 5 * 60_000;
+return 10 * 60_000;
 }
 
 /**
@@ -114,6 +114,7 @@ public class CacheGetFutureHangsSelfTest extends 
GridCommonAbstractTest {
 
 /**
  * Executes one test iteration.
+ *
  * @throws Exception If failed.
  */
 private void doTestFailover() throws Exception {



[49/49] ignite git commit: Merge remote-tracking branch 'remotes/origin/ignite-1.5' into ignite-1537

2015-11-09 Thread sboikov
Merge remote-tracking branch 'remotes/origin/ignite-1.5' into ignite-1537


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

Branch: refs/heads/ignite-1537
Commit: 2bd587805dbaa5f8484d215856af33a44a50552c
Parents: d215017 a4848a7
Author: sboikov 
Authored: Mon Nov 9 12:48:10 2015 +0300
Committer: sboikov 
Committed: Mon Nov 9 12:48:10 2015 +0300

--
 .../java8/messaging/MessagingExample.java   |7 +-
 .../rest/AbstractRestProcessorSelfTest.java |5 +-
 .../JettyRestProcessorAbstractSelfTest.java |  142 +-
 .../src/main/java/org/apache/ignite/Ignite.java |   12 +-
 .../apache/ignite/IgniteSystemProperties.java   |3 +
 .../configuration/CacheConfiguration.java   |   54 +-
 .../configuration/ConnectorConfiguration.java   |   61 +-
 .../configuration/IgniteConfiguration.java  |   32 +-
 .../apache/ignite/internal/IgniteKernal.java|   68 +-
 .../org/apache/ignite/internal/IgnitionEx.java  |3 +
 .../managers/communication/GridIoMessage.java   |4 +-
 .../communication/GridIoMessageFactory.java |   10 +-
 .../discovery/GridDiscoveryManager.java |5 +-
 .../affinity/GridAffinityAssignmentCache.java   |   13 +
 .../cache/GridCacheAffinityManager.java |   28 +-
 .../processors/cache/GridCacheContext.java  |   29 +-
 .../processors/cache/GridCacheEntryEx.java  |4 +-
 .../processors/cache/GridCacheIoManager.java|   19 +-
 .../processors/cache/GridCacheMapEntry.java |   91 +-
 .../processors/cache/GridCacheMvccManager.java  |  145 +-
 .../GridCachePartitionExchangeManager.java  |  188 ++-
 .../processors/cache/GridCachePreloader.java|   60 +-
 .../cache/GridCachePreloaderAdapter.java|   45 +-
 .../processors/cache/GridCacheProcessor.java|  151 +-
 .../distributed/GridCacheTxRecoveryFuture.java  |   13 +-
 .../distributed/GridDistributedCacheEntry.java  |2 +-
 .../distributed/GridDistributedTxMapping.java   |8 +-
 .../GridDistributedTxRemoteAdapter.java |5 +-
 .../distributed/dht/GridDhtCacheEntry.java  |   11 +-
 .../distributed/dht/GridDhtLocalPartition.java  |   71 +-
 .../distributed/dht/GridDhtLockFuture.java  |7 +-
 .../dht/GridDhtPartitionsReservation.java   |2 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |   13 +-
 .../distributed/dht/GridDhtTxLocalAdapter.java  |   43 +-
 .../distributed/dht/GridDhtTxPrepareFuture.java |  122 +-
 .../cache/distributed/dht/GridDhtTxRemote.java  |   45 +-
 .../dht/atomic/GridDhtAtomicCache.java  |1 -
 .../dht/colocated/GridDhtColocatedCache.java|7 +-
 .../dht/preloader/GridDhtForceKeysFuture.java   |   14 +
 .../GridDhtPartitionDemandMessage.java  |   14 +-
 .../preloader/GridDhtPartitionDemandPool.java   | 1192 ---
 .../dht/preloader/GridDhtPartitionDemander.java | 1389 ++
 .../dht/preloader/GridDhtPartitionSupplier.java | 1034 +
 .../GridDhtPartitionSupplyMessageV2.java|  380 +
 .../preloader/GridDhtPartitionSupplyPool.java   |  555 ---
 .../GridDhtPartitionsExchangeFuture.java|8 +
 .../dht/preloader/GridDhtPreloader.java |  303 +++-
 ...arOptimisticSerializableTxPrepareFuture.java |   12 +-
 .../near/GridNearOptimisticTxPrepareFuture.java |   11 +-
 .../near/GridNearTransactionalCache.java|7 +-
 .../near/GridNearTxFinishFuture.java|  157 +-
 .../cache/distributed/near/GridNearTxLocal.java |   21 +-
 .../CacheObjectPortableProcessorImpl.java   |9 +
 .../cache/transactions/IgniteInternalTx.java|3 +-
 .../cache/transactions/IgniteTxAdapter.java |  251 ++--
 .../cache/transactions/IgniteTxHandler.java |   37 +-
 .../transactions/IgniteTxLocalAdapter.java  |   26 +-
 .../cache/transactions/IgniteTxManager.java |  175 ++-
 .../datastructures/DataStructuresProcessor.java |3 +
 .../processors/job/GridJobProcessor.java|   96 +-
 .../handlers/cache/GridCacheCommandHandler.java |  128 +-
 .../handlers/query/QueryCommandHandler.java |  258 +++-
 .../top/GridTopologyCommandHandler.java |4 -
 .../service/GridServiceProcessor.java   |   31 +-
 .../processors/task/GridTaskWorker.java |4 +-
 .../GridBoundedConcurrentLinkedHashMap.java |7 +-
 .../GridBoundedConcurrentLinkedHashSet.java |7 +-
 .../util/GridBoundedConcurrentOrderedMap.java   |   39 +-
 .../internal/util/GridConcurrentFactory.java|   11 +-
 .../util/GridConcurrentLinkedHashSet.java   |9 +-
 .../ignite/internal/util/IgniteUuidCache.java   |6 +-
 .../util/future/GridCompoundFuture.java |  155 +-
 

[13/49] ignite git commit: GridCacheNearTxExceptionSelfTest.testRemoveBackup test muted

2015-11-09 Thread sboikov
GridCacheNearTxExceptionSelfTest.testRemoveBackup test muted


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

Branch: refs/heads/ignite-1537
Commit: 612f9876b7efb3040237f5bc1477a44f18f261bb
Parents: 5b0a18d
Author: agura 
Authored: Mon Nov 2 19:38:06 2015 +0300
Committer: agura 
Committed: Mon Nov 2 19:38:06 2015 +0300

--
 .../cache/distributed/near/GridCacheNearTxExceptionSelfTest.java | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/612f9876/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java
index 02aa824..270af25 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java
@@ -35,4 +35,8 @@ public class GridCacheNearTxExceptionSelfTest extends 
IgniteTxExceptionAbstractS
 @Override public void testTransformBackup(){
 fail("https://issues.apache.org/jira/browse/IGNITE-1601;);
 }
+
+@Override public void testRemoveBackup() throws Exception {
+fail("https://issues.apache.org/jira/browse/IGNITE-1839;);
+}
 }
\ No newline at end of file



[27/49] ignite git commit: ignite-1808: Wrong Jetty's thread pool size settings

2015-11-09 Thread sboikov
ignite-1808: Wrong Jetty's thread pool size settings


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

Branch: refs/heads/ignite-1537
Commit: 39405aef01c2afb88aad4ef44f9dba8a2e8468b5
Parents: 73c2db5
Author: Roman Shtykh 
Authored: Wed Nov 4 12:48:54 2015 +0300
Committer: Denis Magda 
Committed: Wed Nov 4 12:50:11 2015 +0300

--
 .../rest/protocols/http/jetty/GridJettyRestProtocol.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/39405aef/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
--
diff --git 
a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
 
b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
index 6e201c9..ac49ef6 100644
--- 
a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
+++ 
b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
@@ -287,7 +287,7 @@ public class GridJettyRestProtocol extends 
GridRestProtocolAdapter {
 "cannot be cast to integer: " + srvPortStr);
 }
 
-httpSrv = new Server(new QueuedThreadPool(20, 200));
+httpSrv = new Server(new QueuedThreadPool(200, 20));
 
 ServerConnector srvConn = new ServerConnector(httpSrv, new 
HttpConnectionFactory(httpCfg));
 
@@ -421,4 +421,4 @@ public class GridJettyRestProtocol extends 
GridRestProtocolAdapter {
 @Override public String toString() {
 return S.toString(GridJettyRestProtocol.class, this);
 }
-}
\ No newline at end of file
+}



[38/49] ignite git commit: Ignite-1093 "Rebalancing with default parameters is very slow" fixes.

2015-11-09 Thread sboikov
http://git-wip-us.apache.org/repos/asf/ignite/blob/7dfaa3b0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
index 998c720..c634ff5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
@@ -17,15 +17,18 @@
 
 package org.apache.ignite.internal.processors.cache.distributed.dht.preloader;
 
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 import java.util.UUID;
+import java.util.concurrent.Callable;
 import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.events.DiscoveryEvent;
 import org.apache.ignite.events.Event;
 import org.apache.ignite.internal.IgniteInternalFuture;
@@ -47,27 +50,42 @@ import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalP
 import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology;
 import org.apache.ignite.internal.util.GridAtomicLong;
 import org.apache.ignite.internal.util.future.GridCompoundFuture;
+import org.apache.ignite.internal.util.future.GridFinishedFuture;
 import org.apache.ignite.internal.util.future.GridFutureAdapter;
 import org.apache.ignite.internal.util.lang.GridPlainRunnable;
 import org.apache.ignite.internal.util.typedef.CI1;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.CU;
+import org.apache.ignite.internal.util.typedef.internal.GPC;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgniteBiInClosure;
 import org.apache.ignite.lang.IgnitePredicate;
+import org.apache.ignite.lang.IgniteProductVersion;
 import org.apache.ignite.lang.IgniteUuid;
 import org.jetbrains.annotations.Nullable;
 import org.jsr166.ConcurrentHashMap8;
+import org.jsr166.ConcurrentLinkedDeque8;
 
+import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_PART_DATA_LOST;
 import static 
org.apache.ignite.events.EventType.EVT_CACHE_REBALANCE_PART_UNLOADED;
 import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
 import static org.apache.ignite.events.EventType.EVT_NODE_JOINED;
 import static org.apache.ignite.events.EventType.EVT_NODE_LEFT;
 import static 
org.apache.ignite.internal.managers.communication.GridIoPolicy.AFFINITY_POOL;
+import static 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState.MOVING;
 import static org.apache.ignite.internal.util.GridConcurrentFactory.newMap;
 
 /**
  * DHT cache preloader.
  */
 public class GridDhtPreloader extends GridCachePreloaderAdapter {
+/**
+ * Rebalancing was refactored at version 1.5.0, but backward compatibility 
to previous implementation was saved.
+ * Node automatically chose communication protocol depends on remote 
node's version.
+ * Backward compatibility may be removed at Ignite 2.x.
+ */
+public static final IgniteProductVersion REBALANCING_VER_2_SINCE = 
IgniteProductVersion.fromString("1.5.0");
+
 /** Default preload resend timeout. */
 public static final long DFLT_PRELOAD_RESEND_TIMEOUT = 1500;
 
@@ -81,10 +99,10 @@ public class GridDhtPreloader extends 
GridCachePreloaderAdapter {
 private final ConcurrentMap 
forceKeyFuts = newMap();
 
 /** Partition suppliers. */
-private GridDhtPartitionSupplyPool supplyPool;
+private GridDhtPartitionSupplier supplier;
 
 /** Partition demanders. */
-private GridDhtPartitionDemandPool demandPool;
+private GridDhtPartitionDemander demander;
 
 /** Start future. */
 private GridFutureAdapter startFut;
@@ -92,10 +110,19 @@ public class GridDhtPreloader extends 
GridCachePreloaderAdapter {
 /** Busy lock to prevent activities from accessing exchanger while it's 
stopping. */
 private final ReadWriteLock busyLock = new ReentrantReadWriteLock();
 
+/** Demand lock. */
+private final ReadWriteLock demandLock = new ReentrantReadWriteLock();
+
 /** Pending affinity assignment futures. */
 private ConcurrentMap 

[44/49] ignite git commit: IGNITE-1168 REST return sql metadata for all caches in one request. - Fixes #181.

2015-11-09 Thread sboikov
IGNITE-1168 REST return sql metadata for all caches in one request. - Fixes 
#181.

Signed-off-by: Andrey 


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

Branch: refs/heads/ignite-1537
Commit: 354358cc4ec9a8f15e75d132c7a57d2361b5722b
Parents: 621ecac
Author: Andrey 
Authored: Mon Nov 9 10:41:04 2015 +0700
Committer: Andrey 
Committed: Mon Nov 9 10:41:04 2015 +0700

--
 .../JettyRestProcessorAbstractSelfTest.java | 105 ---
 .../discovery/GridDiscoveryManager.java |   5 +-
 .../handlers/cache/GridCacheCommandHandler.java | 128 +++
 .../top/GridTopologyCommandHandler.java |   4 -
 4 files changed, 166 insertions(+), 76 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/354358cc/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
--
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
index c9c4ced..4c73f78 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
@@ -40,15 +40,14 @@ import org.apache.ignite.cache.query.SqlQuery;
 import org.apache.ignite.cache.query.annotations.QuerySqlField;
 import org.apache.ignite.cluster.ClusterNode;
 import org.apache.ignite.configuration.CacheConfiguration;
-import org.apache.ignite.internal.processors.cache.GridCacheProcessor;
 import org.apache.ignite.internal.processors.cache.IgniteCacheProxy;
-import org.apache.ignite.internal.processors.cache.IgniteInternalCache;
 import 
org.apache.ignite.internal.processors.cache.query.GridCacheSqlIndexMetadata;
 import org.apache.ignite.internal.processors.cache.query.GridCacheSqlMetadata;
 import 
org.apache.ignite.internal.processors.rest.handlers.GridRestCommandHandler;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.internal.CU;
 import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.util.typedef.P1;
 import org.apache.ignite.lang.IgniteBiPredicate;
 import org.apache.ignite.lang.IgnitePredicate;
 import org.apache.ignite.testframework.GridTestUtils;
@@ -919,14 +918,16 @@ public abstract class JettyRestProcessorAbstractSelfTest 
extends AbstractRestPro
 }
 
 /**
- * @param meta Metadata for Ignite cache.
+ * @param metas Metadata for Ignite caches.
  * @throws Exception If failed.
  */
-private void testMetadata(GridCacheSqlMetadata meta) throws Exception {
+private void testMetadata(Collection metas) throws 
Exception {
 Map params = F.asMap("cmd", 
GridRestCommand.CACHE_METADATA.key());
 
-if (meta.cacheName() != null)
-params.put("cacheName", meta.cacheName());
+String cacheNameArg = F.first(metas).cacheName();
+
+if (cacheNameArg != null)
+params.put("cacheName", cacheNameArg);
 
 String ret = content(params);
 
@@ -935,53 +936,68 @@ public abstract class JettyRestProcessorAbstractSelfTest 
extends AbstractRestPro
 
 info("Cache metadata result: " + ret);
 
-jsonEquals(ret, pattern("\\{.+\\}", true));
+jsonEquals(ret, pattern("\\[.+\\]", true));
+
+Collection results = 
(Collection)JSONObject.fromObject(ret).get("response");
+
+assertEquals(metas.size(), results.size());
+assertEquals(cacheNameArg, F.first(results).get("cacheName"));
+
+for (Map res : results) {
+final Object cacheName = res.get("cacheName");
 
-Map res = (Map)JSONObject.fromObject(ret).get("response");
+GridCacheSqlMetadata meta = F.find(metas, null, new 
P1() {
+@Override public boolean apply(GridCacheSqlMetadata meta) {
+return F.eq(meta.cacheName(), cacheName);
+}
+});
 
-Collection types = (Collection)res.get("types");
+assertNotNull("REST return metadata for unexpected cache: " + 
cacheName, meta);
 
-assertNotNull(types);
-assertEqualsCollections(meta.types(), types);
+Collection types = (Collection)res.get("types");
 
-Map keyClasses = (Map)res.get("keyClasses");

[33/49] ignite git commit: added os and vm info to quiet log

2015-11-09 Thread sboikov
added os and vm info to quiet log


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

Branch: refs/heads/ignite-1537
Commit: dca9e5726130ab3d636d87d556e060b719ebb49e
Parents: 0cfb32f
Author: Yakov Zhdanov 
Authored: Wed Nov 4 16:05:12 2015 +0300
Committer: Yakov Zhdanov 
Committed: Wed Nov 4 16:05:12 2015 +0300

--
 .../src/main/java/org/apache/ignite/internal/IgniteKernal.java | 6 ++
 1 file changed, 6 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/dca9e572/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 5a0fe16..9d8fcfb 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -1691,6 +1691,9 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 private void ackOsInfo() {
 assert log != null;
 
+if (log.isQuiet())
+U.quiet(false, "OS: " + U.osString());
+
 if (log.isInfoEnabled()) {
 log.info("OS: " + U.osString());
 log.info("OS user: " + System.getProperty("user.name"));
@@ -1703,6 +1706,9 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 private void ackLanguageRuntime() {
 assert log != null;
 
+if (log.isQuiet())
+U.quiet(false, "VM information: " + U.jdkString());
+
 if (log.isInfoEnabled()) {
 log.info("Language runtime: " + getLanguage());
 log.info("VM information: " + U.jdkString());



[28/49] ignite git commit: ignite-1843 Avoid discovery thread blocking in GridJobProcessor.

2015-11-09 Thread sboikov
ignite-1843 Avoid discovery thread blocking in GridJobProcessor.


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

Branch: refs/heads/ignite-1537
Commit: 0354db124cbfa356d7b27556cbc53978a322f471
Parents: 2501c3a
Author: sboikov 
Authored: Wed Nov 4 12:52:20 2015 +0300
Committer: sboikov 
Committed: Wed Nov 4 12:52:20 2015 +0300

--
 .../apache/ignite/internal/IgniteKernal.java|  1 +
 .../affinity/GridAffinityAssignmentCache.java   | 13 +++
 .../cache/GridCacheAffinityManager.java | 10 ++
 .../GridCachePartitionExchangeManager.java  | 24 +
 .../processors/cache/GridCachePreloader.java|  5 +
 .../cache/GridCachePreloaderAdapter.java|  5 +
 .../dht/preloader/GridDhtForceKeysFuture.java   | 14 +++
 .../dht/preloader/GridDhtPreloader.java | 37 
 .../processors/job/GridJobProcessor.java| 96 +---
 .../GridTaskFailoverAffinityRunTest.java|  3 +
 ...niteCacheClientNodeChangingTopologyTest.java |  4 +-
 11 files changed, 158 insertions(+), 54 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/0354db12/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 5a0fe16..f75f118 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -3168,6 +3168,7 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 U.warn(log, "Dumping debug info for node [id=" + locNode.id() +
 ", name=" + ctx.gridName() +
 ", order=" + locNode.order() +
+", topVer=" + ctx.discovery().topologyVersion() +
 ", client=" + client +
 (client && routerId != null ? ", routerId=" + routerId : "") + 
']');
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/0354db12/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
index 18776a4..8bc40cd 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
@@ -41,6 +41,7 @@ import 
org.apache.ignite.internal.processors.cache.GridCacheDefaultAffinityKeyMa
 import org.apache.ignite.internal.processors.cache.GridCacheInternal;
 import org.apache.ignite.internal.util.future.GridFutureAdapter;
 import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.U;
 import org.jetbrains.annotations.Nullable;
 import org.jsr166.ConcurrentHashMap8;
 import org.jsr166.ConcurrentLinkedHashMap;
@@ -409,6 +410,18 @@ public class GridAffinityAssignmentCache {
 }
 
 /**
+ * Dumps debug information.
+ */
+public void dumpDebugInfo() {
+if (!readyFuts.isEmpty()) {
+U.warn(log, "Pending affinity ready futures [cache=" + cacheName + 
"]:");
+
+for (AffinityReadyFuture fut : readyFuts.values())
+U.warn(log, ">>> " + fut);
+}
+}
+
+/**
  * Get cached affinity for specified topology version.
  *
  * @param topVer Topology version.

http://git-wip-us.apache.org/repos/asf/ignite/blob/0354db12/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
index 5c43205..eddffea 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
@@ -384,4 +384,14 @@ public class GridCacheAffinityManager extends 
GridCacheManagerAdapter {
 public AffinityTopologyVersion 

[10/49] ignite git commit: IGNITE-1833 Fixed Visor backup partitions count logic.

2015-11-09 Thread sboikov
IGNITE-1833 Fixed Visor backup partitions count logic.


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

Branch: refs/heads/ignite-1537
Commit: 28e0217f893ed2151092a5e3a9b0b96ee7dec77f
Parents: 747c684
Author: AKuznetsov 
Authored: Mon Nov 2 19:34:49 2015 +0700
Committer: AKuznetsov 
Committed: Mon Nov 2 19:34:49 2015 +0700

--
 .../cache/GridCacheAffinityManager.java   | 18 --
 .../distributed/dht/GridDhtLocalPartition.java|  8 
 .../ignite/internal/visor/cache/VisorCache.java   |  5 +++--
 3 files changed, 27 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/28e0217f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
index 4f99ef5..5c43205 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
@@ -262,7 +262,7 @@ public class GridCacheAffinityManager extends 
GridCacheManagerAdapter {
  * @param n Node to check.
  * @param part Partition.
  * @param topVer Topology version.
- * @return {@code True} if checked node is primary for given key.
+ * @return {@code True} if checked node is primary for given partition.
  */
 public boolean primary(ClusterNode n, int part, AffinityTopologyVersion 
topVer) {
 return F.eq(primary(part, topVer), n);
@@ -294,6 +294,20 @@ public class GridCacheAffinityManager extends 
GridCacheManagerAdapter {
 }
 
 /**
+ * @param n Node to check.
+ * @param part Partition.
+ * @param topVer Topology version.
+ * @return {@code True} if checked node is a backup node for given 
partition.
+ */
+public boolean backup(ClusterNode n, int part, AffinityTopologyVersion 
topVer) {
+List nodes = nodes(part, topVer);
+
+assert !F.isEmpty(nodes);
+
+return nodes.indexOf(n) > 0;
+}
+
+/**
  * @param keys keys.
  * @param topVer Topology version.
  * @return Nodes for the keys.
@@ -370,4 +384,4 @@ public class GridCacheAffinityManager extends 
GridCacheManagerAdapter {
 public AffinityTopologyVersion affinityTopologyVersion() {
 return aff.lastVersion();
 }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/28e0217f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
index 4f124e6..749d06a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
@@ -604,6 +604,14 @@ public class GridDhtLocalPartition implements 
Comparable,
 }
 
 /**
+ * @param topVer Topology version.
+ * @return {@code True} if local node is backup for this partition.
+ */
+public boolean backup(AffinityTopologyVersion topVer) {
+return cctx.affinity().backup(cctx.localNode(), id, topVer);
+}
+
+/**
  * Clears values for this partition.
  */
 private void clearAll() {

http://git-wip-us.apache.org/repos/asf/ignite/blob/28e0217f/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java
index 937121d..111cab8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java
@@ -35,6 +35,7 @@ import 
org.apache.ignite.internal.processors.cache.GridCacheAdapter;
 import 

[11/49] ignite git commit: ignite-1397: Load/consistency tests.

2015-11-09 Thread sboikov
http://git-wip-us.apache.org/repos/asf/ignite/blob/5b0a18dd/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/failover/IgniteTransactionalInvokeRetryBenchmark.java
--
diff --git 
a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/failover/IgniteTransactionalInvokeRetryBenchmark.java
 
b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/failover/IgniteTransactionalInvokeRetryBenchmark.java
new file mode 100644
index 000..f8a1689
--- /dev/null
+++ 
b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/failover/IgniteTransactionalInvokeRetryBenchmark.java
@@ -0,0 +1,212 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.yardstick.cache.failover;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.ReadWriteLock;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
+import javax.cache.processor.EntryProcessorException;
+import javax.cache.processor.MutableEntry;
+import org.apache.ignite.cache.CacheEntryProcessor;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.yardstickframework.BenchmarkConfiguration;
+
+import static org.yardstickframework.BenchmarkUtils.println;
+
+/**
+ * Invoke retry failover benchmark.  Each client maintains a local map that 
it updates together with cache. Client
+ * invokes an increment closure for all generated keys and atomically 
increments value for corresponding keys in the
+ * local map. To validate cache contents, all writes from the client are 
stopped, values in the local map are compared
+ * to the values in the cache.
+ */
+public class IgniteTransactionalInvokeRetryBenchmark extends 
IgniteFailoverAbstractBenchmark {
+/** */
+private final ConcurrentMap map = new 
ConcurrentHashMap<>();
+
+/** */
+private final ReadWriteLock rwl = new ReentrantReadWriteLock(true);
+
+/** */
+private volatile Exception ex;
+
+/** {@inheritDoc} */
+@Override public void setUp(final BenchmarkConfiguration cfg) throws 
Exception {
+super.setUp(cfg);
+
+Thread thread = new Thread(new Runnable() {
+@Override public void run() {
+try {
+final int timeout = args.cacheOperationTimeoutMillis();
+final int keysCnt = args.keysCount();
+
+while (!Thread.currentThread().isInterrupted()) {
+Thread.sleep(args.cacheConsistencyCheckingPeriod() * 
1000);
+
+rwl.writeLock().lock();
+
+try {
+println("Start cache validation.");
+
+long startTime = U.currentTimeMillis();
+
+Map notEqualsCacheVals = new 
HashMap<>();
+Map notEqualsLocMapVals = new 
HashMap<>();
+
+for (int k = 0; k < args.range(); k++) {
+if (k % 10_000 == 0)
+println("Start validation for keys like 
'key-" + k + "-*'");
+
+for (int i = 0; i < keysCnt; i++) {
+String key = "key-" + k + "-" + 
cfg.memberId() + "-" + i;
+
+asyncCache.get(key);
+Long cacheVal = 
asyncCache.future().get(timeout);
+
+AtomicLong aVal = map.get(key);
+Long mapVal = aVal != null ? aVal.get() : 
null;
+
+if (!Objects.equals(cacheVal, mapVal)) {
+notEqualsCacheVals.put(key, cacheVal);
+notEqualsLocMapVals.put(key, mapVal);
+}
+}
+}
+
+ 

[45/49] ignite git commit: IGNITE-1807 Visor cmd write logs to file in quite mode. - Fixes #192.

2015-11-09 Thread sboikov
IGNITE-1807 Visor cmd write logs to file in quite mode. - Fixes #192.

Signed-off-by: Andrey 


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

Branch: refs/heads/ignite-1537
Commit: 7393227477d2dfeb7ce4925fee9945ed6bb80127
Parents: 354358c
Author: Andrey 
Authored: Mon Nov 9 10:52:31 2015 +0700
Committer: Andrey 
Committed: Mon Nov 9 10:52:31 2015 +0700

--
 .../ignite/visor/commands/open/VisorOpenCommand.scala | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/73932274/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
--
diff --git 
a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
 
b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
index 7d2ee3c..1cfbde4 100644
--- 
a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
+++ 
b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
@@ -19,6 +19,8 @@
 
 package org.apache.ignite.visor.commands.open
 
+import java.util.logging.{ConsoleHandler, Logger}
+
 import org.apache.ignite.IgniteSystemProperties._
 import org.apache.ignite.configuration.IgniteConfiguration
 import org.apache.ignite.internal.IgniteComponentType._
@@ -26,7 +28,6 @@ import org.apache.ignite.internal.IgniteEx
 import org.apache.ignite.internal.util.scala.impl
 import org.apache.ignite.internal.util.spring.IgniteSpringHelper
 import org.apache.ignite.internal.util.{IgniteUtils => U}
-import org.apache.ignite.logger.NullLogger
 import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi
 import org.apache.ignite.visor.commands.common.{VisorConsoleCommand, 
VisorTextTable}
 import org.apache.ignite.visor.visor._
@@ -158,6 +159,13 @@ class VisorOpenCommand extends VisorConsoleCommand {
 
 val cfg = cfgs.iterator().next()
 
+if (log4jTup != null)
+
System.setProperty(IgniteSystemProperties.IGNITE_CONSOLE_APPENDER, "false")
+else
+Logger.getGlobal.getHandlers.foreach({
+case handler: ConsoleHandler => 
Logger.getGlobal.removeHandler(handler)
+})
+
 // Setting up 'Config URL' for properly print in console.
 System.setProperty(IgniteSystemProperties.IGNITE_CONFIG_URL, 
url.getPath)
 
@@ -236,10 +244,6 @@ class VisorOpenCommand extends VisorConsoleCommand {
 // Make sure visor starts without shutdown hook.
 System.setProperty(IGNITE_NO_SHUTDOWN_HOOK, "true")
 
-// Set NullLoger in quite mode.
-if ("true".equalsIgnoreCase(sys.props.getOrElse(IGNITE_QUIET, "true")))
-cfg.setGridLogger(new NullLogger)
-
 ignite = try {
 // We need to stop previous daemon node before to start new one.
 prevIgnite.foreach(g => Ignition.stop(g.name(), true))



[14/49] ignite git commit: Test GridCacheAbstractFullApiSelfTest.testIgniteCacheIterator muted

2015-11-09 Thread sboikov
Test GridCacheAbstractFullApiSelfTest.testIgniteCacheIterator muted


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

Branch: refs/heads/ignite-1537
Commit: 8e295cc2542b92c513277375ba4708d099d95f23
Parents: 612f987
Author: agura 
Authored: Mon Nov 2 19:45:35 2015 +0300
Committer: agura 
Committed: Mon Nov 2 19:45:35 2015 +0300

--
 .../processors/cache/GridCacheAbstractFullApiSelfTest.java  | 2 ++
 ...heAtomicNearEnabledFairAffinityMultiNodeFullApiSelfTest.java | 5 -
 .../GridCacheAtomicNearEnabledMultiNodeFullApiSelfTest.java | 5 -
 .../GridCacheAtomicOffHeapTieredMultiNodeFullApiSelfTest.java   | 5 -
 4 files changed, 2 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/8e295cc2/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
index 530ff61..3a530f2 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
@@ -3997,6 +3997,8 @@ public abstract class GridCacheAbstractFullApiSelfTest 
extends GridCacheAbstract
  * @throws Exception If failed.
  */
 public void testIgniteCacheIterator() throws Exception {
+fail("https://issues.apache.org/jira/browse/IGNITE-1756;);
+
 IgniteCache cache = jcache(0);
 
 Iterator> it = cache.iterator();

http://git-wip-us.apache.org/repos/asf/ignite/blob/8e295cc2/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearEnabledFairAffinityMultiNodeFullApiSelfTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearEnabledFairAffinityMultiNodeFullApiSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearEnabledFairAffinityMultiNodeFullApiSelfTest.java
index de4a53d..e4784f2 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearEnabledFairAffinityMultiNodeFullApiSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearEnabledFairAffinityMultiNodeFullApiSelfTest.java
@@ -38,9 +38,4 @@ public class 
GridCacheAtomicNearEnabledFairAffinityMultiNodeFullApiSelfTest
 @Override public void testWithSkipStore(){
 fail("https://issues.apache.org/jira/browse/IGNITE-1582;);
 }
-
-/** {@inheritDoc} */
-@Override public void testIgniteCacheIterator() throws Exception {
-fail("https://issues.apache.org/jira/browse/IGNITE-1756;);
-}
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/8e295cc2/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearEnabledMultiNodeFullApiSelfTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearEnabledMultiNodeFullApiSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearEnabledMultiNodeFullApiSelfTest.java
index e9251b6..5e128ac 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearEnabledMultiNodeFullApiSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearEnabledMultiNodeFullApiSelfTest.java
@@ -27,9 +27,4 @@ public class 
GridCacheAtomicNearEnabledMultiNodeFullApiSelfTest extends GridCach
 @Override protected NearCacheConfiguration nearConfiguration() {
 return new NearCacheConfiguration();
 }
-
-/** {@inheritDoc} */
-@Override public void testIgniteCacheIterator() throws Exception {
-fail("https://issues.apache.org/jira/browse/IGNITE-1756;);
-}
 }


[43/49] ignite git commit: IGNITE-1161 Close rest sql cursor after delay. - Fixes #197.

2015-11-09 Thread sboikov
IGNITE-1161 Close rest sql cursor after delay. - Fixes #197.

Signed-off-by: Andrey 


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

Branch: refs/heads/ignite-1537
Commit: 621ecac317f55ba467bdb16321bfe550f5d3319b
Parents: 7dfaa3b
Author: Andrey 
Authored: Mon Nov 9 10:30:56 2015 +0700
Committer: Andrey 
Committed: Mon Nov 9 10:30:56 2015 +0700

--
 .../rest/AbstractRestProcessorSelfTest.java |   5 +-
 .../JettyRestProcessorAbstractSelfTest.java |  37 +++
 .../configuration/ConnectorConfiguration.java   |  61 -
 .../handlers/query/QueryCommandHandler.java | 258 +++
 4 files changed, 302 insertions(+), 59 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/621ecac3/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
--
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
index bde9180..9a030a7 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java
@@ -75,6 +75,9 @@ abstract class AbstractRestProcessorSelfTest extends 
GridCommonAbstractTest {
 
 
clientCfg.setJettyPath("modules/clients/src/test/resources/jetty/rest-jetty.xml");
 
+clientCfg.setIdleQueryCursorTimeout(5000);
+clientCfg.setIdleQueryCursorCheckFrequency(5000);
+
 cfg.setConnectorConfiguration(clientCfg);
 
 TcpDiscoverySpi disco = new TcpDiscoverySpi();
@@ -99,4 +102,4 @@ abstract class AbstractRestProcessorSelfTest extends 
GridCommonAbstractTest {
 @Override protected  IgniteCache jcache() {
 return grid(0).cache(null);
 }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/621ecac3/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
--
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
index c413bbd..c9c4ced 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
@@ -48,6 +48,7 @@ import 
org.apache.ignite.internal.processors.cache.query.GridCacheSqlMetadata;
 import 
org.apache.ignite.internal.processors.rest.handlers.GridRestCommandHandler;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.internal.CU;
+import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgniteBiPredicate;
 import org.apache.ignite.lang.IgnitePredicate;
 import org.apache.ignite.testframework.GridTestUtils;
@@ -1406,6 +1407,42 @@ public abstract class JettyRestProcessorAbstractSelfTest 
extends AbstractRestPro
 assertFalse(queryCursorFound());
 }
 
+/**
+ * @throws Exception If failed.
+ */
+public void testQueryDelay() throws Exception {
+String qry = "salary > ? and salary <= ?";
+
+Map params = new HashMap<>();
+params.put("cmd", GridRestCommand.EXECUTE_SQL_QUERY.key());
+params.put("type", "Person");
+params.put("pageSize", "1");
+params.put("cacheName", "person");
+params.put("qry", URLEncoder.encode(qry));
+params.put("arg1", "1000");
+params.put("arg2", "2000");
+
+String ret = null;
+
+for (int i = 0; i < 10; ++i)
+ret = content(params);
+
+assertNotNull(ret);
+assertTrue(!ret.isEmpty());
+
+JSONObject json = JSONObject.fromObject(ret);
+
+List items = (List)((Map)json.get("response")).get("items");
+
+assertEquals(1, items.size());
+
+assertTrue(queryCursorFound());
+
+U.sleep(1);
+
+assertFalse(queryCursorFound());
+}
+
 protected abstract String signature() throws Exception;
 
 /**


  1   2   3   >