[ignite] Git Push Summary

2017-08-10 Thread akuznetsov
Repository: ignite
Updated Branches:
  refs/heads/ignite-6012 [deleted] 3ae7bff97


ignite git commit: IGNITE-6013 Optimized processing response from cluster.

2017-08-10 Thread akuznetsov
Repository: ignite
Updated Branches:
  refs/heads/master 3a390c8af -> b02c4812d


IGNITE-6013 Optimized processing response from cluster.


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

Branch: refs/heads/master
Commit: b02c4812d9c145cf127eeaf54ab64709d230a3c7
Parents: 3a390c8
Author: Alexey Kuznetsov 
Authored: Fri Aug 11 11:18:42 2017 +0700
Committer: Alexey Kuznetsov 
Committed: Fri Aug 11 11:18:42 2017 +0700

--
 .../console/agent/handlers/ClusterListener.java |  13 +-
 .../ignite/console/agent/rest/RestExecutor.java | 201 +--
 2 files changed, 194 insertions(+), 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/b02c4812/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/handlers/ClusterListener.java
--
diff --git 
a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/handlers/ClusterListener.java
 
b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/handlers/ClusterListener.java
index b811a2d..435ce74 100644
--- 
a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/handlers/ClusterListener.java
+++ 
b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/handlers/ClusterListener.java
@@ -46,7 +46,7 @@ import static 
org.apache.ignite.internal.IgniteNodeAttributes.ATTR_BUILD_VER;
 import static 
org.apache.ignite.internal.processors.rest.GridRestResponse.STATUS_SUCCESS;
 
 /**
- * API to retranslate topology from Ignite cluster available by node-uri.
+ * API to transfer topology from Ignite cluster available by node-uri.
  */
 public class ClusterListener {
 /** */
@@ -65,7 +65,7 @@ public class ClusterListener {
 private static final long DFLT_TIMEOUT = 3000L;
 
 /** JSON object mapper. */
-private static final ObjectMapper mapper = new GridJettyObjectMapper();
+private static final ObjectMapper MAPPER = new GridJettyObjectMapper();
 
 /** Latest topology snapshot. */
 private TopologySnapshot top;
@@ -234,10 +234,7 @@ public class ClusterListener {
 
 /**  */
 boolean differentCluster(TopologySnapshot old) {
-if (old == null || F.isEmpty(old.nids))
-return true;
-
-return Collections.disjoint(nids, old.nids);
+return old == null || F.isEmpty(old.nids) || 
Collections.disjoint(nids, old.nids);
 }
 }
 
@@ -250,7 +247,7 @@ public class ClusterListener {
 
 switch (res.getStatus()) {
 case STATUS_SUCCESS:
-List nodes = 
mapper.readValue(res.getData(),
+List nodes = 
MAPPER.readValue(res.getData(),
 new TypeReference() {});
 
 TopologySnapshot newTop = new TopologySnapshot(nodes);
@@ -290,7 +287,7 @@ public class ClusterListener {
 
 switch (res.getStatus()) {
 case STATUS_SUCCESS:
-List nodes = 
mapper.readValue(res.getData(),
+List nodes = 
MAPPER.readValue(res.getData(),
 new TypeReference() {});
 
 TopologySnapshot newTop = new TopologySnapshot(nodes);

http://git-wip-us.apache.org/repos/asf/ignite/blob/b02c4812/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/rest/RestExecutor.java
--
diff --git 
a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/rest/RestExecutor.java
 
b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/rest/RestExecutor.java
index 03eca4e..13989b4 100644
--- 
a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/rest/RestExecutor.java
+++ 
b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/rest/RestExecutor.java
@@ -17,9 +17,16 @@
 
 package org.apache.ignite.console.agent.rest;
 
-import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonDeserializer;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 import java.io.IOException;

ignite git commit: IGNITE-5902 Implemented stop caches at once.

2017-08-10 Thread akuznetsov
Repository: ignite
Updated Branches:
  refs/heads/master 1c62fdad5 -> ebb8765ab


IGNITE-5902 Implemented stop caches at once.


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

Branch: refs/heads/master
Commit: ebb8765ab6735289cc2ceb4ccba2f6fd1e9816a8
Parents: 1c62fda
Author: Alexey Kuznetsov 
Authored: Fri Aug 11 10:25:36 2017 +0700
Committer: Alexey Kuznetsov 
Committed: Fri Aug 11 10:25:36 2017 +0700

--
 .../visor/cache/VisorCacheStopTask.java | 22 
 .../visor/cache/VisorCacheStopTaskArg.java  | 27 
 2 files changed, 39 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/ebb8765a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java
index 9f7c018..df95c5e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java
@@ -17,8 +17,10 @@
 
 package org.apache.ignite.internal.visor.cache;
 
-import org.apache.ignite.IgniteCache;
+import java.util.Collection;
+import java.util.HashSet;
 import org.apache.ignite.internal.processors.task.GridInternal;
+import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.internal.visor.VisorJob;
 import org.apache.ignite.internal.visor.VisorOneNodeTask;
@@ -46,23 +48,23 @@ public class VisorCacheStopTask extends 
VisorOneNodeTask(arg.getCacheNames());
 
-IgniteCache cache = ignite.cache(cacheName);
+if (F.isEmpty(cacheNames))
+throw new IllegalStateException("Cache names was not 
specified.");
 
-if (cache == null)
-throw new IllegalStateException("Failed to find cache for 
name: " + cacheName);
-
-cache.destroy();
+ignite.destroyCaches(cacheNames);
 
 return null;
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/ebb8765a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTaskArg.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTaskArg.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTaskArg.java
index 4976036..77156ab 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTaskArg.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTaskArg.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.visor.cache;
 import java.io.IOException;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
+import java.util.List;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.internal.visor.VisorDataTransferObject;
@@ -34,6 +35,9 @@ public class VisorCacheStopTaskArg extends 
VisorDataTransferObject {
 /** Cache name. */
 private String cacheName;
 
+/** Cache names. */
+private List cacheNames;
+
 /**
  * Default constructor.
  */
@@ -49,20 +53,43 @@ public class VisorCacheStopTaskArg extends 
VisorDataTransferObject {
 }
 
 /**
+ * @param cacheNames Cache names.
+ */
+public VisorCacheStopTaskArg(List cacheNames) {
+this.cacheNames = cacheNames;
+}
+
+/**
  * @return Cache name.
  */
 public String 

ignite git commit: IGNITE-6027: Added last page marker to GridQueryNexPageResponse, so that responses with unknown row count could be processed correctly. This closes #2426.

2017-08-10 Thread vozerov
Repository: ignite
Updated Branches:
  refs/heads/master 7199037d2 -> 1c62fdad5


IGNITE-6027: Added last page marker to GridQueryNexPageResponse, so that 
responses with unknown row count could be processed correctly. This closes 
#2426.


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

Branch: refs/heads/master
Commit: 1c62fdad521675d6965441b966726d1292cb70e1
Parents: 7199037
Author: devozerov 
Authored: Thu Aug 10 23:13:37 2017 +0300
Committer: devozerov 
Committed: Thu Aug 10 23:13:37 2017 +0300

--
 .../messages/GridQueryNextPageResponse.java | 36 ++--
 .../query/h2/twostep/GridMapQueryExecutor.java  |  6 ++--
 .../query/h2/twostep/GridMergeIndex.java|  7 ++--
 3 files changed, 41 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/1c62fdad/modules/core/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/messages/GridQueryNextPageResponse.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/messages/GridQueryNextPageResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/messages/GridQueryNextPageResponse.java
index fe8b34a..4d918a0 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/messages/GridQueryNextPageResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/messages/GridQueryNextPageResponse.java
@@ -67,6 +67,9 @@ public class GridQueryNextPageResponse implements Message {
 /** */
 private AffinityTopologyVersion retry;
 
+/** Last page flag. */
+private boolean last;
+
 /**
  * For {@link Externalizable}.
  */
@@ -83,9 +86,10 @@ public class GridQueryNextPageResponse implements Message {
  * @param cols Number of columns in row.
  * @param vals Values for rows in this page added sequentially.
  * @param plainRows Not marshalled rows for local node.
+ * @param last Last page flag.
  */
 public GridQueryNextPageResponse(long qryReqId, int segmentId, int qry, 
int page, int allRows, int cols,
-Collection vals, Collection plainRows) {
+Collection vals, Collection plainRows, boolean last) {
 assert vals != null ^ plainRows != null;
 assert cols > 0 : cols;
 
@@ -97,6 +101,7 @@ public class GridQueryNextPageResponse implements Message {
 this.cols = cols;
 this.vals = vals;
 this.plainRows = plainRows;
+this.last = last;
 }
 
 /**
@@ -220,6 +225,11 @@ public class GridQueryNextPageResponse implements Message {
 
 writer.incrementState();
 
+case 8:
+if (!writer.writeBoolean("last", last))
+return false;
+
+writer.incrementState();
 }
 
 return true;
@@ -296,6 +306,14 @@ public class GridQueryNextPageResponse implements Message {
 return false;
 
 reader.incrementState();
+
+case 8:
+last = reader.readBoolean("last");
+
+if (!reader.isLastRead())
+return false;
+
+reader.incrementState();
 }
 
 return reader.afterMessageRead(GridQueryNextPageResponse.class);
@@ -308,7 +326,7 @@ public class GridQueryNextPageResponse implements Message {
 
 /** {@inheritDoc} */
 @Override public byte fieldsCount() {
-return 8;
+return 9;
 }
 
 /**
@@ -325,6 +343,20 @@ public class GridQueryNextPageResponse implements Message {
 this.retry = retry;
 }
 
+/**
+ * @return Last page flag.
+ */
+public boolean last() {
+return last;
+}
+
+/**
+ * @param last Last page flag.
+ */
+public void last(boolean last) {
+this.last = last;
+}
+
 /** {@inheritDoc} */
 @Override public String toString() {
 return S.toString(GridQueryNextPageResponse.class, this,

http://git-wip-us.apache.org/repos/asf/ignite/blob/1c62fdad/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
--
diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
index e717367..ca978e2 

ignite git commit: IGNITE-5901 - Debug

2017-08-10 Thread agoncharuk
Repository: ignite
Updated Branches:
  refs/heads/ignite-5901 fa2b743b2 -> a117e0893


IGNITE-5901 - Debug


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

Branch: refs/heads/ignite-5901
Commit: a117e089372323266d8b0599b36267c5a7199f79
Parents: fa2b743
Author: Alexey Goncharuk 
Authored: Thu Aug 10 20:30:37 2017 +0300
Committer: Alexey Goncharuk 
Committed: Thu Aug 10 20:30:37 2017 +0300

--
 .../wal/FileWriteAheadLogManager.java   | 72 +++-
 1 file changed, 41 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/a117e089/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
index da295aa..ebc05a4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
@@ -2028,6 +2028,9 @@ public class FileWriteAheadLogManager extends 
GridCacheSharedManagerAdapter impl
 
 flushOrWait(ptr, stop);
 
+if (stopped())
+return;
+
 if (lastFsyncPos != written) {
 assert lastFsyncPos < written; // Fsync position must be 
behind.
 
@@ -2069,55 +2072,62 @@ public class FileWriteAheadLogManager extends 
GridCacheSharedManagerAdapter impl
  */
 private boolean close(boolean rollOver) throws IgniteCheckedException, 
StorageException {
 if (stop.compareAndSet(false, true)) {
-flushOrWait(null, true);
+lock.lock();
+
+try {
+flushOrWait(null, true);
 
-WALRecord hd = head.get();
+WALRecord hd = head.get();
 
-assert stopped() : "Segment is not closed after close flush: " 
+ hd;
+assert stopped() : "Segment is not closed after close 
flush: " + hd;
 
-try {
-int switchSegmentRecSize = 
RecordV1Serializer.REC_TYPE_SIZE + RecordV1Serializer.FILE_WAL_POINTER_SIZE;
+try {
+int switchSegmentRecSize = 
RecordV1Serializer.REC_TYPE_SIZE + RecordV1Serializer.FILE_WAL_POINTER_SIZE;
 
-if (rollOver && written < (maxSegmentSize - 
switchSegmentRecSize)) {
-//it is expected there is sufficient space for this 
record because rollover should run early
-final ByteBuffer buf = 
ByteBuffer.allocate(switchSegmentRecSize);
-
buf.put((byte)(WALRecord.RecordType.SWITCH_SEGMENT_RECORD.ordinal() + 1));
+if (rollOver && written < (maxSegmentSize - 
switchSegmentRecSize)) {
+//it is expected there is sufficient space for 
this record because rollover should run early
+final ByteBuffer buf = 
ByteBuffer.allocate(switchSegmentRecSize);
+
buf.put((byte)(WALRecord.RecordType.SWITCH_SEGMENT_RECORD.ordinal() + 1));
 
-final FileWALPointer pointer = new FileWALPointer(idx, 
(int)fileIO.position(), -1);
-RecordV1Serializer.putPosition(buf, pointer);
+final FileWALPointer pointer = new 
FileWALPointer(idx, (int)fileIO.position(), -1);
+RecordV1Serializer.putPosition(buf, pointer);
 
-buf.rewind();
+buf.rewind();
 
-int rem = buf.remaining();
+int rem = buf.remaining();
 
-while (rem > 0) {
-int written0 = fileIO.write(buf, written);
+while (rem > 0) {
+int written0 = fileIO.write(buf, written);
 
-written += written0;
+written += written0;
 
-rem -= written0;
+rem -= written0;
+}
 }
-}
 
-// 

ignite git commit: IGNITE-5901 - Debug

2017-08-10 Thread agoncharuk
Repository: ignite
Updated Branches:
  refs/heads/ignite-5901 96ec4cacf -> fa2b743b2


IGNITE-5901 - Debug


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

Branch: refs/heads/ignite-5901
Commit: fa2b743b209396fa9c39d3624304eb21612e321b
Parents: 96ec4ca
Author: Alexey Goncharuk 
Authored: Thu Aug 10 19:05:02 2017 +0300
Committer: Alexey Goncharuk 
Committed: Thu Aug 10 19:05:02 2017 +0300

--
 .../wal/FileWriteAheadLogManager.java| 19 ++-
 1 file changed, 18 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/fa2b743b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
index 17db8f8..da295aa 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
@@ -24,6 +24,7 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
+import java.nio.channels.AsynchronousCloseException;
 import java.nio.file.Files;
 import java.sql.Time;
 import java.util.Arrays;
@@ -69,6 +70,7 @@ import 
org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor;
 import org.apache.ignite.internal.util.GridUnsafe;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.G;
+import org.apache.ignite.internal.util.typedef.X;
 import org.apache.ignite.internal.util.typedef.internal.A;
 import org.apache.ignite.internal.util.typedef.internal.SB;
 import org.apache.ignite.internal.util.typedef.internal.U;
@@ -1675,6 +1677,9 @@ public class FileWriteAheadLogManager extends 
GridCacheSharedManagerAdapter impl
  */
 private final Condition nextSegment = lock.newCondition();
 
+/** */
+private volatile Exception closeStack;
+
 /**
  * @param fileIO I/O file interface to use
  * @param idx Absolute WAL segment file index for easy access.
@@ -2034,6 +2039,10 @@ public class FileWriteAheadLogManager extends 
GridCacheSharedManagerAdapter impl
 fileIO.force();
 }
 catch (IOException e) {
+if (X.hasCause(e, AsynchronousCloseException.class)) {
+log.error("Was concurrently closed: ", closeStack);
+}
+
 throw new StorageException(e);
 }
 
@@ -2062,7 +2071,9 @@ public class FileWriteAheadLogManager extends 
GridCacheSharedManagerAdapter impl
 if (stop.compareAndSet(false, true)) {
 flushOrWait(null, true);
 
-assert stopped() : "Segment is not closed after close flush: " 
+ head.get();
+WALRecord hd = head.get();
+
+assert stopped() : "Segment is not closed after close flush: " 
+ hd;
 
 try {
 int switchSegmentRecSize = 
RecordV1Serializer.REC_TYPE_SIZE + RecordV1Serializer.FILE_WAL_POINTER_SIZE;
@@ -2095,6 +2106,8 @@ public class FileWriteAheadLogManager extends 
GridCacheSharedManagerAdapter impl
 lastFsyncPos = written;
 }
 
+closeStack = new Exception("written=" + written + ", 
head=" + hd);
+
 fileIO.close();
 }
 catch (IOException e) {
@@ -,6 +2235,10 @@ public class FileWriteAheadLogManager extends 
GridCacheSharedManagerAdapter impl
 assert written == fileIO.position();
 }
 catch (IOException e) {
+if (X.hasCause(e, AsynchronousCloseException.class)) {
+log.error("Was concurrently closed: ", closeStack);
+}
+
 invalidateEnvironmentLocked(e);
 
 throw new StorageException(e);



ignite git commit: IGNITE-5961 - Fixed pages() method for FilePageStore

2017-08-10 Thread agoncharuk
Repository: ignite
Updated Branches:
  refs/heads/master a7ac59f7b -> 7199037d2


IGNITE-5961 - Fixed pages() method for FilePageStore


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

Branch: refs/heads/master
Commit: 7199037d23e6a9115c6b085fb03a3633c73f863d
Parents: a7ac59f
Author: Alexey Goncharuk 
Authored: Thu Aug 10 18:13:17 2017 +0300
Committer: Alexey Goncharuk 
Committed: Thu Aug 10 18:13:17 2017 +0300

--
 .../internal/processors/cache/persistence/file/FilePageStore.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/7199037d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStore.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStore.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStore.java
index 7fe1ffe..e6c5379 100755
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStore.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStore.java
@@ -535,6 +535,6 @@ public class FilePageStore implements PageStore {
 if (!inited)
 return 0;
 
-return (int)(allocated.get() / pageSize);
+return (int)(allocated.get() - headerSize()) / pageSize;
 }
 }



ignite git commit: Merge remote-tracking branch 'apache/ignite-5578' into ignite-5872-5578

2017-08-10 Thread agoncharuk
Repository: ignite
Updated Branches:
  refs/heads/ignite-5872-5578 30339d35c -> 64de3ff31


Merge remote-tracking branch 'apache/ignite-5578' into ignite-5872-5578


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

Branch: refs/heads/ignite-5872-5578
Commit: 64de3ff31f22adfb16a678766db9b88a4d903816
Parents: 30339d3
Author: Alexey Goncharuk 
Authored: Thu Aug 10 17:11:01 2017 +0300
Committer: Alexey Goncharuk 
Committed: Thu Aug 10 17:11:01 2017 +0300

--
 .../dht/preloader/GridDhtPartitionsExchangeFuture.java| 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/64de3ff3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index 861ab38..2c9a4bd 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -2571,7 +2571,8 @@ public class GridDhtPartitionsExchangeFuture extends 
GridDhtTopologyFutureAdapte
 GridDhtPartitionsSingleMessage res = 
cctx.exchange().createPartitionsSingleMessage(
 msg.restoreExchangeId(),
 cctx.kernalContext().clientNode(),
-true);
+true,
+exchActions);
 
 if (localJoinExchange() && finishState0 == null)
 
res.cacheGroupsAffinityRequest(exchCtx.groupsAffinityRequestOnJoin());



ignite git commit: Merge remote-tracking branch 'apache/ignite-5578' into ignite-5872-5578

2017-08-10 Thread agoncharuk
Repository: ignite
Updated Branches:
  refs/heads/ignite-5872-5578 [created] 30339d35c


Merge remote-tracking branch 'apache/ignite-5578' into ignite-5872-5578


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

Branch: refs/heads/ignite-5872-5578
Commit: 30339d35c9bba365db0369ca8d892efb3a2b3a96
Parents: 855ece3 bc9a416
Author: Alexey Goncharuk 
Authored: Thu Aug 10 17:09:53 2017 +0300
Committer: Alexey Goncharuk 
Committed: Thu Aug 10 17:09:53 2017 +0300

--
 .../apache/ignite/IgniteSystemProperties.java   |3 +
 .../java/org/apache/ignite/TestDebugLog.java|  219 ++
 .../internal/IgniteDiagnosticMessage.java   |2 +-
 .../communication/GridIoMessageFactory.java |9 +-
 .../internal/managers/discovery/DiscoCache.java |   79 +-
 .../discovery/GridDiscoveryManager.java |   28 +-
 .../affinity/AffinityTopologyVersion.java   |7 +
 .../affinity/GridAffinityAssignmentCache.java   |   42 +
 .../affinity/GridAffinityProcessor.java |8 +-
 .../cache/CacheAffinitySharedManager.java   |  688 --
 .../processors/cache/CacheGroupContext.java |   18 +-
 .../cache/CachePartitionExchangeWorkerTask.java |5 +-
 .../ClientCacheChangeDummyDiscoveryMessage.java |5 +
 .../cache/ClientCacheUpdateTimeout.java |5 +
 .../processors/cache/ClusterCachesInfo.java |   22 +-
 .../processors/cache/ExchangeContext.java   |  131 ++
 .../cache/ExchangeDiscoveryEvents.java  |  262 +++
 .../processors/cache/GridCacheAdapter.java  |8 +-
 .../processors/cache/GridCacheContext.java  |2 +-
 .../processors/cache/GridCacheIoManager.java|   57 +-
 .../processors/cache/GridCacheMapEntry.java |6 +-
 .../GridCachePartitionExchangeManager.java  |  413 +++-
 .../processors/cache/GridCacheProcessor.java|   14 +-
 .../dht/ClientCacheDhtTopologyFuture.java   |   12 +-
 .../dht/GridClientPartitionTopology.java|  132 +-
 .../distributed/dht/GridDhtCacheAdapter.java|   18 +-
 .../distributed/dht/GridDhtLocalPartition.java  |4 +-
 .../dht/GridDhtPartitionTopology.java   |   37 +-
 .../dht/GridDhtPartitionTopologyImpl.java   |  492 +++--
 .../dht/GridDhtPartitionsReservation.java   |2 +-
 .../distributed/dht/GridDhtTopologyFuture.java  |   36 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |   95 +-
 .../dht/GridPartitionedGetFuture.java   |4 +-
 .../dht/GridPartitionedSingleGetFuture.java |4 +-
 .../GridDhtAtomicAbstractUpdateFuture.java  |2 +-
 .../dht/atomic/GridDhtAtomicCache.java  |   31 +-
 .../GridNearAtomicSingleUpdateFuture.java   |1 -
 .../colocated/GridDhtColocatedLockFuture.java   |2 +-
 .../preloader/CacheGroupAffinityMessage.java|  274 +++
 .../preloader/ForceRebalanceExchangeTask.java   |5 +
 .../preloader/GridDhtPartitionExchangeId.java   |   11 +
 .../dht/preloader/GridDhtPartitionMap.java  |2 +-
 .../dht/preloader/GridDhtPartitionSupplier.java |2 +-
 .../GridDhtPartitionsAbstractMessage.java   |   37 +-
 .../GridDhtPartitionsExchangeFuture.java| 1974 +-
 .../preloader/GridDhtPartitionsFullMessage.java |  161 +-
 .../GridDhtPartitionsSingleMessage.java |   78 +-
 .../GridDhtPartitionsSingleRequest.java |   47 +-
 .../dht/preloader/GridDhtPreloader.java |   34 +-
 .../IgniteDhtPartitionCountersMap.java  |7 +
 .../dht/preloader/InitNewCoordinatorFuture.java |  307 +++
 .../RebalanceReassignExchangeTask.java  |5 +
 .../distributed/near/GridNearCacheAdapter.java  |2 +-
 .../distributed/near/GridNearGetFuture.java |4 +-
 .../distributed/near/GridNearLockFuture.java|2 +-
 ...arOptimisticSerializableTxPrepareFuture.java |1 +
 .../near/GridNearOptimisticTxPrepareFuture.java |1 +
 .../GridNearPessimisticTxPrepareFuture.java |1 +
 .../near/GridNearTxPrepareRequest.java  |   14 +
 .../GridCacheDatabaseSharedManager.java |7 +-
 .../cache/query/GridCacheQueryAdapter.java  |4 +-
 .../cache/transactions/IgniteTxAdapter.java |2 +-
 .../cache/transactions/IgniteTxHandler.java |  184 +-
 .../closure/GridClosureProcessor.java   |   36 +-
 .../cluster/GridClusterStateProcessor.java  |2 +-
 .../datastreamer/DataStreamProcessor.java   |   57 +-
 .../datastreamer/DataStreamerImpl.java  |   65 +-
 .../datastreamer/PlatformDataStreamer.java  |3 +-
 .../query/schema/SchemaExchangeWorkerTask.java  |5 +
 .../SchemaNodeLeaveExchangeWorkerTask.java  |5 +
 .../processors/task/GridTaskWorker.java |

[08/30] ignite git commit: IGNITE-5923: ODBC: SQLGetTypeInfo now works with SQL_ALL_TYPES

2017-08-10 Thread agoncharuk
IGNITE-5923: ODBC: SQLGetTypeInfo now works with SQL_ALL_TYPES


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

Branch: refs/heads/ignite-5872
Commit: 48c914dcc3a092655636b0df5634c6336dd58a9d
Parents: ec115dc
Author: Igor Sapego 
Authored: Fri Aug 4 13:18:00 2017 +0300
Committer: Igor Sapego 
Committed: Fri Aug 4 13:18:00 2017 +0300

--
 modules/platforms/cpp/odbc-test/Makefile.am |   1 +
 .../cpp/odbc-test/include/complex_type.h|  53 +++---
 .../cpp/odbc-test/project/vs/odbc-test.vcxproj  |   1 +
 .../project/vs/odbc-test.vcxproj.filters|   3 +
 .../cpp/odbc-test/src/meta_queries_test.cpp | 189 +++
 modules/platforms/cpp/odbc/src/odbc.cpp |   2 +-
 .../cpp/odbc/src/query/type_info_query.cpp  |   2 +-
 modules/platforms/cpp/odbc/src/statement.cpp|   2 +-
 8 files changed, 223 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/48c914dc/modules/platforms/cpp/odbc-test/Makefile.am
--
diff --git a/modules/platforms/cpp/odbc-test/Makefile.am 
b/modules/platforms/cpp/odbc-test/Makefile.am
index 56ae56a..1d65468 100644
--- a/modules/platforms/cpp/odbc-test/Makefile.am
+++ b/modules/platforms/cpp/odbc-test/Makefile.am
@@ -61,6 +61,7 @@ ignite_odbc_tests_SOURCES = \
 src/column_test.cpp \
 src/configuration_test.cpp \
 src/row_test.cpp \
+src/meta_queries_test.cpp \
 src/utility_test.cpp \
 src/queries_test.cpp \
 src/test_utils.cpp \

http://git-wip-us.apache.org/repos/asf/ignite/blob/48c914dc/modules/platforms/cpp/odbc-test/include/complex_type.h
--
diff --git a/modules/platforms/cpp/odbc-test/include/complex_type.h 
b/modules/platforms/cpp/odbc-test/include/complex_type.h
index 8a1bd59..b4004ea 100644
--- a/modules/platforms/cpp/odbc-test/include/complex_type.h
+++ b/modules/platforms/cpp/odbc-test/include/complex_type.h
@@ -1,4 +1,4 @@
-/*
+/*
  * 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.
@@ -21,7 +21,6 @@
 #include 
 
 #include "ignite/ignite.h"
-#include "ignite/ignition.h"
 
 namespace ignite
 {
@@ -34,6 +33,18 @@ namespace ignite
 // No-op.
 }
 
+friend bool operator==(TestObject const& lhs, TestObject const& rhs)
+{
+return lhs.f1 == rhs.f1 && lhs.f2 == rhs.f2;
+}
+
+friend std::ostream& operator<<(std::ostream& str, TestObject const& 
obj)
+{
+str << "TestObject::f1: " << obj.f1
+<< "TestObject::f2: " << obj.f2;
+return str;
+}
+
 int32_t f1;
 std::string f2;
 };
@@ -46,35 +57,23 @@ namespace ignite
 // No-op.
 }
 
+friend bool operator==(ComplexType const& lhs, ComplexType const& rhs)
+{
+return lhs.i32Field == rhs.i32Field && lhs.objField == 
rhs.objField && lhs.strField == rhs.strField;
+}
+
+friend std::ostream& operator<<(std::ostream& str, ComplexType const& 
obj)
+{
+str << "ComplexType::i32Field: " << obj.i32Field
+<< "ComplexType::objField: " << obj.objField
+<< "ComplexType::strField: " << obj.strField;
+return str;
+}
+
 int32_t i32Field;
 TestObject objField;
 std::string strField;
 };
-
-bool operator==(TestObject const& lhs, TestObject const& rhs)
-{
-return lhs.f1 == rhs.f1 && lhs.f2 == rhs.f2;
-}
-
-bool operator==(ComplexType const& lhs, ComplexType const& rhs)
-{
-return lhs.i32Field == rhs.i32Field && lhs.objField == rhs.objField && 
lhs.strField == rhs.strField;
-}
-
-std::ostream& operator<<(std::ostream& str, TestObject const& obj)
-{
-str << "TestObject::f1: " << obj.f1
-<< "TestObject::f2: " << obj.f2;
-return str;
-}
-
-std::ostream& operator<<(std::ostream& str, ComplexType const& obj)
-{
-str << "ComplexType::i32Field: " << obj.i32Field
-<< "ComplexType::objField: " << obj.objField
-<< "ComplexType::strField: " << obj.strField;
-return str;
-}
 }
 
 namespace ignite

http://git-wip-us.apache.org/repos/asf/ignite/blob/48c914dc/modules/platforms/cpp/odbc-test/project/vs/odbc-test.vcxproj

[06/30] ignite git commit: IGNITE-5126: Batch support for this JDBC driver. This closes #2162.

2017-08-10 Thread agoncharuk
IGNITE-5126: Batch support for this JDBC driver. This closes #2162.


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

Branch: refs/heads/ignite-5872
Commit: 1a7354fa6b45c3c33d3cf3f8a9f4b56bfbf5f507
Parents: e8b355f
Author: tledkov-gridgain 
Authored: Fri Aug 4 11:46:14 2017 +0300
Committer: devozerov 
Committed: Fri Aug 4 11:46:14 2017 +0300

--
 .../jdbc/suite/IgniteJdbcDriverTestSuite.java   |   2 +
 .../ignite/jdbc/thin/JdbcThinBatchSelfTest.java | 333 +++
 .../jdbc/thin/JdbcThinPreparedStatement.java|  16 +-
 .../internal/jdbc/thin/JdbcThinStatement.java   |  46 ++-
 .../internal/jdbc/thin/JdbcThinTcpIo.java   |  20 ++
 .../odbc/jdbc/JdbcBatchExecuteRequest.java  | 109 ++
 .../odbc/jdbc/JdbcBatchExecuteResult.java   |  96 ++
 .../processors/odbc/jdbc/JdbcQuery.java |  95 ++
 .../processors/odbc/jdbc/JdbcRequest.java   |   8 +
 .../odbc/jdbc/JdbcRequestHandler.java   |  66 +++-
 .../processors/odbc/jdbc/JdbcResult.java|  11 +
 11 files changed, 794 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/1a7354fa/modules/clients/src/test/java/org/apache/ignite/jdbc/suite/IgniteJdbcDriverTestSuite.java
--
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/jdbc/suite/IgniteJdbcDriverTestSuite.java
 
b/modules/clients/src/test/java/org/apache/ignite/jdbc/suite/IgniteJdbcDriverTestSuite.java
index 8ca3d45..cf7ee8f 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/jdbc/suite/IgniteJdbcDriverTestSuite.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/jdbc/suite/IgniteJdbcDriverTestSuite.java
@@ -33,6 +33,7 @@ import org.apache.ignite.jdbc.JdbcPreparedStatementSelfTest;
 import org.apache.ignite.jdbc.JdbcResultSetSelfTest;
 import org.apache.ignite.jdbc.JdbcStatementSelfTest;
 import org.apache.ignite.jdbc.thin.JdbcThinAutoCloseServerCursorTest;
+import org.apache.ignite.jdbc.thin.JdbcThinBatchSelfTest;
 import org.apache.ignite.jdbc.thin.JdbcThinComplexQuerySelfTest;
 import org.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest;
 import org.apache.ignite.jdbc.thin.JdbcThinDeleteStatementSelfTest;
@@ -121,6 +122,7 @@ public class IgniteJdbcDriverTestSuite extends TestSuite {
 suite.addTest(new TestSuite(JdbcThinMergeStatementSelfTest.class));
 suite.addTest(new TestSuite(JdbcThinDeleteStatementSelfTest.class));
 suite.addTest(new TestSuite(JdbcThinAutoCloseServerCursorTest.class));
+suite.addTest(new TestSuite(JdbcThinBatchSelfTest.class));
 
 // New thin JDBC driver, DDL tests
 suite.addTest(new 
TestSuite(JdbcThinDynamicIndexAtomicPartitionedNearSelfTest.class));

http://git-wip-us.apache.org/repos/asf/ignite/blob/1a7354fa/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinBatchSelfTest.java
--
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinBatchSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinBatchSelfTest.java
new file mode 100644
index 000..5781e00
--- /dev/null
+++ 
b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinBatchSelfTest.java
@@ -0,0 +1,333 @@
+/*
+ * 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.jdbc.thin;
+
+import java.sql.BatchUpdateException;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.concurrent.Callable;
+import org.apache.ignite.testframework.GridTestUtils;
+
+/**
+ * Statement test.
+ */
+public class JdbcThinBatchSelfTest extends 
JdbcThinAbstractDmlStatementSelfTest {
+/** SQL query. */
+private static final String SQL_PREPARED 

[24/30] ignite git commit: IGNITE-5658 Optimizations for data streamer

2017-08-10 Thread agoncharuk
IGNITE-5658 Optimizations for data streamer


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

Branch: refs/heads/ignite-5872
Commit: aa81dd14a7d0e21d448acf23a8a3d4eca0f8
Parents: 0e0c2c7
Author: Igor Seliverstov 
Authored: Wed Aug 9 19:29:39 2017 +0300
Committer: Yakov Zhdanov 
Committed: Wed Aug 9 19:29:39 2017 +0300

--
 .../org/apache/ignite/IgniteDataStreamer.java   |  26 +-
 .../apache/ignite/IgniteSystemProperties.java   |   8 +
 .../ignite/internal/GridKernalContext.java  |   2 +-
 .../ignite/internal/GridKernalContextImpl.java  |   6 +-
 .../apache/ignite/internal/IgniteKernal.java|   5 +-
 .../ignite/internal/IgniteNodeAttributes.java   |   3 +
 .../org/apache/ignite/internal/IgnitionEx.java  |  23 +-
 .../ignite/internal/jdbc2/JdbcConnection.java   |   5 +-
 .../managers/communication/GridIoManager.java   |   6 +
 .../managers/communication/GridIoMessage.java   |   3 +
 .../cache/persistence/freelist/PagesList.java   |  67 +++--
 .../wal/reader/StandaloneGridKernalContext.java |   2 +-
 .../datastreamer/DataStreamerImpl.java  | 281 ---
 .../datastreamer/DataStreamerRequest.java   |  59 +++-
 .../ignite/internal/util/StripedExecutor.java   |  89 +-
 .../org/apache/ignite/thread/IgniteThread.java  |  10 +
 .../DataStreamProcessorSelfTest.java|  14 +-
 .../datastreamer/DataStreamerImplSelfTest.java  |   3 +-
 18 files changed, 427 insertions(+), 185 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/aa81dd14/modules/core/src/main/java/org/apache/ignite/IgniteDataStreamer.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/IgniteDataStreamer.java 
b/modules/core/src/main/java/org/apache/ignite/IgniteDataStreamer.java
index e2473dc..b1f5851 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteDataStreamer.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteDataStreamer.java
@@ -20,6 +20,7 @@ package org.apache.ignite;
 import java.util.Collection;
 import java.util.Map;
 import javax.cache.CacheException;
+import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.lang.IgniteBiPredicate;
 import org.apache.ignite.lang.IgniteFuture;
 import org.apache.ignite.stream.StreamReceiver;
@@ -72,7 +73,7 @@ import org.jetbrains.annotations.Nullable;
  *  this setting limits maximum allowed number of parallel buffered stream 
messages that
  *  are being processed on remote nodes. If this number is exceeded, then
  *  {@link #addData(Object, Object)} method will block to control memory 
utilization.
- *  Default is defined by {@link #DFLT_MAX_PARALLEL_OPS} value.
+ *  Default is equal to CPU count on remote node multiply by {@link 
#DFLT_PARALLEL_OPS_MULTIPLIER}.
  *  
  *  
  *  {@link #autoFlushFrequency(long)} - automatic flush frequency in 
milliseconds. Essentially,
@@ -100,11 +101,23 @@ import org.jetbrains.annotations.Nullable;
  * 
  */
 public interface IgniteDataStreamer extends AutoCloseable {
-/** Default max concurrent put operations count. */
+/**
+ * Default max concurrent put operations count.
+ * @deprecated Is not used anymore.
+ */
+@Deprecated
 public static final int DFLT_MAX_PARALLEL_OPS = 16;
 
-/** Default per node buffer size. */
-public static final int DFLT_PER_NODE_BUFFER_SIZE = 1024;
+/**
+ * Default multiplier for data streamer pool size to get concurrent 
batches count for each remote node.
+ *
+ * @see IgniteConfiguration#getDataStreamerThreadPoolSize()
+ * @see #perNodeParallelOperations()
+ */
+public static final int DFLT_PARALLEL_OPS_MULTIPLIER = 8;
+
+/** Default operations batch size to sent to remote node for loading. */
+public static final int DFLT_PER_NODE_BUFFER_SIZE = 512;
 
 /** Default timeout for streamer's operations. */
 public static final long DFLT_UNLIMIT_TIMEOUT = -1;
@@ -203,9 +216,11 @@ public interface IgniteDataStreamer extends 
AutoCloseable {
  * 
  * This method should be called prior to {@link #addData(Object, Object)} 
call.
  * 
- * If not provided, default value is {@link #DFLT_MAX_PARALLEL_OPS}.
+ * If not provided, default value is calculated as follows
+ * {@link #DFLT_PARALLEL_OPS_MULTIPLIER} * {@code 
DATA_STREAMER_POOL_SIZE_ON_REMOTE_NODE}.
  *
  * @param parallelOps Maximum number of parallel stream operations for a 
single node.
+ * @see IgniteConfiguration#getDataStreamerThreadPoolSize()
  */
 

[20/30] ignite git commit: IGNITE-5734 Web Console: Fixed npm dependencies.

2017-08-10 Thread agoncharuk
IGNITE-5734 Web Console: Fixed npm dependencies.


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

Branch: refs/heads/ignite-5872
Commit: aeafbf10c13af75556a019749e54c9e4251d91b7
Parents: ebed404
Author: Alexey Kuznetsov 
Authored: Wed Aug 9 17:22:54 2017 +0700
Committer: Alexey Kuznetsov 
Committed: Wed Aug 9 17:22:54 2017 +0700

--
 modules/web-console/frontend/package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/aeafbf10/modules/web-console/frontend/package.json
--
diff --git a/modules/web-console/frontend/package.json 
b/modules/web-console/frontend/package.json
index 6b049ff..f96c322 100644
--- a/modules/web-console/frontend/package.json
+++ b/modules/web-console/frontend/package.json
@@ -57,7 +57,7 @@
 "babel-polyfill": "6.23.0",
 "babel-preset-es2015": "6.24.1",
 "babel-preset-stage-1": "6.24.1",
-"babel-runtime": "6.23.0",
+"babel-runtime": "6.25.0",
 "bootstrap-sass": "3.3.7",
 "brace": "0.10.0",
 "copy-webpack-plugin": "4.0.1",



[21/30] ignite git commit: IGNITE-5897 Fix session init/end logic. This fixes tests.

2017-08-10 Thread agoncharuk
IGNITE-5897 Fix session init/end logic. This fixes tests.

Signed-off-by: nikolay_tikhonov 


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

Branch: refs/heads/ignite-5872
Commit: 5a559dfa167db3ff90f35ac06624afc2688dacb9
Parents: aeafbf1
Author: Nikolay Izhikov 
Authored: Wed Aug 9 13:37:11 2017 +0300
Committer: nikolay_tikhonov 
Committed: Wed Aug 9 13:37:11 2017 +0300

--
 .../cache/store/CacheStoreManager.java  |  4 +++-
 .../store/GridCacheStoreManagerAdapter.java | 20 +---
 .../cache/transactions/IgniteTxAdapter.java |  9 +++--
 3 files changed, 19 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/5a559dfa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/CacheStoreManager.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/CacheStoreManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/CacheStoreManager.java
index c56a25c..83428b3 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/CacheStoreManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/CacheStoreManager.java
@@ -168,9 +168,11 @@ public interface CacheStoreManager extends 
GridCacheManager {
 /**
  * @param tx Transaction.
  * @param commit Commit.
+ * @param last {@code True} if this is last store in transaction.
+ * @param storeSessionEnded {@code True} if session for underlying store 
already ended.
  * @throws IgniteCheckedException If failed.
  */
-public void sessionEnd(IgniteInternalTx tx, boolean commit, boolean last) 
throws IgniteCheckedException;
+public void sessionEnd(IgniteInternalTx tx, boolean commit, boolean last, 
boolean storeSessionEnded) throws IgniteCheckedException;
 
 /**
  * End session initiated by write-behind store.

http://git-wip-us.apache.org/repos/asf/ignite/blob/5a559dfa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java
index 83f07fb..9fe1f0c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java
@@ -774,7 +774,8 @@ public abstract class GridCacheStoreManagerAdapter extends 
GridCacheManagerAdapt
 }
 
 /** {@inheritDoc} */
-@Override public final void sessionEnd(IgniteInternalTx tx, boolean 
commit, boolean last) throws IgniteCheckedException {
+@Override public final void sessionEnd(IgniteInternalTx tx, boolean 
commit, boolean last,
+boolean storeSessionEnded) throws IgniteCheckedException {
 assert store != null;
 
 sessionInit0(tx);
@@ -785,7 +786,7 @@ public abstract class GridCacheStoreManagerAdapter extends 
GridCacheManagerAdapt
 lsnr.onSessionEnd(locSes, commit);
 }
 
-if (!sesHolder.get().ended(store))
+if (!sesHolder.get().ended(store) && !storeSessionEnded)
 store.sessionEnd(commit);
 }
 catch (Throwable e) {
@@ -854,7 +855,7 @@ public abstract class GridCacheStoreManagerAdapter extends 
GridCacheManagerAdapt
 sesHolder.set(ses);
 
 try {
-if (sesLsnrs != null && !ses.started(this)) {
+if (!ses.started(store) && sesLsnrs != null) {
 for (CacheStoreSessionListener lsnr : sesLsnrs)
 lsnr.onSessionStart(locSes);
 }
@@ -918,11 +919,8 @@ public abstract class GridCacheStoreManagerAdapter extends 
GridCacheManagerAdapt
 private Object attach;
 
 /** */
-private final Set started =
-new GridSetWrapper<>(new IdentityHashMap());
-
-/** */
-private final Set ended = new GridSetWrapper<>(new 
IdentityHashMap());
+private final Set started =
+new GridSetWrapper<>(new IdentityHashMap());
 
 /**
  * @param 

[19/30] ignite git commit: IGNITE-5993: Removed unused SQL-related classes and methods (old tree index, snapshots, etc). This closes #2414.

2017-08-10 Thread agoncharuk
IGNITE-5993: Removed unused SQL-related classes and methods (old tree index, 
snapshots, etc). This closes #2414.


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

Branch: refs/heads/ignite-5872
Commit: ebed404bd1932fc8a937ce34140e5a2fd69f5f59
Parents: 870ecf8
Author: devozerov 
Authored: Wed Aug 9 11:47:58 2017 +0300
Committer: devozerov 
Committed: Wed Aug 9 11:47:58 2017 +0300

--
 .../query/h2/opt/GridH2SpatialIndex.java|   7 -
 .../processors/query/h2/H2RowDescriptor.java|  11 -
 .../processors/query/h2/H2TableEngine.java  |   4 +-
 .../query/h2/database/H2PkHashIndex.java|   7 -
 .../query/h2/database/H2TreeIndex.java  |  26 -
 .../query/h2/opt/GridH2IndexBase.java   |  93 +--
 .../query/h2/opt/GridH2QueryContext.java|  59 --
 .../query/h2/opt/GridH2RowDescriptor.java   |   5 -
 .../processors/query/h2/opt/GridH2Table.java| 186 +-
 .../query/h2/opt/GridH2TreeIndex.java   | 602 ---
 .../query/h2/twostep/GridMapQueryExecutor.java  |  25 -
 .../query/h2/opt/GridH2TableSelfTest.java   | 172 --
 12 files changed, 7 insertions(+), 1190 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/ebed404b/modules/geospatial/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2SpatialIndex.java
--
diff --git 
a/modules/geospatial/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2SpatialIndex.java
 
b/modules/geospatial/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2SpatialIndex.java
index 9389290..d83e860 100644
--- 
a/modules/geospatial/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2SpatialIndex.java
+++ 
b/modules/geospatial/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2SpatialIndex.java
@@ -31,7 +31,6 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.processors.query.h2.H2Cursor;
 import org.apache.ignite.internal.util.GridCursorIteratorWrapper;
-import org.apache.ignite.internal.util.IgniteTree;
 import org.apache.ignite.internal.util.lang.GridCursor;
 import org.h2.engine.Session;
 import org.h2.index.Cursor;
@@ -51,7 +50,6 @@ import org.h2.table.IndexColumn;
 import org.h2.table.TableFilter;
 import org.h2.value.Value;
 import org.h2.value.ValueGeometry;
-import org.jetbrains.annotations.Nullable;
 
 import static 
org.apache.ignite.internal.processors.query.h2.opt.GridH2AbstractKeyValueRow.KEY_COL;
 
@@ -158,11 +156,6 @@ public class GridH2SpatialIndex extends GridH2IndexBase 
implements SpatialIndex
 }
 
 /** {@inheritDoc} */
-@Nullable @Override protected IgniteTree doTakeSnapshot() {
-return null; // TODO We do not support snapshots, but probably this is 
possible.
-}
-
-/** {@inheritDoc} */
 @Override public GridH2Row put(GridH2Row row) {
 assert row instanceof GridH2AbstractKeyValueRow : "requires key to be 
at 0";
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/ebed404b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/H2RowDescriptor.java
--
diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/H2RowDescriptor.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/H2RowDescriptor.java
index dab83d1..31f0e69 100644
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/H2RowDescriptor.java
+++ 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/H2RowDescriptor.java
@@ -107,9 +107,6 @@ public class H2RowDescriptor implements GridH2RowDescriptor 
{
 private final GridUnsafeGuard guard;
 
 /** */
-private final boolean snapshotableIdx;
-
-/** */
 private final GridQueryProperty[] props;
 
 /** Id of user-defined key column */
@@ -170,9 +167,6 @@ public class H2RowDescriptor implements GridH2RowDescriptor 
{
 
 valueAliasColumnId =
 (type.valueFieldName() != null) ? DEFAULT_COLUMNS_COUNT + 
fieldsList.indexOf(type.valueFieldAlias()) : -1;
-
-// Index is not snapshotable in db-x.
-snapshotableIdx = false;
 }
 
 /** {@inheritDoc} */
@@ -382,11 +376,6 @@ public class H2RowDescriptor implements 
GridH2RowDescriptor {
 }
 
 /** {@inheritDoc} */
-@Override public boolean snapshotableIndex() {
-

[18/30] ignite git commit: Merge remote-tracking branch 'origin/master'

2017-08-10 Thread agoncharuk
Merge remote-tracking branch 'origin/master'


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

Branch: refs/heads/ignite-5872
Commit: 870ecf89d94c108c62442263e0ac298697d341d1
Parents: e28d0d6 c141ded
Author: devozerov 
Authored: Tue Aug 8 15:17:18 2017 +0300
Committer: devozerov 
Committed: Tue Aug 8 15:17:18 2017 +0300

--
 .../processors/cache/GridCacheAbstractLocalStoreSelfTest.java | 7 +++
 1 file changed, 7 insertions(+)
--




[04/30] ignite git commit: IGNITE-5920: Fixed CacheClientBinaryQueryExample": set CacheKeyConfiguration explicitly to enable affinity co-location. This closes #2389.

2017-08-10 Thread agoncharuk
IGNITE-5920: Fixed CacheClientBinaryQueryExample": set CacheKeyConfiguration 
explicitly to enable affinity co-location. This closes #2389.


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

Branch: refs/heads/ignite-5872
Commit: e8b355f9d375e6d53a5fc55008a9c38864fba0a8
Parents: 80cc292
Author: tledkov-gridgain 
Authored: Fri Aug 4 11:16:52 2017 +0300
Committer: devozerov 
Committed: Fri Aug 4 11:16:52 2017 +0300

--
 .../examples/binary/datagrid/CacheClientBinaryQueryExample.java   | 3 +++
 1 file changed, 3 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/e8b355f9/examples/src/main/java/org/apache/ignite/examples/binary/datagrid/CacheClientBinaryQueryExample.java
--
diff --git 
a/examples/src/main/java/org/apache/ignite/examples/binary/datagrid/CacheClientBinaryQueryExample.java
 
b/examples/src/main/java/org/apache/ignite/examples/binary/datagrid/CacheClientBinaryQueryExample.java
index c2d4964..a3c9996 100644
--- 
a/examples/src/main/java/org/apache/ignite/examples/binary/datagrid/CacheClientBinaryQueryExample.java
+++ 
b/examples/src/main/java/org/apache/ignite/examples/binary/datagrid/CacheClientBinaryQueryExample.java
@@ -25,6 +25,7 @@ import javax.cache.Cache;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.Ignition;
+import org.apache.ignite.cache.CacheKeyConfiguration;
 import org.apache.ignite.cache.CacheMode;
 import org.apache.ignite.cache.QueryEntity;
 import org.apache.ignite.cache.QueryIndex;
@@ -84,6 +85,8 @@ public class CacheClientBinaryQueryExample {
 
 
employeeCacheCfg.setQueryEntities(Arrays.asList(createEmployeeQueryEntity()));
 
+employeeCacheCfg.setKeyConfiguration(new 
CacheKeyConfiguration(EmployeeKey.class));
+
 try (IgniteCache orgCache = 
ignite.getOrCreateCache(orgCacheCfg);
  IgniteCache employeeCache = 
ignite.getOrCreateCache(employeeCacheCfg)
 ) {



[22/30] ignite git commit: IGNITE-5987 Added -nq (visor will not quit in batch mode) option for Visor Cmd.

2017-08-10 Thread agoncharuk
IGNITE-5987 Added -nq (visor will not quit in batch mode) option for Visor Cmd.


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

Branch: refs/heads/ignite-5872
Commit: 8d6e8420fdf1fcd853277704fd68c2d48ac1012d
Parents: 5a559df
Author: Alexey Kuznetsov 
Authored: Wed Aug 9 18:55:04 2017 +0700
Committer: Alexey Kuznetsov 
Committed: Wed Aug 9 18:55:04 2017 +0700

--
 .../org/apache/ignite/visor/commands/VisorConsole.scala | 12 ++--
 1 file changed, 10 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/8d6e8420/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/VisorConsole.scala
--
diff --git 
a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/VisorConsole.scala
 
b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/VisorConsole.scala
index 19d130e..d53a0d5 100644
--- 
a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/VisorConsole.scala
+++ 
b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/VisorConsole.scala
@@ -92,6 +92,7 @@ class VisorConsole {
 println("-cfg=  - connect with specified 
configuration.")
 println("-b=- batch mode with file.")
 println("-e=cmd1;cmd2;... - batch mode with commands.")
+println("-nq  - batch mode will not quit 
after execution (useful for alerts monitoring).")
 
 visor.quit()
 }
@@ -103,6 +104,10 @@ class VisorConsole {
 val cfgFile = argValue("cfg", argLst)
 val batchFile = argValue("b", argLst)
 val batchCommand = argValue("e", argLst)
+val noBatchQuit = hasArgName("nq", argLst)
+
+if (noBatchQuit && batchFile.isEmpty && batchCommand.isEmpty)
+visor.warn("Option \"-nq\" will be ignored because batch mode 
options \"-b\" or \"-e\" were not specified.")
 
 cfgFile.foreach(cfg => {
 if (cfg.trim.isEmpty) {
@@ -149,7 +154,10 @@ class VisorConsole {
 case Some(cmd) =>
 visor.batchMode = true
 
-new ByteArrayInputStream((cmd + "\nquit\n").getBytes("UTF-8"))
+val script = if (noBatchQuit) cmd else cmd + "\nquit\n"
+
+new ByteArrayInputStream(script.getBytes("UTF-8"))
+
 case None => new FileInputStream(FileDescriptor.in)
 }
 
@@ -159,7 +167,7 @@ class VisorConsole {
 
 new TerminalSupport(false) {}
 } catch {
-case ignored: ClassNotFoundException => null
+case _: ClassNotFoundException => null
 }
 
 val reader = new ConsoleReader(inputStream, System.out, term)



[16/30] ignite git commit: IGNITE-5984 - Test fix: scan for a test key only after late affinity assignment changes

2017-08-10 Thread agoncharuk
IGNITE-5984 - Test fix: scan for a test key only after late affinity assignment 
changes


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

Branch: refs/heads/ignite-5872
Commit: c141ded2565b0b277add5007f73a6fa7e97b3372
Parents: 9da6938
Author: Alexey Goncharuk 
Authored: Tue Aug 8 14:53:34 2017 +0300
Committer: Alexey Goncharuk 
Committed: Tue Aug 8 14:53:34 2017 +0300

--
 .../processors/cache/GridCacheAbstractLocalStoreSelfTest.java | 7 +++
 1 file changed, 7 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/c141ded2/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractLocalStoreSelfTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractLocalStoreSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractLocalStoreSelfTest.java
index ae9986d..328cde8 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractLocalStoreSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractLocalStoreSelfTest.java
@@ -47,6 +47,7 @@ import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.configuration.NearCacheConfiguration;
 import org.apache.ignite.events.Event;
 import org.apache.ignite.events.EventType;
+import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.store.CacheLocalStore;
 import org.apache.ignite.internal.util.lang.GridAbsPredicate;
 import org.apache.ignite.internal.util.typedef.G;
@@ -294,6 +295,12 @@ public abstract class GridCacheAbstractLocalStoreSelfTest 
extends GridCommonAbst
 
 awaitPartitionMapExchange();
 
+// We need a backup key on grid 1, so we must wait for late affinity 
assignment to change.
+AffinityTopologyVersion waitTopVer = new AffinityTopologyVersion(2, 1);
+
+
grid(1).context().cache().context().exchange().affinityReadyFuture(waitTopVer).get();
+
grid(2).context().cache().context().exchange().affinityReadyFuture(waitTopVer).get();
+
 final String name = BACKUP_CACHE_2;
 
 int key1 = -1;



[26/30] ignite git commit: Merge remote-tracking branch 'community/ignite-2.1.3'

2017-08-10 Thread agoncharuk
Merge remote-tracking branch 'community/ignite-2.1.3'


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

Branch: refs/heads/ignite-5872
Commit: b5ad7296997185ed2d078614b3ed6e9a6f405670
Parents: 988ffe3 2e5c343
Author: Alexey Goncharuk 
Authored: Thu Aug 10 12:08:41 2017 +0300
Committer: Alexey Goncharuk 
Committed: Thu Aug 10 12:08:41 2017 +0300

--
 .../cache/persistence/tree/io/PagePartitionCountersIO.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[10/30] ignite git commit: IGNITE-4800: Lucene query may fails with NPE. This closes #2315.

2017-08-10 Thread agoncharuk
IGNITE-4800: Lucene query may fails with NPE. This closes #2315.


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

Branch: refs/heads/ignite-5872
Commit: 359777f2355483b3d206b874117d680076a03853
Parents: 48c914d
Author: Andrey V. Mashenkov 
Authored: Mon Jul 31 17:32:12 2017 +0300
Committer: Andrey V. Mashenkov 
Committed: Fri Aug 4 18:06:18 2017 +0300

--
 .../query/h2/opt/GridLuceneDirectory.java   | 64 +++---
 .../processors/query/h2/opt/GridLuceneFile.java | 91 +++-
 .../query/h2/opt/GridLuceneIndex.java   |  3 +-
 .../query/h2/opt/GridLuceneInputStream.java | 42 ++---
 .../query/h2/opt/GridLuceneOutputStream.java| 18 +++-
 ...teCacheFullTextQueryNodeJoiningSelfTest.java |  3 +-
 .../IgniteCacheQuerySelfTestSuite.java  |  2 +
 7 files changed, 176 insertions(+), 47 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/359777f2/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneDirectory.java
--
diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneDirectory.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneDirectory.java
index ff20987..3ac9641 100644
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneDirectory.java
+++ 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneDirectory.java
@@ -21,22 +21,27 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicLong;
+import org.apache.ignite.IgniteException;
 import org.apache.ignite.internal.util.offheap.unsafe.GridUnsafeMemory;
+import org.apache.ignite.internal.util.typedef.F;
 import org.apache.lucene.store.BaseDirectory;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.util.Accountable;
+import org.apache.lucene.util.Accountables;
 
 /**
  * A memory-resident {@link Directory} implementation.
  */
-public class GridLuceneDirectory extends BaseDirectory {
+public class GridLuceneDirectory extends BaseDirectory implements Accountable {
 /** */
 protected final Map fileMap = new 
ConcurrentHashMap<>();
 
@@ -51,7 +56,7 @@ public class GridLuceneDirectory extends BaseDirectory {
  *
  * @param mem Memory.
  */
-public GridLuceneDirectory(GridUnsafeMemory mem) {
+GridLuceneDirectory(GridUnsafeMemory mem) {
 super(new GridLuceneLockFactory());
 
 this.mem = mem;
@@ -64,10 +69,7 @@ public class GridLuceneDirectory extends BaseDirectory {
 // and the code below is resilient to map changes during the array 
population.
 Set fileNames = fileMap.keySet();
 
-List names = new ArrayList<>(fileNames.size());
-
-for (String name : fileNames)
-names.add(name);
+List names = new ArrayList<>(fileNames);
 
 return names.toArray(new String[names.size()]);
 }
@@ -82,6 +84,7 @@ public class GridLuceneDirectory extends BaseDirectory {
 throw new FileNotFoundException(source);
 
 fileMap.put(dest, file);
+
 fileMap.remove(source);
 }
 
@@ -101,21 +104,25 @@ public class GridLuceneDirectory extends BaseDirectory {
 @Override public void deleteFile(String name) throws IOException {
 ensureOpen();
 
-doDeleteFile(name);
+doDeleteFile(name, false);
 }
 
 /**
  * Deletes file.
  *
  * @param name File name.
+ * @param onClose If on close directory;
  * @throws IOException If failed.
  */
-private void doDeleteFile(String name) throws IOException {
+private void doDeleteFile(String name, boolean onClose) throws IOException 
{
 GridLuceneFile file = fileMap.remove(name);
 
 if (file != null) {
 file.delete();
 
+// All files should be closed when Directory is closing.
+assert !onClose || !file.hasRefs() : "Possible memory leak, 
resource is not closed: " + file.toString();
+
 

[14/30] ignite git commit: IGNITE-5880: BLAS integration phase 2

2017-08-10 Thread agoncharuk
IGNITE-5880: BLAS integration phase 2


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

Branch: refs/heads/ignite-5872
Commit: 488a6d271bbeb60d424745fb20ef856c624e2fcb
Parents: 9b730e7
Author: Yury Babak 
Authored: Mon Aug 7 17:24:21 2017 +0300
Committer: Igor Sapego 
Committed: Mon Aug 7 17:24:21 2017 +0300

--
 .../java/org/apache/ignite/ml/math/Blas.java| 157 ---
 .../ml/math/impls/matrix/AbstractMatrix.java|   3 +-
 .../storage/vector/MatrixVectorStorage.java |  11 ++
 .../vector/SparseLocalOnHeapVectorStorage.java  |   9 ++
 .../impls/matrix/MatrixImplementationsTest.java |   5 +-
 .../RandomAccessSparseVectorStorageTest.java|   4 +-
 6 files changed, 56 insertions(+), 133 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/488a6d27/modules/ml/src/main/java/org/apache/ignite/ml/math/Blas.java
--
diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/Blas.java 
b/modules/ml/src/main/java/org/apache/ignite/ml/math/Blas.java
index 29312e5..a61d796 100644
--- a/modules/ml/src/main/java/org/apache/ignite/ml/math/Blas.java
+++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/Blas.java
@@ -19,8 +19,6 @@ package org.apache.ignite.ml.math;
 
 import com.github.fommil.netlib.BLAS;
 import com.github.fommil.netlib.F2jBLAS;
-import it.unimi.dsi.fastutil.ints.IntIterator;
-import it.unimi.dsi.fastutil.ints.IntSet;
 import java.util.Set;
 import org.apache.ignite.ml.math.exceptions.CardinalityException;
 import org.apache.ignite.ml.math.exceptions.MathIllegalArgumentException;
@@ -30,7 +28,10 @@ import 
org.apache.ignite.ml.math.impls.matrix.DenseLocalOnHeapMatrix;
 import org.apache.ignite.ml.math.impls.matrix.SparseBlockDistributedMatrix;
 import org.apache.ignite.ml.math.impls.matrix.SparseDistributedMatrix;
 import org.apache.ignite.ml.math.impls.matrix.SparseLocalOnHeapMatrix;
+import org.apache.ignite.ml.math.impls.vector.CacheVector;
+import org.apache.ignite.ml.math.impls.vector.DenseLocalOffHeapVector;
 import org.apache.ignite.ml.math.impls.vector.DenseLocalOnHeapVector;
+import org.apache.ignite.ml.math.impls.vector.SparseLocalOffHeapVector;
 import org.apache.ignite.ml.math.impls.vector.SparseLocalVector;
 import org.apache.ignite.ml.math.util.MatrixUtil;
 
@@ -244,9 +245,9 @@ public class Blas {
 else if (alpha == 0.0)
 scal(c, beta);
 else {
-checkTypes(a, "gemm");
-checkTypes(b, "gemm");
-checkTypes(c, "gemm");
+checkMatrixType(a, "gemm");
+checkMatrixType(b, "gemm");
+checkMatrixType(c, "gemm");
 
 double[] fA = a.getStorage().data();
 double[] fB = b.getStorage().data();
@@ -265,7 +266,7 @@ public class Blas {
 /**
  * Currently we support only local onheap matrices for BLAS.
  */
-private static void checkTypes(Matrix a, String op){
+private static void checkMatrixType(Matrix a, String op){
 if (a instanceof DenseLocalOffHeapMatrix || a instanceof 
SparseDistributedMatrix
 || a instanceof SparseBlockDistributedMatrix)
 throw new IllegalArgumentException("Operation doesn't support for 
matrix [class="
@@ -273,37 +274,12 @@ public class Blas {
 }
 
 /**
- * y := alpha * A * x + beta * y.
- *
- * @param alpha Alpha.
- * @param a Matrix a.
- * @param x Vector x.
- * @param beta Beta.
- * @param y Vector y.
+ * Currently we support only local onheap vectors for BLAS.
  */
-public static void gemv(double alpha, Matrix a, Vector x, double beta, 
DenseLocalOnHeapVector y) {
-checkCardinality(a, x);
-checkCardinality(a, y);
-
-if (alpha == 0.0 && beta == 1.0)
-return;
-
-if (alpha == 0.0) {
-scal(y, beta);
-return;
-}
-
-if (a instanceof SparseLocalOnHeapMatrix && x instanceof 
DenseLocalOnHeapVector)
-gemv(alpha, (SparseLocalOnHeapMatrix)a, (DenseLocalOnHeapVector)x, 
beta, y);
-else if (a instanceof SparseLocalOnHeapMatrix && x instanceof 
SparseLocalVector)
-gemv(alpha, (SparseLocalOnHeapMatrix)a, (SparseLocalVector)x, 
beta, y);
-else if (a instanceof DenseLocalOnHeapMatrix && x instanceof 
DenseLocalOnHeapVector)
-gemv(alpha, (DenseLocalOnHeapMatrix)a, (DenseLocalOnHeapVector)x, 
beta, y);
-else if (a instanceof DenseLocalOnHeapMatrix && x instanceof 
SparseLocalVector)
-gemv(alpha, (DenseLocalOnHeapMatrix)a, 

[05/30] ignite git commit: IGNITE-5920: Fixed CacheClientBinaryQueryExample": set CacheKeyConfiguration explicitly to enable affinity co-location. This closes #2389.

2017-08-10 Thread agoncharuk
IGNITE-5920: Fixed CacheClientBinaryQueryExample": set CacheKeyConfiguration 
explicitly to enable affinity co-location. This closes #2389.


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

Branch: refs/heads/ignite-5872
Commit: eb336074c91da2e35aab4ca9f69a5d7191b3701b
Parents: 6bdad4d
Author: tledkov-gridgain 
Authored: Fri Aug 4 11:16:52 2017 +0300
Committer: devozerov 
Committed: Fri Aug 4 11:18:09 2017 +0300

--
 .../examples/binary/datagrid/CacheClientBinaryQueryExample.java   | 3 +++
 1 file changed, 3 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/eb336074/examples/src/main/java/org/apache/ignite/examples/binary/datagrid/CacheClientBinaryQueryExample.java
--
diff --git 
a/examples/src/main/java/org/apache/ignite/examples/binary/datagrid/CacheClientBinaryQueryExample.java
 
b/examples/src/main/java/org/apache/ignite/examples/binary/datagrid/CacheClientBinaryQueryExample.java
index c2d4964..a3c9996 100644
--- 
a/examples/src/main/java/org/apache/ignite/examples/binary/datagrid/CacheClientBinaryQueryExample.java
+++ 
b/examples/src/main/java/org/apache/ignite/examples/binary/datagrid/CacheClientBinaryQueryExample.java
@@ -25,6 +25,7 @@ import javax.cache.Cache;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.Ignition;
+import org.apache.ignite.cache.CacheKeyConfiguration;
 import org.apache.ignite.cache.CacheMode;
 import org.apache.ignite.cache.QueryEntity;
 import org.apache.ignite.cache.QueryIndex;
@@ -84,6 +85,8 @@ public class CacheClientBinaryQueryExample {
 
 
employeeCacheCfg.setQueryEntities(Arrays.asList(createEmployeeQueryEntity()));
 
+employeeCacheCfg.setKeyConfiguration(new 
CacheKeyConfiguration(EmployeeKey.class));
+
 try (IgniteCache orgCache = 
ignite.getOrCreateCache(orgCacheCfg);
  IgniteCache employeeCache = 
ignite.getOrCreateCache(employeeCacheCfg)
 ) {



[03/30] ignite git commit: Merge branches 'ignite-2.1.3' and 'master'.

2017-08-10 Thread agoncharuk
Merge branches 'ignite-2.1.3' and 'master'.


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

Branch: refs/heads/ignite-5872
Commit: 80cc292c0d09acdb327047090c1d1448ef6b
Parents: d2cb2f7 6bdad4d
Author: Alexey Kuznetsov 
Authored: Thu Aug 3 11:52:06 2017 +0700
Committer: Alexey Kuznetsov 
Committed: Thu Aug 3 11:52:06 2017 +0700

--
 modules/web-console/backend/app/mongo.js   |  2 +-
 modules/web-console/backend/middlewares/api.js |  9 -
 modules/web-console/backend/services/activities.js | 12 ++--
 .../modules/configuration/generator/Maven.service.js   | 13 ++---
 4 files changed, 17 insertions(+), 19 deletions(-)
--




[25/30] ignite git commit: IGNITE-5912: Redis EXPIRE/PEXPIRE commands. - Fixes #2383.

2017-08-10 Thread agoncharuk
IGNITE-5912: Redis EXPIRE/PEXPIRE commands. - Fixes #2383.

Signed-off-by: shroman 


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

Branch: refs/heads/ignite-5872
Commit: 988ffe3e131792072e743e103f524ec20394f8e0
Parents: aa81dd1
Author: shroman 
Authored: Thu Aug 10 09:51:05 2017 +0900
Committer: shroman 
Committed: Thu Aug 10 09:51:05 2017 +0900

--
 .../tcp/redis/RedisProtocolStringSelfTest.java  |  44 
 .../processors/rest/GridRestCommand.java|   3 +
 .../handlers/cache/GridCacheCommandHandler.java |  75 +-
 .../key/GridRedisExpireCommandHandler.java  | 101 +++
 .../protocols/tcp/redis/GridRedisCommand.java   |   4 +
 .../tcp/redis/GridRedisNioListener.java |   2 +
 6 files changed, 228 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/988ffe3e/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/protocols/tcp/redis/RedisProtocolStringSelfTest.java
--
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/protocols/tcp/redis/RedisProtocolStringSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/protocols/tcp/redis/RedisProtocolStringSelfTest.java
index 68b42c4..21a9882 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/protocols/tcp/redis/RedisProtocolStringSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/protocols/tcp/redis/RedisProtocolStringSelfTest.java
@@ -423,4 +423,48 @@ public class RedisProtocolStringSelfTest extends 
RedisCommonAbstractTest {
 Assert.assertEquals(2, (long)jedis.exists("existsKey1", 
"existsKey2"));
 }
 }
+
+/**
+ * @throws Exception If failed.
+ */
+public void testExpire() throws Exception {
+testExpire(new Expiration() {
+@Override public long expire(Jedis jedis, String key) {
+return jedis.expire("k1", 2);
+}
+});
+}
+
+/**
+ * @throws Exception If failed.
+ */
+public void testExpireMs() throws Exception {
+testExpire(new Expiration() {
+@Override public long expire(Jedis jedis, String key) {
+return jedis.pexpire("k1", 2000);
+}
+});
+}
+
+private void testExpire(Expiration exp) throws Exception {
+try (Jedis jedis = pool.getResource()) {
+jedis.set("k1", "v1");
+
+Assert.assertTrue(jedis.exists("k1"));
+
+Assert.assertEquals(1L, exp.expire(jedis, "k1"));
+
+Assert.assertEquals("v1", jedis.get("k1"));
+
+Thread.sleep(2100);
+
+Assert.assertFalse(jedis.exists("k1"));
+
+Assert.assertEquals(0L, (long)jedis.expire("k1", 2));
+}
+}
+
+private interface Expiration {
+long expire(Jedis jedis, String key);
+}
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/988ffe3e/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestCommand.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestCommand.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestCommand.java
index 2ed370d..24b4bda 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestCommand.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestCommand.java
@@ -99,6 +99,9 @@ public enum GridRestCommand {
 /** Cache size. */
 CACHE_SIZE("size"),
 
+/** Set TTL for the key. */
+CACHE_UPDATE_TLL("updatettl"),
+
 /** Cache metadata. */
 CACHE_METADATA("metadata"),
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/988ffe3e/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java
index f2ca071..53342c9 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java
+++ 

[30/30] ignite git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-5872

2017-08-10 Thread agoncharuk
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/ignite into 
ignite-5872


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

Branch: refs/heads/ignite-5872
Commit: 855ece3b13aec4b63633ecaecc2ea7fbaa3c1de8
Parents: cfbd327 a7ac59f
Author: Alexey Goncharuk 
Authored: Thu Aug 10 16:52:30 2017 +0300
Committer: Alexey Goncharuk 
Committed: Thu Aug 10 16:52:30 2017 +0300

--
 .../datagrid/CacheClientBinaryQueryExample.java |   3 +
 .../tcp/redis/RedisProtocolStringSelfTest.java  |  44 ++
 .../jdbc/suite/IgniteJdbcDriverTestSuite.java   |   2 +
 .../ignite/jdbc/thin/JdbcThinBatchSelfTest.java | 333 ++
 .../java/org/apache/ignite/IgniteCache.java |   1 -
 .../org/apache/ignite/IgniteDataStreamer.java   |  26 +-
 .../apache/ignite/IgniteSystemProperties.java   |   8 +
 .../org/apache/ignite/cache/QueryEntity.java| 229 +++
 .../configuration/CacheConfiguration.java   | 615 +--
 .../ignite/internal/GridKernalContext.java  |   2 +-
 .../ignite/internal/GridKernalContextImpl.java  |   6 +-
 .../apache/ignite/internal/IgniteKernal.java|   5 +-
 .../ignite/internal/IgniteNodeAttributes.java   |   3 +
 .../org/apache/ignite/internal/IgnitionEx.java  |  23 +-
 .../jdbc/thin/JdbcThinPreparedStatement.java|  16 +-
 .../internal/jdbc/thin/JdbcThinStatement.java   |  46 +-
 .../internal/jdbc/thin/JdbcThinTcpIo.java   |  20 +
 .../ignite/internal/jdbc2/JdbcConnection.java   |   5 +-
 .../managers/communication/GridIoManager.java   |   6 +
 .../managers/communication/GridIoMessage.java   |   3 +
 .../internal/pagemem/store/PageStore.java   |   5 +
 .../cache/persistence/file/FilePageStore.java   |  54 +-
 .../persistence/file/FilePageStoreFactory.java  |  35 ++
 .../persistence/file/FilePageStoreManager.java  |  17 +-
 .../cache/persistence/file/FilePageStoreV2.java |  53 ++
 .../file/FileVersionCheckingFactory.java| 116 
 .../cache/persistence/freelist/PagesList.java   |  67 +-
 .../tree/io/PagePartitionCountersIO.java|   2 +-
 .../wal/reader/StandaloneGridKernalContext.java |   2 +-
 .../cache/query/QueryEntityClassProperty.java   | 116 
 .../cache/query/QueryEntityIndexDescriptor.java | 121 
 .../cache/query/QueryEntityTypeDescriptor.java  | 219 +++
 .../cache/store/CacheStoreManager.java  |   4 +-
 .../store/GridCacheStoreManagerAdapter.java |  20 +-
 .../cache/transactions/IgniteTxAdapter.java |   9 +-
 .../datastreamer/DataStreamerImpl.java  | 281 ++---
 .../datastreamer/DataStreamerRequest.java   |  59 +-
 .../odbc/jdbc/JdbcBatchExecuteRequest.java  | 109 
 .../odbc/jdbc/JdbcBatchExecuteResult.java   |  96 +++
 .../processors/odbc/jdbc/JdbcQuery.java |  95 +++
 .../processors/odbc/jdbc/JdbcRequest.java   |   8 +
 .../odbc/jdbc/JdbcRequestHandler.java   |  66 +-
 .../processors/odbc/jdbc/JdbcResult.java|  11 +
 .../processors/rest/GridRestCommand.java|   3 +
 .../handlers/cache/GridCacheCommandHandler.java |  75 ++-
 .../key/GridRedisExpireCommandHandler.java  | 101 +++
 .../protocols/tcp/redis/GridRedisCommand.java   |   4 +
 .../tcp/redis/GridRedisNioListener.java |   2 +
 .../ignite/internal/util/StripedExecutor.java   |  89 ++-
 .../org/apache/ignite/thread/IgniteThread.java  |  10 +
 .../GridCacheAbstractLocalStoreSelfTest.java|   7 +
 .../IgniteOptimisticTxSuspendResumeTest.java|  11 +-
 ...gnitePdsRecoveryAfterFileCorruptionTest.java |   2 +-
 .../DataStreamProcessorSelfTest.java|  14 +-
 .../datastreamer/DataStreamerImplSelfTest.java  |   3 +-
 .../query/h2/opt/GridH2SpatialIndex.java|   7 -
 .../processors/query/h2/H2RowDescriptor.java|  11 -
 .../processors/query/h2/H2TableEngine.java  |   4 +-
 .../query/h2/database/H2PkHashIndex.java|   7 -
 .../query/h2/database/H2TreeIndex.java  |  32 +-
 .../query/h2/database/InlineIndexHelper.java| 414 -
 .../query/h2/opt/GridH2IndexBase.java   |  93 +--
 .../query/h2/opt/GridH2QueryContext.java|  59 --
 .../query/h2/opt/GridH2RowDescriptor.java   |   5 -
 .../processors/query/h2/opt/GridH2Table.java| 186 +-
 .../query/h2/opt/GridH2TreeIndex.java   | 602 --
 .../query/h2/opt/GridLuceneDirectory.java   |  64 +-
 .../processors/query/h2/opt/GridLuceneFile.java |  91 ++-
 .../query/h2/opt/GridLuceneIndex.java   |   3 +-
 .../query/h2/opt/GridLuceneInputStream.java |  42 +-
 .../query/h2/opt/GridLuceneOutputStream.java|  18 +-
 .../query/h2/twostep/GridMapQueryExecutor.java  | 526 +---
 

[29/30] ignite git commit: IGNITE-5963: Add additional check to Thread.sleep to make test correct in all cases. - Fixes #2422.

2017-08-10 Thread agoncharuk
IGNITE-5963: Add additional check to Thread.sleep to make test correct in all 
cases. - Fixes #2422.

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/a7ac59f7
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a7ac59f7
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a7ac59f7

Branch: refs/heads/ignite-5872
Commit: a7ac59f7bb214fc9eb4fd4520aad7c40c4dd9ee9
Parents: 0d8d166
Author: Nikolay Izhikov 
Authored: Thu Aug 10 15:48:26 2017 +0300
Committer: Alexey Goncharuk 
Committed: Thu Aug 10 15:48:26 2017 +0300

--
 .../distributed/IgniteOptimisticTxSuspendResumeTest.java | 11 +--
 1 file changed, 9 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/a7ac59f7/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java
index d16aebd..37003a7 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java
@@ -32,6 +32,7 @@ import org.apache.ignite.configuration.NearCacheConfiguration;
 import org.apache.ignite.internal.IgniteEx;
 import org.apache.ignite.internal.util.typedef.CI1;
 import org.apache.ignite.internal.util.typedef.CI2;
+import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.testframework.GridTestUtils;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.apache.ignite.transactions.Transaction;
@@ -428,7 +429,10 @@ public class IgniteOptimisticTxSuspendResumeTest extends 
GridCommonAbstractTest
 
 tx.suspend();
 
-Thread.sleep(TX_TIMEOUT * 2);
+long start = U.currentTimeMillis();
+
+while(TX_TIMEOUT >= U.currentTimeMillis() - start)
+Thread.sleep(TX_TIMEOUT * 2);
 
 GridTestUtils.assertThrowsWithCause(new Callable() 
{
 @Override public Object call() throws Exception {
@@ -459,7 +463,10 @@ public class IgniteOptimisticTxSuspendResumeTest extends 
GridCommonAbstractTest
 
 cache.put(1, 1);
 
-Thread.sleep(TX_TIMEOUT * 2);
+long start = U.currentTimeMillis();
+
+while(TX_TIMEOUT >= U.currentTimeMillis() - start)
+Thread.sleep(TX_TIMEOUT * 2);
 
 GridTestUtils.assertThrowsWithCause(new Callable() 
{
 @Override public Object call() throws Exception {



[11/30] ignite git commit: IGNITE-5939: ODBC: SQLColAttributes now works with legacy attribute codes.

2017-08-10 Thread agoncharuk
IGNITE-5939: ODBC: SQLColAttributes now works with legacy attribute codes.


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

Branch: refs/heads/ignite-5872
Commit: 70ffa2cdf2a8210d42d32c2a35c9a21ee87aaa1f
Parents: 359777f
Author: Igor Sapego 
Authored: Fri Aug 4 18:34:27 2017 +0300
Committer: Igor Sapego 
Committed: Fri Aug 4 18:35:26 2017 +0300

--
 .../cpp/odbc-test/src/meta_queries_test.cpp | 51 
 .../platforms/cpp/odbc/src/meta/column_meta.cpp |  3 ++
 2 files changed, 54 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/70ffa2cd/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp
--
diff --git a/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp 
b/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp
index 5b7ae59..454a989 100644
--- a/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp
+++ b/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp
@@ -186,4 +186,55 @@ BOOST_AUTO_TEST_CASE(TestGetTypeInfoAllTypes)
 BOOST_FAIL(GetOdbcErrorMessage(SQL_HANDLE_STMT, stmt));
 }
 
+BOOST_AUTO_TEST_CASE(TestColAttributesColumnLength)
+{
+Connect("DRIVER={Apache Ignite};ADDRESS=127.0.0.1:0;SCHEMA=cache");
+
+SQLCHAR req[] = "select strField from TestType";
+SQLExecDirect(stmt, req, SQL_NTS);
+
+SQLLEN intVal;
+SQLCHAR strBuf[1024];
+SQLSMALLINT strLen;
+
+SQLRETURN ret = SQLColAttribute(stmt, 1, SQL_COLUMN_LENGTH, strBuf, 
sizeof(strBuf), , );
+
+if (!SQL_SUCCEEDED(ret))
+BOOST_FAIL(GetOdbcErrorMessage(SQL_HANDLE_STMT, stmt));
+}
+
+BOOST_AUTO_TEST_CASE(TestColAttributesColumnPresicion)
+{
+Connect("DRIVER={Apache Ignite};ADDRESS=127.0.0.1:0;SCHEMA=cache");
+
+SQLCHAR req[] = "select strField from TestType";
+SQLExecDirect(stmt, req, SQL_NTS);
+
+SQLLEN intVal;
+SQLCHAR strBuf[1024];
+SQLSMALLINT strLen;
+
+SQLRETURN ret = SQLColAttribute(stmt, 1, SQL_COLUMN_PRECISION, strBuf, 
sizeof(strBuf), , );
+
+if (!SQL_SUCCEEDED(ret))
+BOOST_FAIL(GetOdbcErrorMessage(SQL_HANDLE_STMT, stmt));
+}
+
+BOOST_AUTO_TEST_CASE(TestColAttributesColumnScale)
+{
+Connect("DRIVER={Apache Ignite};ADDRESS=127.0.0.1:0;SCHEMA=cache");
+
+SQLCHAR req[] = "select strField from TestType";
+SQLExecDirect(stmt, req, SQL_NTS);
+
+SQLLEN intVal;
+SQLCHAR strBuf[1024];
+SQLSMALLINT strLen;
+
+SQLRETURN ret = SQLColAttribute(stmt, 1, SQL_COLUMN_SCALE, strBuf, 
sizeof(strBuf), , );
+
+if (!SQL_SUCCEEDED(ret))
+BOOST_FAIL(GetOdbcErrorMessage(SQL_HANDLE_STMT, stmt));
+}
+
 BOOST_AUTO_TEST_SUITE_END()

http://git-wip-us.apache.org/repos/asf/ignite/blob/70ffa2cd/modules/platforms/cpp/odbc/src/meta/column_meta.cpp
--
diff --git a/modules/platforms/cpp/odbc/src/meta/column_meta.cpp 
b/modules/platforms/cpp/odbc/src/meta/column_meta.cpp
index 12dbfc1..97fdf80 100644
--- a/modules/platforms/cpp/odbc/src/meta/column_meta.cpp
+++ b/modules/platforms/cpp/odbc/src/meta/column_meta.cpp
@@ -179,6 +179,7 @@ namespace ignite
 
 case SQL_DESC_LENGTH:
 case SQL_DESC_OCTET_LENGTH:
+case SQL_COLUMN_LENGTH:
 {
 value = 
type_traits::BinaryTypeTransferLength(dataType);
 
@@ -200,6 +201,7 @@ namespace ignite
 }
 
 case SQL_DESC_PRECISION:
+case SQL_COLUMN_PRECISION:
 {
 value = type_traits::BinaryTypeColumnSize(dataType);
 
@@ -207,6 +209,7 @@ namespace ignite
 }
 
 case SQL_DESC_SCALE:
+case SQL_COLUMN_SCALE:
 {
 value = type_traits::BinaryTypeDecimalDigits(dataType);
 



[01/30] ignite git commit: IGNITE-5888 Web Console: Fixed maven project generation.

2017-08-10 Thread agoncharuk
Repository: ignite
Updated Branches:
  refs/heads/ignite-5872 cfbd3275d -> 855ece3b1


IGNITE-5888 Web Console: Fixed maven project generation.


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

Branch: refs/heads/ignite-5872
Commit: 20969c0755595ba686d00220287d986327ff2b9d
Parents: 4d323f3
Author: Andrey Novikov 
Authored: Thu Aug 3 10:42:08 2017 +0700
Committer: Alexey Kuznetsov 
Committed: Thu Aug 3 10:42:08 2017 +0700

--
 .../modules/configuration/generator/Maven.service.js   | 13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/20969c07/modules/web-console/frontend/app/modules/configuration/generator/Maven.service.js
--
diff --git 
a/modules/web-console/frontend/app/modules/configuration/generator/Maven.service.js
 
b/modules/web-console/frontend/app/modules/configuration/generator/Maven.service.js
index abbada9..9bf0a34 100644
--- 
a/modules/web-console/frontend/app/modules/configuration/generator/Maven.service.js
+++ 
b/modules/web-console/frontend/app/modules/configuration/generator/Maven.service.js
@@ -42,13 +42,18 @@ export default class IgniteMavenGenerator {
 deps.push({groupId, artifactId, version, jar});
 }
 
-pickDependency(deps, key, dfltVer, igniteVer) {
+pickDependency(acc, key, dfltVer, igniteVer) {
+const deps = POM_DEPENDENCIES[key];
+
+if (_.isNil(deps))
+return;
+
 const extractVersion = (version) => {
 return _.isArray(version) ? _.find(version, (v) => 
versionService.since(igniteVer, v.range)).version : version;
 };
 
-_.forEach(POM_DEPENDENCIES[key], ({groupId, artifactId, version, jar}) 
=> {
-this.addDependency(deps, groupId || 'org.apache.ignite', 
artifactId, extractVersion(version) || dfltVer, jar);
+_.forEach(_.castArray(deps), ({groupId, artifactId, version, jar}) => {
+this.addDependency(acc, groupId || 'org.apache.ignite', 
artifactId, extractVersion(version) || dfltVer, jar);
 });
 }
 
@@ -140,8 +145,10 @@ export default class IgniteMavenGenerator {
 
 /**
  * Add dependency for specified store factory if not exist.
+ *
  * @param deps Already added dependencies.
  * @param storeFactory Store factory to add dependency.
+ * @param igniteVer Ignite version.
  */
 storeFactoryDependency(deps, storeFactory, igniteVer) {
 if (storeFactory.dialect && (!storeFactory.connectVia || 
storeFactory.connectVia === 'DataSource'))



[28/30] ignite git commit: IGNITE-5995: ODBC fix for SQLGetData.

2017-08-10 Thread agoncharuk
IGNITE-5995: ODBC fix for SQLGetData.


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

Branch: refs/heads/ignite-5872
Commit: 0d8d166b77d37f8740f3e9dd0637c336b77b0c8f
Parents: 3919d80
Author: Igor Sapego 
Authored: Thu Aug 10 15:31:44 2017 +0300
Committer: Igor Sapego 
Committed: Thu Aug 10 15:31:44 2017 +0300

--
 .../impl/cache/query/query_fields_row_impl.h|   2 +-
 .../cpp/odbc-test/include/test_utils.h  |   9 ++
 .../cpp/odbc-test/src/meta_queries_test.cpp | 100 +++
 .../platforms/cpp/odbc-test/src/test_utils.cpp  |  13 +++
 .../ignite/odbc/query/column_metadata_query.h   |   3 +
 .../ignite/odbc/query/table_metadata_query.h|   3 +
 .../include/ignite/odbc/query/type_info_query.h |   3 +
 .../cpp/odbc/src/query/batch_query.cpp  |   7 +-
 .../odbc/src/query/column_metadata_query.cpp|  16 ++-
 .../platforms/cpp/odbc/src/query/data_query.cpp |   7 +-
 .../cpp/odbc/src/query/table_metadata_query.cpp |  16 ++-
 .../cpp/odbc/src/query/type_info_query.cpp  |  16 ++-
 12 files changed, 183 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/0d8d166b/modules/platforms/cpp/core/include/ignite/impl/cache/query/query_fields_row_impl.h
--
diff --git 
a/modules/platforms/cpp/core/include/ignite/impl/cache/query/query_fields_row_impl.h
 
b/modules/platforms/cpp/core/include/ignite/impl/cache/query/query_fields_row_impl.h
index 63e0523..2943625 100644
--- 
a/modules/platforms/cpp/core/include/ignite/impl/cache/query/query_fields_row_impl.h
+++ 
b/modules/platforms/cpp/core/include/ignite/impl/cache/query/query_fields_row_impl.h
@@ -143,7 +143,7 @@ namespace ignite
 
 int32_t actualLen = reader.ReadInt8Array(dst, len);
 
-if (actualLen == 0 || dst && len >= actualLen)
+if (actualLen == 0 || (dst && len >= actualLen))
 ++processed;
 
 return actualLen;

http://git-wip-us.apache.org/repos/asf/ignite/blob/0d8d166b/modules/platforms/cpp/odbc-test/include/test_utils.h
--
diff --git a/modules/platforms/cpp/odbc-test/include/test_utils.h 
b/modules/platforms/cpp/odbc-test/include/test_utils.h
index 6a58e54..5dc6d6e 100644
--- a/modules/platforms/cpp/odbc-test/include/test_utils.h
+++ b/modules/platforms/cpp/odbc-test/include/test_utils.h
@@ -43,6 +43,15 @@ namespace ignite_test
 enum { ODBC_BUFFER_SIZE = 1024 };
 
 /**
+ * Extract error state.
+ *
+ * @param handleType Type of the handle.
+ * @param handle Handle.
+ * @return Error state.
+ */
+std::string GetOdbcErrorState(SQLSMALLINT handleType, SQLHANDLE handle);
+
+/**
  * Extract error message.
  *
  * @param handleType Type of the handle.

http://git-wip-us.apache.org/repos/asf/ignite/blob/0d8d166b/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp
--
diff --git a/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp 
b/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp
index 454a989..ff3695d 100644
--- a/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp
+++ b/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp
@@ -103,6 +103,9 @@ struct MetaQueriesTestSuiteFixture
 BOOST_REQUIRE(stmt != NULL);
 }
 
+/**
+ * Disconnect.
+ */
 void Disconnect()
 {
 // Releasing statement handle.
@@ -116,6 +119,11 @@ struct MetaQueriesTestSuiteFixture
 SQLFreeHandle(SQL_HANDLE_ENV, env);
 }
 
+/**
+ * Start additional node with the specified name.
+ *
+ * @param name Node name.
+ */
 static Ignite StartAdditionalNode(const char* name)
 {
 #ifdef IGNITE_TESTS_32
@@ -126,6 +134,36 @@ struct MetaQueriesTestSuiteFixture
 }
 
 /**
+ * Checks single row result set for correct work with SQLGetData.
+ *
+ * @param stmt Statement.
+ */
+void CheckSingleRowResultSetWithGetData(SQLHSTMT stmt)
+{
+SQLRETURN ret = SQLFetch(stmt);
+
+if (!SQL_SUCCEEDED(ret))
+BOOST_FAIL(GetOdbcErrorMessage(SQL_HANDLE_STMT, stmt));
+
+char buf[1024];
+SQLLEN bufLen = sizeof(buf);
+
+ret = SQLGetData(stmt, 1, SQL_C_CHAR, buf, sizeof(buf), );
+
+if (!SQL_SUCCEEDED(ret))
+BOOST_FAIL(GetOdbcErrorMessage(SQL_HANDLE_STMT, stmt));
+
+ret = 

[13/30] ignite git commit: IGNITE-5950 incorrect assertion fixed

2017-08-10 Thread agoncharuk
IGNITE-5950 incorrect assertion fixed


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

Branch: refs/heads/ignite-5872
Commit: 2e5c343d911e353c6d82630d09562664cc5e89e2
Parents: 0eedf46
Author: Sergey Chugunov 
Authored: Mon Aug 7 11:34:01 2017 +0300
Committer: Sergey Chugunov 
Committed: Mon Aug 7 11:34:01 2017 +0300

--
 .../cache/persistence/tree/io/PagePartitionCountersIO.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/2e5c343d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionCountersIO.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionCountersIO.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionCountersIO.java
index 9bd806f..d5b81c1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionCountersIO.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionCountersIO.java
@@ -129,7 +129,7 @@ public class PagePartitionCountersIO extends PageIO {
 long cacheSize = PageUtils.getLong(pageAddr, off);
 off += 8;
 
-assert cacheSize > 0 : cacheSize;
+assert cacheSize >= 0 : cacheSize;
 
 Long old = res.put(cacheId, cacheSize);
 



[07/30] ignite git commit: IGNITE-5927 .NET: Fix DataTable serialization

2017-08-10 Thread agoncharuk
IGNITE-5927 .NET: Fix DataTable serialization

This closes #2395


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

Branch: refs/heads/ignite-5872
Commit: ec115dcfa702aa7cc7db5b87c330755b7f37ea0b
Parents: 1a7354f
Author: Pavel Tupitsyn 
Authored: Fri Aug 4 12:34:05 2017 +0300
Committer: Pavel Tupitsyn 
Committed: Fri Aug 4 12:34:05 2017 +0300

--
 .../Apache.Ignite.Core.Tests.csproj |  1 +
 .../Serializable/AdvancedSerializationTest.cs   | 31 
 .../BasicSerializableObjectsTest.cs |  7 +++--
 .../Impl/Binary/SerializableSerializer.cs   | 18 
 4 files changed, 42 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/ec115dcf/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Apache.Ignite.Core.Tests.csproj
--
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Apache.Ignite.Core.Tests.csproj
 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Apache.Ignite.Core.Tests.csproj
index e4f65bc..3f5f9b3 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Apache.Ignite.Core.Tests.csproj
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Apache.Ignite.Core.Tests.csproj
@@ -61,6 +61,7 @@
 
 
 
+
 
 
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/ec115dcf/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/AdvancedSerializationTest.cs
--
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/AdvancedSerializationTest.cs
 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/AdvancedSerializationTest.cs
index c96d111..dc208d0 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/AdvancedSerializationTest.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/AdvancedSerializationTest.cs
@@ -19,6 +19,7 @@ namespace Apache.Ignite.Core.Tests.Binary.Serializable
 {
 using System;
 using System.Collections.Generic;
+using System.Data;
 using System.Linq;
 using System.Reflection;
 using System.Reflection.Emit;
@@ -146,6 +147,36 @@ namespace Apache.Ignite.Core.Tests.Binary.Serializable
 
 return typeBuilder.CreateType();
 }
+
+/// 
+/// Tests the DataTable serialization.
+/// 
+[Test]
+public void TestDataTable()
+{
+var dt = new DataTable("foo");
+
+dt.Columns.Add("intCol", typeof(int));
+dt.Columns.Add("stringCol", typeof(string));
+
+dt.Rows.Add(1, "1");
+dt.Rows.Add(2, "2");
+
+var cache = Ignition.GetIgnite().GetOrCreateCache("dataTables");
+cache.Put(1, dt);
+
+var res = cache.Get(1);
+
+Assert.AreEqual("foo", res.TableName);
+
+Assert.AreEqual(2, res.Columns.Count);
+Assert.AreEqual("intCol", res.Columns[0].ColumnName);
+Assert.AreEqual("stringCol", res.Columns[1].ColumnName);
+
+Assert.AreEqual(2, res.Rows.Count);
+Assert.AreEqual(new object[] {1, "1"}, res.Rows[0].ItemArray);
+Assert.AreEqual(new object[] {2, "2"}, res.Rows[1].ItemArray);
+}
 }
 
 [Serializable]

http://git-wip-us.apache.org/repos/asf/ignite/blob/ec115dcf/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/BasicSerializableObjectsTest.cs
--
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/BasicSerializableObjectsTest.cs
 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/BasicSerializableObjectsTest.cs
index 82deb3c..e9b5576 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/BasicSerializableObjectsTest.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/BasicSerializableObjectsTest.cs
@@ -19,7 +19,6 @@ namespace Apache.Ignite.Core.Tests.Binary.Serializable
 {
 using System;
 using System.Runtime.Serialization;
-using Apache.Ignite.Core.Binary;
 using NUnit.Framework;
 
 /// 
@@ -111,13 +110,15 @@ namespace Apache.Ignite.Core.Tests.Binary.Serializable
 /// 
 private EmptyObject(SerializationInfo info, StreamingContext 
context)
 {
-Assert.IsInstanceOf(context.Context);
+

[12/30] ignite git commit: Merge branches 'ignite-2.1.3' and 'master'.

2017-08-10 Thread agoncharuk
Merge branches 'ignite-2.1.3' and 'master'.


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

Branch: refs/heads/ignite-5872
Commit: 9b730e732dcc7d307390f9a40cce8469e738e540
Parents: 70ffa2c 0eedf46
Author: Alexey Kuznetsov 
Authored: Mon Aug 7 10:00:01 2017 +0700
Committer: Alexey Kuznetsov 
Committed: Mon Aug 7 10:00:01 2017 +0700

--
 .../hide-on-state-change/hide-on-state-change.directive.js   | 8 ++--
 modules/web-console/frontend/views/index.pug | 8 
 2 files changed, 10 insertions(+), 6 deletions(-)
--




[02/30] ignite git commit: IGNITE-5906 Fixed race on activities merge.

2017-08-10 Thread agoncharuk
IGNITE-5906 Fixed race on activities merge.


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

Branch: refs/heads/ignite-5872
Commit: 6bdad4dd6a5d6f3210051f47af5a51f0bd52f73c
Parents: 20969c0
Author: Andrey Novikov 
Authored: Thu Aug 3 10:45:59 2017 +0700
Committer: Alexey Kuznetsov 
Committed: Thu Aug 3 10:45:59 2017 +0700

--
 modules/web-console/backend/app/mongo.js   |  2 +-
 modules/web-console/backend/middlewares/api.js |  9 -
 modules/web-console/backend/services/activities.js | 12 ++--
 3 files changed, 7 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/6bdad4dd/modules/web-console/backend/app/mongo.js
--
diff --git a/modules/web-console/backend/app/mongo.js 
b/modules/web-console/backend/app/mongo.js
index 57af928..0bc0e5c 100644
--- a/modules/web-console/backend/app/mongo.js
+++ b/modules/web-console/backend/app/mongo.js
@@ -1055,7 +1055,7 @@ module.exports.factory = function(passportMongo, 
settings, pluginMongo, mongoose
 date: Date,
 group: String,
 action: String,
-amount: { type: Number, default: 1 }
+amount: { type: Number, default: 0 }
 });
 
 ActivitiesSchema.index({ owner: 1, group: 1, action: 1, date: 1}, { 
unique: true });

http://git-wip-us.apache.org/repos/asf/ignite/blob/6bdad4dd/modules/web-console/backend/middlewares/api.js
--
diff --git a/modules/web-console/backend/middlewares/api.js 
b/modules/web-console/backend/middlewares/api.js
index 2c4c1bd..aa599ae 100644
--- a/modules/web-console/backend/middlewares/api.js
+++ b/modules/web-console/backend/middlewares/api.js
@@ -20,16 +20,15 @@
 // Fire me up!
 
 module.exports = {
-implements: 'middlewares:api',
-inject: ['require("mongodb-core")']
+implements: 'middlewares:api'
 };
 
-module.exports.factory = (mongodb) => {
+module.exports.factory = () => {
 return (req, res, next) => {
 res.api = {
 error(err) {
-if (err instanceof mongodb.MongoError)
-res.status(500).send(err.message);
+if (err.name === 'MongoError')
+return res.status(500).send(err.message);
 
 res.status(err.httpCode || err.code || 500).send(err.message);
 },

http://git-wip-us.apache.org/repos/asf/ignite/blob/6bdad4dd/modules/web-console/backend/services/activities.js
--
diff --git a/modules/web-console/backend/services/activities.js 
b/modules/web-console/backend/services/activities.js
index afde8e7..a049f65 100644
--- a/modules/web-console/backend/services/activities.js
+++ b/modules/web-console/backend/services/activities.js
@@ -50,16 +50,8 @@ module.exports.factory = (_, mongo) => {
 
 const date = Date.UTC(now.getFullYear(), now.getMonth(), 1);
 
-return mongo.Activities.findOne({owner, action, date}).exec()
-.then((activity) => {
-if (activity) {
-activity.amount++;
-
-return activity.save();
-}
-
-return mongo.Activities.create({owner, action, group, 
date});
-});
+return mongo.Activities.findOneAndUpdate({owner, action, date},
+{$set: {owner, group, action, date}, $inc: {amount: 1}}, {new: 
true, upsert: true}).exec();
 }
 
 static total({startDate, endDate}) {



[15/30] ignite git commit: IGNITE-5211: Added new constructor: QueryEntity(Class keyCls, Class valCls). This closes #2371. This closes #2388. This closes #2407.

2017-08-10 Thread agoncharuk
IGNITE-5211: Added new constructor: QueryEntity(Class keyCls, Class valCls). 
This closes #2371. This closes #2388. This closes #2407.


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

Branch: refs/heads/ignite-5872
Commit: 9da69389ed307357391e4eb87ae077751f30a58e
Parents: 488a6d2
Author: tledkov-gridgain 
Authored: Tue Aug 8 12:05:36 2017 +0300
Committer: devozerov 
Committed: Tue Aug 8 12:05:36 2017 +0300

--
 .../org/apache/ignite/cache/QueryEntity.java| 229 +++
 .../configuration/CacheConfiguration.java   | 615 +--
 .../cache/query/QueryEntityClassProperty.java   | 116 
 .../cache/query/QueryEntityIndexDescriptor.java | 121 
 .../cache/query/QueryEntityTypeDescriptor.java  | 219 +++
 .../h2/sql/AbstractH2CompareQueryTest.java  |   4 +-
 6 files changed, 693 insertions(+), 611 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/9da69389/modules/core/src/main/java/org/apache/ignite/cache/QueryEntity.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cache/QueryEntity.java 
b/modules/core/src/main/java/org/apache/ignite/cache/QueryEntity.java
index 955e7d2..5180100 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/QueryEntity.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/QueryEntity.java
@@ -18,7 +18,9 @@
 package org.apache.ignite.cache;
 
 import java.io.Serializable;
+import java.lang.reflect.Field;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -27,10 +29,20 @@ import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
+import javax.cache.CacheException;
+import org.apache.ignite.cache.query.annotations.QueryGroupIndex;
+import org.apache.ignite.cache.query.annotations.QuerySqlField;
+import org.apache.ignite.cache.query.annotations.QueryTextField;
+import 
org.apache.ignite.internal.processors.cache.query.QueryEntityClassProperty;
+import 
org.apache.ignite.internal.processors.cache.query.QueryEntityTypeDescriptor;
+import org.apache.ignite.internal.processors.query.GridQueryIndexDescriptor;
+import org.apache.ignite.internal.processors.query.QueryUtils;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.internal.A;
 import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.jetbrains.annotations.Nullable;
 
 /**
  * Query entity is a description of {@link org.apache.ignite.IgniteCache 
cache} entry (composed of key and value)
@@ -111,6 +123,16 @@ public class QueryEntity implements Serializable {
 }
 
 /**
+ * Creates a query entity with the given key and value types.
+ *
+ * @param keyCls Key type.
+ * @param valCls Value type.
+ */
+public QueryEntity(Class keyCls, Class valCls) {
+this(convert(processKeyAndValueClasses(keyCls,valCls)));
+}
+
+/**
  * Gets key type for this query pair.
  *
  * @return Key type.
@@ -351,6 +373,213 @@ public class QueryEntity implements Serializable {
 return this;
 }
 
+/**
+ * @param desc Type descriptor.
+ * @return Type metadata.
+ */
+private static QueryEntity convert(QueryEntityTypeDescriptor desc) {
+QueryEntity entity = new QueryEntity();
+
+// Key and val types.
+entity.setKeyType(desc.keyClass().getName());
+entity.setValueType(desc.valueClass().getName());
+
+for (QueryEntityClassProperty prop : desc.properties().values())
+entity.addQueryField(prop.fullName(), 
U.box(prop.type()).getName(), prop.alias());
+
+entity.setKeyFields(desc.keyProperties());
+
+QueryIndex txtIdx = null;
+
+Collection idxs = new ArrayList<>();
+
+for (Map.Entry idxEntry : 
desc.indexes().entrySet()) {
+GridQueryIndexDescriptor idx = idxEntry.getValue();
+
+if (idx.type() == QueryIndexType.FULLTEXT) {
+assert txtIdx == null;
+
+txtIdx = new QueryIndex();
+
+txtIdx.setIndexType(QueryIndexType.FULLTEXT);
+
+txtIdx.setFieldNames(idx.fields(), true);
+txtIdx.setName(idxEntry.getKey());
+}
+else {
+QueryIndex sortedIdx = new QueryIndex();
+
+

[23/30] ignite git commit: ignite-5918 Adding and searching objects in index tree produces a lot of garbage

2017-08-10 Thread agoncharuk
ignite-5918 Adding and searching objects in index tree produces a lot of garbage


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

Branch: refs/heads/ignite-5872
Commit: 0e0c2c7dc6cece3cc92a13c5430af605606bbcfe
Parents: 8d6e842
Author: Igor Seliverstov 
Authored: Wed Aug 9 18:46:53 2017 +0300
Committer: Yakov Zhdanov 
Committed: Wed Aug 9 18:46:53 2017 +0300

--
 .../java/org/apache/ignite/IgniteCache.java |   1 -
 .../query/h2/database/H2TreeIndex.java  |   6 +-
 .../query/h2/database/InlineIndexHelper.java| 414 ++-
 .../h2/database/InlineIndexHelperTest.java  | 248 +--
 .../IgniteCacheWithIndexingTestSuite.java   |   3 +
 5 files changed, 642 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/0e0c2c7d/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 0cf2a82..973eeab 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
@@ -1261,7 +1261,6 @@ public interface IgniteCache extends 
javax.cache.Cache, IgniteAsyncS
 public  IgniteFuture> 
invokeAllAsync(Set keys,
 EntryProcessor entryProcessor, Object... args) throws 
TransactionException;
 
-
 /**
  * Invokes an {@link CacheEntryProcessor} against the set of {@link 
javax.cache.Cache.Entry}s
  * specified by the set of keys.

http://git-wip-us.apache.org/repos/asf/ignite/blob/0e0c2c7d/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java
--
diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java
index eb579c3..d186623 100644
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java
+++ 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java
@@ -145,7 +145,11 @@ public class H2TreeIndex extends GridH2IndexBase {
 if 
(!InlineIndexHelper.AVAILABLE_TYPES.contains(col.column.getType()))
 break;
 
-InlineIndexHelper idx = new 
InlineIndexHelper(col.column.getType(), col.column.getColumnId(), col.sortType);
+InlineIndexHelper idx = new InlineIndexHelper(
+col.column.getType(),
+col.column.getColumnId(),
+col.sortType,
+table.getCompareMode());
 
 res.add(idx);
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/0e0c2c7d/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/InlineIndexHelper.java
--
diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/InlineIndexHelper.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/InlineIndexHelper.java
index 19cf857..1789ac8 100644
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/InlineIndexHelper.java
+++ 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/InlineIndexHelper.java
@@ -23,8 +23,10 @@ import java.util.Arrays;
 import java.util.Comparator;
 import java.util.List;
 import org.apache.ignite.internal.pagemem.PageUtils;
+import org.apache.ignite.internal.util.GridUnsafe;
 import org.h2.result.SortOrder;
 import org.h2.table.IndexColumn;
+import org.h2.value.CompareMode;
 import org.h2.value.Value;
 import org.h2.value.ValueBoolean;
 import org.h2.value.ValueByte;
@@ -84,16 +86,28 @@ public class InlineIndexHelper {
 /** */
 private final short size;
 
+/** */
+private final boolean compareBinaryUnsigned;
+
+/** */
+private final boolean compareStringsOptimized;
+
 /**
  * @param type Index type (see {@link Value}).
  * @param colIdx Index column index.
  * @param sortType Column sort type (see {@link IndexColumn#sortType}).
  */
-public InlineIndexHelper(int type, int colIdx, int sortType) {
+public 

[09/30] ignite git commit: IGNITE-5908 Restore splash.

2017-08-10 Thread agoncharuk
IGNITE-5908 Restore splash.


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

Branch: refs/heads/ignite-5872
Commit: 0eedf46bddb9647cc02efd982b212c8c0df19308
Parents: eb33607
Author: anovikov 
Authored: Fri Aug 4 18:10:36 2017 +0700
Committer: Alexey Kuznetsov 
Committed: Fri Aug 4 18:10:36 2017 +0700

--
 .../hide-on-state-change/hide-on-state-change.directive.js   | 8 ++--
 modules/web-console/frontend/views/index.pug | 8 
 2 files changed, 10 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/0eedf46b/modules/web-console/frontend/app/directives/hide-on-state-change/hide-on-state-change.directive.js
--
diff --git 
a/modules/web-console/frontend/app/directives/hide-on-state-change/hide-on-state-change.directive.js
 
b/modules/web-console/frontend/app/directives/hide-on-state-change/hide-on-state-change.directive.js
index 98f1c57..152e942 100644
--- 
a/modules/web-console/frontend/app/directives/hide-on-state-change/hide-on-state-change.directive.js
+++ 
b/modules/web-console/frontend/app/directives/hide-on-state-change/hide-on-state-change.directive.js
@@ -15,13 +15,9 @@
  * limitations under the License.
  */
 
-export default ['hideOnStateChange', ['$timeout', ($timeout) => {
+export default ['hideOnStateChange', ['$transitions', ($transitions) => {
 const link = (scope, element) => {
-scope.$on('$stateChangeSuccess', () => {
-$timeout(() => {
-element.fadeOut('slow');
-});
-});
+$transitions.onSuccess({}, () => element.fadeOut('slow'));
 };
 
 return {

http://git-wip-us.apache.org/repos/asf/ignite/blob/0eedf46b/modules/web-console/frontend/views/index.pug
--
diff --git a/modules/web-console/frontend/views/index.pug 
b/modules/web-console/frontend/views/index.pug
index 1881b38..2e47e87 100644
--- a/modules/web-console/frontend/views/index.pug
+++ b/modules/web-console/frontend/views/index.pug
@@ -30,6 +30,14 @@ html(ng-app='ignite-console' id='app' ng-strict-di)
 
 body.theme-line.body-overlap
 
+.splash.splash-max-foreground(hide-on-state-change)
+.splash-wrapper
+.spinner
+.bounce1
+.bounce2
+.bounce3
+
+.splash-wellcome Loading...
 
 .ribbon-wrapper.right(ng-cloak)
 .ribbon(ng-style='IgniteDemoMode && {"background": "#1b6d88"}')



[27/30] ignite git commit: IGNITE-5961 - Align pages in LFS partition files to pageSize

2017-08-10 Thread agoncharuk
IGNITE-5961 - Align pages in LFS partition files to pageSize


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

Branch: refs/heads/ignite-5872
Commit: 3919d8035fb172e1546f7a3ecea0f29f8e1e2214
Parents: b5ad729
Author: Ivan Rakov 
Authored: Thu Aug 10 13:31:23 2017 +0300
Committer: Alexey Goncharuk 
Committed: Thu Aug 10 13:31:23 2017 +0300

--
 .../internal/pagemem/store/PageStore.java   |   5 +
 .../cache/persistence/file/FilePageStore.java   |  54 ++---
 .../persistence/file/FilePageStoreFactory.java  |  35 ++
 .../persistence/file/FilePageStoreManager.java  |  17 +--
 .../cache/persistence/file/FilePageStoreV2.java |  53 +
 .../file/FileVersionCheckingFactory.java| 116 +++
 ...gnitePdsRecoveryAfterFileCorruptionTest.java |   2 +-
 7 files changed, 251 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/3919d803/modules/core/src/main/java/org/apache/ignite/internal/pagemem/store/PageStore.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/store/PageStore.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/store/PageStore.java
index 4698a6b..f6e577c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/store/PageStore.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/store/PageStore.java
@@ -95,4 +95,9 @@ public interface PageStore {
  * @throws IgniteCheckedException If sync failed (IO error occurred).
  */
 public void ensure() throws IgniteCheckedException;
+
+/**
+ * @return Page store version.
+ */
+public int version();
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/3919d803/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStore.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStore.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStore.java
index a7ca13c..7fe1ffe 100755
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStore.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStore.java
@@ -45,10 +45,10 @@ public class FilePageStore implements PageStore {
 private static final long SIGNATURE = 0xF19AC4FE60C530B8L;
 
 /** File version. */
-private static final int VERSION = 1;
+public static final int VERSION = 1;
 
 /** Allocated field offset. */
-public static final int HEADER_SIZE = 8/*SIGNATURE*/ + 4/*VERSION*/ + 
1/*type*/ + 4/*page size*/;
+static final int HEADER_SIZE = 8/*SIGNATURE*/ + 4/*VERSION*/ + 1/*type*/ + 
4/*page size*/;
 
 /** */
 private final File cfgFile;
@@ -57,7 +57,7 @@ public class FilePageStore implements PageStore {
 private final byte type;
 
 /** Database configuration. */
-private final MemoryConfiguration dbCfg;
+protected final MemoryConfiguration dbCfg;
 
 /** Factory to provide I/O interfaces for read/write operations with files 
*/
 private final FileIOFactory ioFactory;
@@ -103,20 +103,36 @@ public class FilePageStore implements PageStore {
 
 /** {@inheritDoc} */
 @Override public boolean exists() {
-return cfgFile.exists() && cfgFile.length() > HEADER_SIZE;
+return cfgFile.exists() && cfgFile.length() > headerSize();
 }
 
 /**
+ * Size of page store header.
+ */
+public int headerSize() {
+return HEADER_SIZE;
+}
+
+/**
+ * Page store version.
+ */
+public int version() {
+return VERSION;
+}
+
+/**
+ * Creates header for current version file store. Doesn't init the store.
+ *
  * @param type Type.
  * @param pageSize Page size.
  * @return Byte buffer instance.
  */
-public static ByteBuffer header(byte type, int pageSize) {
-ByteBuffer hdr = 
ByteBuffer.allocate(HEADER_SIZE).order(ByteOrder.LITTLE_ENDIAN);
+public ByteBuffer header(byte type, int pageSize) {
+ByteBuffer hdr = 
ByteBuffer.allocate(headerSize()).order(ByteOrder.LITTLE_ENDIAN);
 
 hdr.putLong(SIGNATURE);
 
-hdr.putInt(VERSION);
+hdr.putInt(version());
 
 hdr.put(type);
 
@@ -142,7 +158,7 @@ public class FilePageStore implements PageStore {
 }
 
 

[17/30] ignite git commit: IGNITE-5982: GridMapQueryExecutor was split into several pieces.

2017-08-10 Thread agoncharuk
IGNITE-5982: GridMapQueryExecutor was split into several pieces.


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

Branch: refs/heads/ignite-5872
Commit: e28d0d6cc617a4b0c7b0e4c4a5197b69f0c3e4bc
Parents: 9da6938
Author: devozerov 
Authored: Tue Aug 8 15:16:58 2017 +0300
Committer: devozerov 
Committed: Tue Aug 8 15:16:58 2017 +0300

--
 .../query/h2/twostep/GridMapQueryExecutor.java  | 501 ++-
 .../query/h2/twostep/MapNodeResults.java| 108 
 .../query/h2/twostep/MapQueryResult.java| 258 ++
 .../query/h2/twostep/MapQueryResults.java   | 155 ++
 .../h2/twostep/MapReplicatedReservation.java|  38 ++
 .../query/h2/twostep/MapRequestKey.java |  65 +++
 .../query/h2/twostep/MapReservationKey.java |  73 +++
 7 files changed, 730 insertions(+), 468 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/e28d0d6c/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
--
diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
index fcf5f10..19b628b 100644
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
+++ 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
@@ -17,7 +17,6 @@
 
 package org.apache.ignite.internal.processors.query.h2.twostep;
 
-import java.lang.reflect.Field;
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.util.AbstractCollection;
@@ -31,7 +30,6 @@ import java.util.Objects;
 import java.util.UUID;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.atomic.AtomicReferenceArray;
 import javax.cache.CacheException;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteException;
@@ -39,7 +37,6 @@ import org.apache.ignite.IgniteLogger;
 import org.apache.ignite.cache.query.QueryCancelledException;
 import org.apache.ignite.cluster.ClusterNode;
 import org.apache.ignite.events.CacheQueryExecutedEvent;
-import org.apache.ignite.events.CacheQueryReadEvent;
 import org.apache.ignite.events.DiscoveryEvent;
 import org.apache.ignite.events.Event;
 import org.apache.ignite.events.EventType;
@@ -57,35 +54,29 @@ import 
org.apache.ignite.internal.processors.cache.query.CacheQueryType;
 import 
org.apache.ignite.internal.processors.cache.query.GridCacheQueryMarshallable;
 import org.apache.ignite.internal.processors.cache.query.GridCacheSqlQuery;
 import org.apache.ignite.internal.processors.cache.query.QueryTable;
-import org.apache.ignite.internal.processors.query.GridQueryCancel;
 import org.apache.ignite.internal.processors.query.h2.H2Utils;
 import org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing;
 import org.apache.ignite.internal.processors.query.h2.opt.DistributedJoinMode;
 import org.apache.ignite.internal.processors.query.h2.opt.GridH2QueryContext;
 import org.apache.ignite.internal.processors.query.h2.opt.GridH2RetryException;
 import org.apache.ignite.internal.processors.query.h2.opt.GridH2Table;
-import 
org.apache.ignite.internal.processors.query.h2.opt.GridH2ValueCacheObject;
 import 
org.apache.ignite.internal.processors.query.h2.twostep.messages.GridQueryCancelRequest;
 import 
org.apache.ignite.internal.processors.query.h2.twostep.messages.GridQueryFailResponse;
 import 
org.apache.ignite.internal.processors.query.h2.twostep.messages.GridQueryNextPageRequest;
 import 
org.apache.ignite.internal.processors.query.h2.twostep.messages.GridQueryNextPageResponse;
 import 
org.apache.ignite.internal.processors.query.h2.twostep.msg.GridH2QueryRequest;
-import org.apache.ignite.internal.util.GridBoundedConcurrentLinkedHashMap;
 import org.apache.ignite.internal.util.GridSpinBusyLock;
 import org.apache.ignite.internal.util.typedef.CI1;
 import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.internal.util.typedef.T2;
 import org.apache.ignite.internal.util.typedef.X;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.plugin.extensions.communication.Message;
 import org.h2.jdbc.JdbcResultSet;
-import org.h2.result.ResultInterface;
 import org.h2.value.Value;
 import org.jetbrains.annotations.Nullable;
 import 

ignite git commit: IGNITE-5963: Add additional check to Thread.sleep to make test correct in all cases. - Fixes #2422.

2017-08-10 Thread agoncharuk
Repository: ignite
Updated Branches:
  refs/heads/master 0d8d166b7 -> a7ac59f7b


IGNITE-5963: Add additional check to Thread.sleep to make test correct in all 
cases. - Fixes #2422.

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/a7ac59f7
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a7ac59f7
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a7ac59f7

Branch: refs/heads/master
Commit: a7ac59f7bb214fc9eb4fd4520aad7c40c4dd9ee9
Parents: 0d8d166
Author: Nikolay Izhikov 
Authored: Thu Aug 10 15:48:26 2017 +0300
Committer: Alexey Goncharuk 
Committed: Thu Aug 10 15:48:26 2017 +0300

--
 .../distributed/IgniteOptimisticTxSuspendResumeTest.java | 11 +--
 1 file changed, 9 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/a7ac59f7/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java
index d16aebd..37003a7 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteOptimisticTxSuspendResumeTest.java
@@ -32,6 +32,7 @@ import org.apache.ignite.configuration.NearCacheConfiguration;
 import org.apache.ignite.internal.IgniteEx;
 import org.apache.ignite.internal.util.typedef.CI1;
 import org.apache.ignite.internal.util.typedef.CI2;
+import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.testframework.GridTestUtils;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.apache.ignite.transactions.Transaction;
@@ -428,7 +429,10 @@ public class IgniteOptimisticTxSuspendResumeTest extends 
GridCommonAbstractTest
 
 tx.suspend();
 
-Thread.sleep(TX_TIMEOUT * 2);
+long start = U.currentTimeMillis();
+
+while(TX_TIMEOUT >= U.currentTimeMillis() - start)
+Thread.sleep(TX_TIMEOUT * 2);
 
 GridTestUtils.assertThrowsWithCause(new Callable() 
{
 @Override public Object call() throws Exception {
@@ -459,7 +463,10 @@ public class IgniteOptimisticTxSuspendResumeTest extends 
GridCommonAbstractTest
 
 cache.put(1, 1);
 
-Thread.sleep(TX_TIMEOUT * 2);
+long start = U.currentTimeMillis();
+
+while(TX_TIMEOUT >= U.currentTimeMillis() - start)
+Thread.sleep(TX_TIMEOUT * 2);
 
 GridTestUtils.assertThrowsWithCause(new Callable() 
{
 @Override public Object call() throws Exception {



ignite git commit: IGNITE-5995: ODBC fix for SQLGetData.

2017-08-10 Thread isapego
Repository: ignite
Updated Branches:
  refs/heads/master 3919d8035 -> 0d8d166b7


IGNITE-5995: ODBC fix for SQLGetData.


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

Branch: refs/heads/master
Commit: 0d8d166b77d37f8740f3e9dd0637c336b77b0c8f
Parents: 3919d80
Author: Igor Sapego 
Authored: Thu Aug 10 15:31:44 2017 +0300
Committer: Igor Sapego 
Committed: Thu Aug 10 15:31:44 2017 +0300

--
 .../impl/cache/query/query_fields_row_impl.h|   2 +-
 .../cpp/odbc-test/include/test_utils.h  |   9 ++
 .../cpp/odbc-test/src/meta_queries_test.cpp | 100 +++
 .../platforms/cpp/odbc-test/src/test_utils.cpp  |  13 +++
 .../ignite/odbc/query/column_metadata_query.h   |   3 +
 .../ignite/odbc/query/table_metadata_query.h|   3 +
 .../include/ignite/odbc/query/type_info_query.h |   3 +
 .../cpp/odbc/src/query/batch_query.cpp  |   7 +-
 .../odbc/src/query/column_metadata_query.cpp|  16 ++-
 .../platforms/cpp/odbc/src/query/data_query.cpp |   7 +-
 .../cpp/odbc/src/query/table_metadata_query.cpp |  16 ++-
 .../cpp/odbc/src/query/type_info_query.cpp  |  16 ++-
 12 files changed, 183 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/0d8d166b/modules/platforms/cpp/core/include/ignite/impl/cache/query/query_fields_row_impl.h
--
diff --git 
a/modules/platforms/cpp/core/include/ignite/impl/cache/query/query_fields_row_impl.h
 
b/modules/platforms/cpp/core/include/ignite/impl/cache/query/query_fields_row_impl.h
index 63e0523..2943625 100644
--- 
a/modules/platforms/cpp/core/include/ignite/impl/cache/query/query_fields_row_impl.h
+++ 
b/modules/platforms/cpp/core/include/ignite/impl/cache/query/query_fields_row_impl.h
@@ -143,7 +143,7 @@ namespace ignite
 
 int32_t actualLen = reader.ReadInt8Array(dst, len);
 
-if (actualLen == 0 || dst && len >= actualLen)
+if (actualLen == 0 || (dst && len >= actualLen))
 ++processed;
 
 return actualLen;

http://git-wip-us.apache.org/repos/asf/ignite/blob/0d8d166b/modules/platforms/cpp/odbc-test/include/test_utils.h
--
diff --git a/modules/platforms/cpp/odbc-test/include/test_utils.h 
b/modules/platforms/cpp/odbc-test/include/test_utils.h
index 6a58e54..5dc6d6e 100644
--- a/modules/platforms/cpp/odbc-test/include/test_utils.h
+++ b/modules/platforms/cpp/odbc-test/include/test_utils.h
@@ -43,6 +43,15 @@ namespace ignite_test
 enum { ODBC_BUFFER_SIZE = 1024 };
 
 /**
+ * Extract error state.
+ *
+ * @param handleType Type of the handle.
+ * @param handle Handle.
+ * @return Error state.
+ */
+std::string GetOdbcErrorState(SQLSMALLINT handleType, SQLHANDLE handle);
+
+/**
  * Extract error message.
  *
  * @param handleType Type of the handle.

http://git-wip-us.apache.org/repos/asf/ignite/blob/0d8d166b/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp
--
diff --git a/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp 
b/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp
index 454a989..ff3695d 100644
--- a/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp
+++ b/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp
@@ -103,6 +103,9 @@ struct MetaQueriesTestSuiteFixture
 BOOST_REQUIRE(stmt != NULL);
 }
 
+/**
+ * Disconnect.
+ */
 void Disconnect()
 {
 // Releasing statement handle.
@@ -116,6 +119,11 @@ struct MetaQueriesTestSuiteFixture
 SQLFreeHandle(SQL_HANDLE_ENV, env);
 }
 
+/**
+ * Start additional node with the specified name.
+ *
+ * @param name Node name.
+ */
 static Ignite StartAdditionalNode(const char* name)
 {
 #ifdef IGNITE_TESTS_32
@@ -126,6 +134,36 @@ struct MetaQueriesTestSuiteFixture
 }
 
 /**
+ * Checks single row result set for correct work with SQLGetData.
+ *
+ * @param stmt Statement.
+ */
+void CheckSingleRowResultSetWithGetData(SQLHSTMT stmt)
+{
+SQLRETURN ret = SQLFetch(stmt);
+
+if (!SQL_SUCCEEDED(ret))
+BOOST_FAIL(GetOdbcErrorMessage(SQL_HANDLE_STMT, stmt));
+
+char buf[1024];
+SQLLEN bufLen = sizeof(buf);
+
+ret = SQLGetData(stmt, 1, SQL_C_CHAR, buf, sizeof(buf), );
+
+if (!SQL_SUCCEEDED(ret))
+ 

ignite git commit: IGNITE-5901 - Debug

2017-08-10 Thread agoncharuk
Repository: ignite
Updated Branches:
  refs/heads/ignite-5901 de49c95f4 -> 96ec4cacf


IGNITE-5901 - Debug


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

Branch: refs/heads/ignite-5901
Commit: 96ec4cacfe76898c48371f2c8b45bb21997a2c3a
Parents: de49c95
Author: Alexey Goncharuk 
Authored: Thu Aug 10 15:04:55 2017 +0300
Committer: Alexey Goncharuk 
Committed: Thu Aug 10 15:04:55 2017 +0300

--
 .../cache/persistence/db/wal/IgniteWalRecoveryTest.java  | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/96ec4cac/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalRecoveryTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalRecoveryTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalRecoveryTest.java
index e603910..3d4f59f 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalRecoveryTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalRecoveryTest.java
@@ -138,6 +138,8 @@ public class IgniteWalRecoveryTest extends 
GridCommonAbstractTest {
 
 pCfg.setWalRecordIteratorBufferSize(1024 * 1024);
 
+pCfg.setWalHistorySize(2);
+
 if (logOnly)
 pCfg.setWalMode(WALMode.LOG_ONLY);
 
@@ -519,7 +521,7 @@ public class IgniteWalRecoveryTest extends 
GridCommonAbstractTest {
 private void checkWalRolloverMultithreaded() throws Exception {
 walSegmentSize = 2 * 1024 * 1024;
 
-final long endTime = System.currentTimeMillis() + 20 * 60 * 1000;
+final long endTime = System.currentTimeMillis() + 3 * 60 * 1000;
 
 try {
 IgniteEx ignite = startGrid(1);



ignite git commit: IGNITE-5901 - Debugging

2017-08-10 Thread agoncharuk
Repository: ignite
Updated Branches:
  refs/heads/ignite-5901 [created] de49c95f4


IGNITE-5901 - Debugging


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

Branch: refs/heads/ignite-5901
Commit: de49c95f4ed3c21c8981c081b7b41c8299ee9876
Parents: 3919d80
Author: Alexey Goncharuk 
Authored: Thu Aug 10 13:58:32 2017 +0300
Committer: Alexey Goncharuk 
Committed: Thu Aug 10 13:58:32 2017 +0300

--
 .../db/wal/IgniteWalRecoveryTest.java   | 32 ++--
 .../db/wal/IgniteWalRecoveryTest2.java  | 24 +++
 .../db/wal/IgniteWalRecoveryTest3.java  | 24 +++
 .../db/wal/IgniteWalRecoveryTest4.java  | 24 +++
 .../db/wal/IgniteWalRecoveryTest5.java  | 24 +++
 .../IgnitePdsWithIndexingCoreTestSuite.java | 28 +++--
 6 files changed, 130 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/de49c95f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalRecoveryTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalRecoveryTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalRecoveryTest.java
index c5d6a8b..e603910 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalRecoveryTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalRecoveryTest.java
@@ -181,7 +181,7 @@ public class IgniteWalRecoveryTest extends 
GridCommonAbstractTest {
 /**
  * @throws Exception if failed.
  */
-public void testWalBig() throws Exception {
+public void _testWalBig() throws Exception {
 IgniteEx ignite = startGrid(1);
 
 ignite.active(true);
@@ -223,7 +223,7 @@ public class IgniteWalRecoveryTest extends 
GridCommonAbstractTest {
 /**
  * @throws Exception if failed.
  */
-public void testWalBigObjectNodeCancel() throws Exception {
+public void _testWalBigObjectNodeCancel() throws Exception {
 final int MAX_SIZE_POWER = 21;
 
 IgniteEx ignite = startGrid(1);
@@ -261,7 +261,7 @@ public class IgniteWalRecoveryTest extends 
GridCommonAbstractTest {
 /**
  * @throws Exception If fail.
  */
-public void testSwitchClassLoader() throws Exception {
+public void _testSwitchClassLoader() throws Exception {
 try {
 final IgniteEx igniteEx = startGrid(1);
 
@@ -305,7 +305,7 @@ public class IgniteWalRecoveryTest extends 
GridCommonAbstractTest {
 /**
  * @throws Exception if failed.
  */
-public void testWalSimple() throws Exception {
+public void _testWalSimple() throws Exception {
 try {
 IgniteEx ignite = startGrid(1);
 
@@ -385,7 +385,7 @@ public class IgniteWalRecoveryTest extends 
GridCommonAbstractTest {
 /**
  * @throws Exception If fail.
  */
-public void testWalLargeValue() throws Exception {
+public void _testWalLargeValue() throws Exception {
 try {
 IgniteEx ignite = startGrid(1);
 
@@ -467,7 +467,7 @@ public class IgniteWalRecoveryTest extends 
GridCommonAbstractTest {
 /**
  * @throws Exception if failed.
  */
-public void testHugeCheckpointRecord() throws Exception {
+public void _testHugeCheckpointRecord() throws Exception {
 try {
 final IgniteEx ignite = startGrid(1);
 
@@ -519,7 +519,7 @@ public class IgniteWalRecoveryTest extends 
GridCommonAbstractTest {
 private void checkWalRolloverMultithreaded() throws Exception {
 walSegmentSize = 2 * 1024 * 1024;
 
-final long endTime = System.currentTimeMillis() + 2 * 60 * 1000;
+final long endTime = System.currentTimeMillis() + 20 * 60 * 1000;
 
 try {
 IgniteEx ignite = startGrid(1);
@@ -547,7 +547,7 @@ public class IgniteWalRecoveryTest extends 
GridCommonAbstractTest {
 /**
  * @throws Exception If fail.
  */
-public void testWalRenameDirSimple() throws Exception {
+public void _testWalRenameDirSimple() throws Exception {
 try {
 IgniteEx ignite = startGrid(1);
 
@@ -609,7 +609,7 @@ public class IgniteWalRecoveryTest extends 
GridCommonAbstractTest {
 /**
  * @throws Exception if failed.
  */
-public void testRecoveryNoCheckpoint() throws Exception {
+

ignite git commit: IGNITE-5961 - Align pages in LFS partition files to pageSize

2017-08-10 Thread agoncharuk
Repository: ignite
Updated Branches:
  refs/heads/master b5ad72969 -> 3919d8035


IGNITE-5961 - Align pages in LFS partition files to pageSize


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

Branch: refs/heads/master
Commit: 3919d8035fb172e1546f7a3ecea0f29f8e1e2214
Parents: b5ad729
Author: Ivan Rakov 
Authored: Thu Aug 10 13:31:23 2017 +0300
Committer: Alexey Goncharuk 
Committed: Thu Aug 10 13:31:23 2017 +0300

--
 .../internal/pagemem/store/PageStore.java   |   5 +
 .../cache/persistence/file/FilePageStore.java   |  54 ++---
 .../persistence/file/FilePageStoreFactory.java  |  35 ++
 .../persistence/file/FilePageStoreManager.java  |  17 +--
 .../cache/persistence/file/FilePageStoreV2.java |  53 +
 .../file/FileVersionCheckingFactory.java| 116 +++
 ...gnitePdsRecoveryAfterFileCorruptionTest.java |   2 +-
 7 files changed, 251 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/3919d803/modules/core/src/main/java/org/apache/ignite/internal/pagemem/store/PageStore.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/store/PageStore.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/store/PageStore.java
index 4698a6b..f6e577c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/store/PageStore.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/store/PageStore.java
@@ -95,4 +95,9 @@ public interface PageStore {
  * @throws IgniteCheckedException If sync failed (IO error occurred).
  */
 public void ensure() throws IgniteCheckedException;
+
+/**
+ * @return Page store version.
+ */
+public int version();
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/3919d803/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStore.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStore.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStore.java
index a7ca13c..7fe1ffe 100755
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStore.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStore.java
@@ -45,10 +45,10 @@ public class FilePageStore implements PageStore {
 private static final long SIGNATURE = 0xF19AC4FE60C530B8L;
 
 /** File version. */
-private static final int VERSION = 1;
+public static final int VERSION = 1;
 
 /** Allocated field offset. */
-public static final int HEADER_SIZE = 8/*SIGNATURE*/ + 4/*VERSION*/ + 
1/*type*/ + 4/*page size*/;
+static final int HEADER_SIZE = 8/*SIGNATURE*/ + 4/*VERSION*/ + 1/*type*/ + 
4/*page size*/;
 
 /** */
 private final File cfgFile;
@@ -57,7 +57,7 @@ public class FilePageStore implements PageStore {
 private final byte type;
 
 /** Database configuration. */
-private final MemoryConfiguration dbCfg;
+protected final MemoryConfiguration dbCfg;
 
 /** Factory to provide I/O interfaces for read/write operations with files 
*/
 private final FileIOFactory ioFactory;
@@ -103,20 +103,36 @@ public class FilePageStore implements PageStore {
 
 /** {@inheritDoc} */
 @Override public boolean exists() {
-return cfgFile.exists() && cfgFile.length() > HEADER_SIZE;
+return cfgFile.exists() && cfgFile.length() > headerSize();
 }
 
 /**
+ * Size of page store header.
+ */
+public int headerSize() {
+return HEADER_SIZE;
+}
+
+/**
+ * Page store version.
+ */
+public int version() {
+return VERSION;
+}
+
+/**
+ * Creates header for current version file store. Doesn't init the store.
+ *
  * @param type Type.
  * @param pageSize Page size.
  * @return Byte buffer instance.
  */
-public static ByteBuffer header(byte type, int pageSize) {
-ByteBuffer hdr = 
ByteBuffer.allocate(HEADER_SIZE).order(ByteOrder.LITTLE_ENDIAN);
+public ByteBuffer header(byte type, int pageSize) {
+ByteBuffer hdr = 
ByteBuffer.allocate(headerSize()).order(ByteOrder.LITTLE_ENDIAN);
 
 hdr.putLong(SIGNATURE);
 
-hdr.putInt(VERSION);
+hdr.putInt(version());
 
 hdr.put(type);
 
@@ -142,7 +158,7 

ignite git commit: IGNITE-6012 Review.

2017-08-10 Thread anovikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-6012 a0fe6ea46 -> 3ae7bff97


IGNITE-6012 Review.


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

Branch: refs/heads/ignite-6012
Commit: 3ae7bff97db9d47d712444888cab3a83353ddd3b
Parents: a0fe6ea
Author: Andrey Novikov 
Authored: Thu Aug 10 16:57:03 2017 +0700
Committer: Andrey Novikov 
Committed: Thu Aug 10 16:57:20 2017 +0700

--
 .../http/jetty/GridJettyRestHandler.java| 20 ++--
 1 file changed, 6 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/3ae7bff9/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
--
diff --git 
a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
 
b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
index b1c5577..327c13a 100644
--- 
a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
+++ 
b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
@@ -17,8 +17,7 @@
 
 package org.apache.ignite.internal.processors.rest.protocols.http.jetty;
 
-import com.fasterxml.jackson.core.JsonGenerationException;
-import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import java.io.BufferedInputStream;
 import java.io.ByteArrayOutputStream;
@@ -358,10 +357,10 @@ public class GridJettyRestHandler extends AbstractHandler 
{
 
 U.error(log, "Failed to process HTTP request [action=" + act + ", 
req=" + req + ']', e);
 
-cmdRes = new GridRestResponse(STATUS_FAILED, e.getMessage());
-
 if (e instanceof Error)
 throw (Error)e;
+
+cmdRes = new GridRestResponse(STATUS_FAILED, e.getMessage());
 }
 
 try {
@@ -370,17 +369,10 @@ public class GridJettyRestHandler extends AbstractHandler 
{
 try {
 jsonMapper.writeValue(os, cmdRes);
 }
-catch (JsonGenerationException | JsonMappingException e1) {
-U.error(log, "Failed to convert response to JSON: " + cmdRes, 
e1);
+catch (JsonProcessingException e) {
+U.error(log, "Failed to convert response to JSON: " + cmdRes, 
e);
 
-GridRestResponse resFailed = new 
GridRestResponse(STATUS_FAILED, e1.getMessage());
-
-try {
-jsonMapper.writeValue(os, resFailed);
-}
-catch (JsonGenerationException | JsonMappingException e2) {
-jsonMapper.writeValue(os, "{\"successStatus\": \"1\", 
\"error:\" \"" + e2.getMessage() + "\"}}");
-}
+jsonMapper.writeValue(os, F.asMap("successStatus", 
STATUS_FAILED, "error", e.getMessage()));
 }
 
 if (log.isDebugEnabled())



[2/2] ignite git commit: Merge remote-tracking branch 'community/ignite-2.1.3'

2017-08-10 Thread agoncharuk
Merge remote-tracking branch 'community/ignite-2.1.3'


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

Branch: refs/heads/master
Commit: b5ad7296997185ed2d078614b3ed6e9a6f405670
Parents: 988ffe3 2e5c343
Author: Alexey Goncharuk 
Authored: Thu Aug 10 12:08:41 2017 +0300
Committer: Alexey Goncharuk 
Committed: Thu Aug 10 12:08:41 2017 +0300

--
 .../cache/persistence/tree/io/PagePartitionCountersIO.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[1/2] ignite git commit: IGNITE-5950 incorrect assertion fixed

2017-08-10 Thread agoncharuk
Repository: ignite
Updated Branches:
  refs/heads/master 988ffe3e1 -> b5ad72969


IGNITE-5950 incorrect assertion fixed


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

Branch: refs/heads/master
Commit: 2e5c343d911e353c6d82630d09562664cc5e89e2
Parents: 0eedf46
Author: Sergey Chugunov 
Authored: Mon Aug 7 11:34:01 2017 +0300
Committer: Sergey Chugunov 
Committed: Mon Aug 7 11:34:01 2017 +0300

--
 .../cache/persistence/tree/io/PagePartitionCountersIO.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/2e5c343d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionCountersIO.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionCountersIO.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionCountersIO.java
index 9bd806f..d5b81c1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionCountersIO.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/PagePartitionCountersIO.java
@@ -129,7 +129,7 @@ public class PagePartitionCountersIO extends PageIO {
 long cacheSize = PageUtils.getLong(pageAddr, off);
 off += 8;
 
-assert cacheSize > 0 : cacheSize;
+assert cacheSize >= 0 : cacheSize;
 
 Long old = res.put(cacheId, cacheSize);