You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/03/13 09:46:57 UTC

[43/50] [abbrv] ignite git commit: Merge branch 'master' into ignite-2.0-merge

Merge branch 'master' into ignite-2.0-merge

# Conflicts:
#	modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
#	modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
#	modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
#	modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
#	modules/core/src/test/java/org/apache/ignite/internal/managers/communication/GridIoManagerSelfTest.java
#	modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/shuffle/HadoopShuffleJob.java
#	modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DmlStatementsProcessor.java
#	modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
#	modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2IndexBase.java
#	modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
#	modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheInsertSqlQuerySelfTest.java
#	modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheUpdateSqlQuerySelfTest.java
#	modules/platforms/cpp/common/project/vs/common.vcxproj
#	modules/platforms/cpp/core/include/ignite/cache/cache.h
#	modules/platforms/cpp/core/src/impl/cache/cache_impl.cpp
#	modules/platforms/cpp/core/src/impl/interop/interop_target.cpp


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

Branch: refs/heads/ignite-4705-2
Commit: d1b2c014a535b6d49f78fd76d4b002552e4ee680
Parents: 6fda2c2 d4b87f4
Author: devozerov <vo...@gridgain.com>
Authored: Fri Mar 10 14:05:21 2017 +0300
Committer: devozerov <vo...@gridgain.com>
Committed: Fri Mar 10 14:05:21 2017 +0300

----------------------------------------------------------------------
 DEVNOTES.txt                                    |    2 +-
 RELEASE_NOTES.txt                               |   20 +
 assembly/dependencies-hadoop.xml                |    3 +
 assembly/release-base.xml                       |    5 -
 assembly/release-fabric-base.xml                |    5 +
 assembly/release-sources.xml                    |    3 +-
 config/example-kube.xml                         |   53 +
 doap_Ignite.rdf                                 |    1 -
 examples/pom-standalone-lgpl.xml                |   12 +
 examples/pom-standalone.xml                     |   12 +
 examples/pom.xml                                |   14 +
 .../examples/java8/spark/SharedRDDExample.java  |  110 --
 .../ignite/examples/spark/SharedRDDExample.java |  127 ++
 .../ignite/examples/spark/package-info.java     |   22 +
 .../examples/SharedRDDExampleSelfTest.java      |   36 -
 .../IgniteExamplesJ8SelfTestSuite.java          |    2 -
 .../examples/SharedRDDExampleSelfTest.java      |   36 +
 .../IgniteExamplesSparkSelfTestSuite.java       |   46 +
 modules/clients/src/test/config/jdbc-config.xml |    2 +-
 .../jdbc2/JdbcAbstractDmlStatementSelfTest.java |   49 +-
 .../jdbc2/JdbcInsertStatementSelfTest.java      |   51 +
 .../jdbc2/JdbcMergeStatementSelfTest.java       |   51 +
 .../internal/jdbc2/JdbcStreamingSelfTest.java   |  187 ++
 .../jdbc2/JdbcUpdateStatementSelfTest.java      |   50 +
 .../tcp/redis/RedisProtocolSelfTest.java        |   13 +-
 .../jdbc/suite/IgniteJdbcDriverTestSuite.java   |    1 +
 .../src/main/java/org/apache/ignite/Ignite.java |    1 +
 .../java/org/apache/ignite/IgniteCompute.java   |   44 +-
 .../org/apache/ignite/IgniteJdbcDriver.java     |   30 +
 .../apache/ignite/IgniteSystemProperties.java   |   38 +
 .../configuration/CacheConfiguration.java       |   41 +
 .../ignite/internal/binary/BinaryContext.java   |    3 +
 .../ignite/internal/binary/BinaryTreeMap.java   |    6 +-
 .../ignite/internal/jdbc2/JdbcConnection.java   |   72 +-
 .../internal/jdbc2/JdbcPreparedStatement.java   |   34 +-
 .../ignite/internal/jdbc2/JdbcStatement.java    |   20 +-
 .../jdbc2/JdbcStreamedPreparedStatement.java    |   59 +
 .../internal/managers/discovery/DiscoCache.java |  310 ++++
 .../discovery/GridDiscoveryManager.java         |  568 ++----
 .../eventstorage/DiscoveryEventListener.java    |   33 +
 .../eventstorage/GridEventStorageManager.java   |  162 +-
 .../affinity/GridAffinityAssignmentCache.java   |    7 +-
 .../cache/CacheAffinitySharedManager.java       |   35 +-
 .../processors/cache/EntryGetResult.java        |   40 +-
 .../processors/cache/EntryGetWithTtlResult.java |   58 +
 .../processors/cache/GridCacheAdapter.java      |   69 +-
 .../cache/GridCacheAffinityManager.java         |    3 +-
 .../processors/cache/GridCacheContext.java      |  122 +-
 .../processors/cache/GridCacheEntryEx.java      |    2 +-
 .../processors/cache/GridCacheMapEntry.java     |   29 +-
 .../GridCachePartitionExchangeManager.java      |   64 +-
 .../processors/cache/GridCacheProcessor.java    |    3 +
 .../processors/cache/IgniteCacheProxy.java      |    6 +-
 .../dht/GridClientPartitionTopology.java        |   20 +-
 .../dht/GridDhtAssignmentFetchFuture.java       |    7 +-
 .../distributed/dht/GridDhtCacheAdapter.java    |    4 +-
 .../cache/distributed/dht/GridDhtGetFuture.java |   24 +-
 .../distributed/dht/GridDhtGetSingleFuture.java |   24 +-
 .../dht/GridDhtPartitionTopologyImpl.java       |   44 +-
 .../dht/GridPartitionedGetFuture.java           |   19 +-
 .../dht/GridPartitionedSingleGetFuture.java     |    7 +-
 .../dht/atomic/GridDhtAtomicCache.java          |   12 +-
 .../dht/colocated/GridDhtColocatedCache.java    |   15 +-
 .../GridDhtPartitionsExchangeFuture.java        |   33 +-
 .../distributed/near/GridNearGetFuture.java     |    9 +-
 .../cache/distributed/near/GridNearTxLocal.java |   10 +-
 .../local/atomic/GridLocalAtomicCache.java      |   13 +-
 .../cache/query/GridCacheSqlQuery.java          |  127 +-
 .../transactions/IgniteTxLocalAdapter.java      |   65 +-
 .../closure/GridClosureProcessor.java           |    2 +-
 .../processors/cluster/GridUpdateNotifier.java  |    2 +-
 .../datastructures/DataStructuresProcessor.java |    3 +-
 .../datastructures/GridCacheLockImpl.java       |   17 +-
 .../processors/query/GridQueryIndexing.java     |   58 +-
 .../processors/query/GridQueryProcessor.java    |  187 +-
 .../messages/GridQueryNextPageRequest.java      |   29 +-
 .../messages/GridQueryNextPageResponse.java     |   29 +-
 .../handlers/cache/GridCacheCommandHandler.java |   27 +-
 .../redis/GridRedisRestCommandHandler.java      |   36 +
 .../string/GridRedisSetCommandHandler.java      |   43 +-
 .../service/GridServiceProcessor.java           |   21 +-
 .../ignite/internal/util/IgniteUtils.java       |   14 +-
 .../visor/cache/VisorCacheClearTask.java        |   57 +-
 .../internal/visor/query/VisorQueryArgV3.java   |   51 +
 .../internal/visor/query/VisorQueryJob.java     |    6 +-
 .../communication/tcp/TcpCommunicationSpi.java  |   25 +
 .../resources/META-INF/classnames.properties    |    7 +-
 .../internal/GridCacheRecreateLockTest.java     |   78 +
 .../cache/CacheGetEntryAbstractTest.java        |   16 +-
 .../CacheSerializableTransactionsTest.java      |  173 +-
 .../processors/cache/CacheTxFastFinishTest.java |    2 +-
 .../cache/GridCacheAbstractFullApiSelfTest.java |   20 +-
 .../processors/cache/GridCacheTestEntryEx.java  |    2 +-
 ...sExchangeOnDiscoveryHistoryOverflowTest.java |  190 ++
 .../CacheLockReleaseNodeLeaveTest.java          |   64 +-
 .../GridCacheRebalancingSyncSelfTest.java       |   69 +-
 .../IgniteCacheExpiryPolicyAbstractTest.java    |   42 +
 .../GridMarshallerPerformanceTest.java          |    4 +
 .../tcp/TcpCommunicationSpiDropNodesTest.java   |    3 +-
 .../TcpCommunicationSpiFaultyClientTest.java    |    3 +-
 .../junits/common/GridCommonAbstractTest.java   |   77 +
 .../testsuites/IgniteCacheTestSuite5.java       |    3 +
 .../testsuites/IgniteComputeGridTestSuite.java  |    2 +
 modules/docker/1.9.0/Dockerfile                 |   46 +
 modules/docker/1.9.0/run.sh                     |   51 +
 modules/docker/Dockerfile                       |    4 +-
 modules/flink/pom.xml                           |    2 +-
 .../query/h2/opt/GridH2SpatialIndex.java        |   56 +-
 .../query/h2/GridH2IndexingGeoSelfTest.java     |  409 +++--
 .../h2/GridH2IndexingSegmentedGeoSelfTest.java  |   37 +
 .../testsuites/GeoSpatialIndexingTestSuite.java |    2 +
 .../hadoop/shuffle/HadoopShuffleJob.java        |    1 -
 .../cache/query/GridCacheTwoStepQuery.java      |   17 +
 .../query/h2/DmlStatementsProcessor.java        |  273 ++-
 .../processors/query/h2/IgniteH2Indexing.java   |  402 ++++-
 .../query/h2/dml/UpdatePlanBuilder.java         |    2 +-
 .../query/h2/opt/DistributedJoinMode.java       |   51 +
 .../query/h2/opt/GridH2CollocationModel.java    |   82 +-
 .../query/h2/opt/GridH2IndexBase.java           |  348 +++-
 .../query/h2/opt/GridH2QueryContext.java        |   84 +-
 .../query/h2/opt/GridH2RowDescriptor.java       |    5 -
 .../query/h2/opt/GridH2ScanIndex.java           |  273 +++
 .../processors/query/h2/opt/GridH2Table.java    |  244 +--
 .../query/h2/opt/GridH2TreeIndex.java           |  135 +-
 .../processors/query/h2/sql/DmlAstUtils.java    |   54 +-
 .../processors/query/h2/sql/GridSqlAlias.java   |   13 +-
 .../processors/query/h2/sql/GridSqlArray.java   |    8 +-
 .../processors/query/h2/sql/GridSqlAst.java     |   61 +
 .../processors/query/h2/sql/GridSqlColumn.java  |   85 +-
 .../processors/query/h2/sql/GridSqlConst.java   |    6 +-
 .../processors/query/h2/sql/GridSqlElement.java |   43 +-
 .../query/h2/sql/GridSqlFunction.java           |   18 +-
 .../processors/query/h2/sql/GridSqlJoin.java    |   35 +-
 .../processors/query/h2/sql/GridSqlKeyword.java |    3 +-
 .../query/h2/sql/GridSqlOperation.java          |    6 +-
 .../query/h2/sql/GridSqlOperationType.java      |    4 +-
 .../query/h2/sql/GridSqlParameter.java          |    4 +-
 .../query/h2/sql/GridSqlPlaceholder.java        |    2 +-
 .../processors/query/h2/sql/GridSqlQuery.java   |   91 +-
 .../query/h2/sql/GridSqlQueryParser.java        |  248 ++-
 .../query/h2/sql/GridSqlQuerySplitter.java      | 1684 +++++++++++++++---
 .../processors/query/h2/sql/GridSqlSelect.java  |  121 +-
 .../query/h2/sql/GridSqlSortColumn.java         |   41 +
 .../query/h2/sql/GridSqlStatement.java          |   11 +-
 .../query/h2/sql/GridSqlSubquery.java           |   31 +-
 .../processors/query/h2/sql/GridSqlTable.java   |   19 +-
 .../processors/query/h2/sql/GridSqlType.java    |    6 +-
 .../processors/query/h2/sql/GridSqlUnion.java   |   66 +-
 .../processors/query/h2/sql/GridSqlValue.java   |   25 -
 .../query/h2/twostep/GridMapQueryExecutor.java  |  313 +++-
 .../query/h2/twostep/GridMergeIndex.java        |  647 +++++--
 .../query/h2/twostep/GridMergeIndexSorted.java  |  380 ++++
 .../h2/twostep/GridMergeIndexUnsorted.java      |  101 +-
 .../query/h2/twostep/GridMergeTable.java        |   70 +-
 .../h2/twostep/GridReduceQueryExecutor.java     |  211 ++-
 .../query/h2/twostep/GridResultPage.java        |   34 +-
 .../h2/twostep/msg/GridH2IndexRangeRequest.java |   60 +-
 .../twostep/msg/GridH2IndexRangeResponse.java   |   62 +-
 .../h2/twostep/msg/GridH2QueryRequest.java      |   19 +-
 .../IgniteCacheAbstractFieldsQuerySelfTest.java |    2 +-
 ...niteCacheAbstractInsertSqlQuerySelfTest.java |    6 +-
 .../cache/IgniteCacheAbstractQuerySelfTest.java |   10 +-
 .../IgniteCacheInsertSqlQuerySelfTest.java      |   14 +
 .../IgniteCacheUpdateSqlQuerySelfTest.java      |    1 +
 .../query/IgniteSqlSegmentedIndexSelfTest.java  |  263 +++
 .../query/IgniteSqlSplitterSelfTest.java        |  331 +++-
 .../h2/GridIndexingSpiAbstractSelfTest.java     |   26 +-
 .../h2/sql/AbstractH2CompareQueryTest.java      |   21 +-
 .../query/h2/sql/GridQueryParsingTest.java      |   72 +-
 .../query/h2/sql/H2CompareBigQueryTest.java     |   58 +-
 .../FetchingQueryCursorStressTest.java          |  277 +++
 .../IgniteCacheQuerySelfTestSuite.java          |    4 +
 .../processors/query/h2/sql/bigQuery.sql        |   36 +-
 modules/kubernetes/config/Dockerfile            |   17 +
 .../kubernetes/config/ignite-deployment.yaml    |   15 +
 modules/kubernetes/config/ignite-service.yaml   |   15 +
 .../cpp/common/project/vs/common.vcxproj        |    1 -
 .../common/project/vs/common.vcxproj.filters    |    6 -
 .../platforms/cpp/common/project/vs/targetver.h |   25 -
 modules/platforms/cpp/core-test/Makefile.am     |    1 +
 .../cpp/core-test/config/cache-store.xml        |   71 +
 .../cpp/core-test/project/vs/core-test.vcxproj  |    5 +
 .../project/vs/core-test.vcxproj.filters        |    9 +
 .../src/binary_identity_resolver_test.cpp       |    2 +-
 .../src/binary_reader_writer_raw_test.cpp       |    2 +-
 .../core-test/src/binary_reader_writer_test.cpp |    2 +-
 .../cpp/core-test/src/binary_session_test.cpp   |    2 +-
 .../cpp/core-test/src/cache_query_test.cpp      |    2 +-
 .../cpp/core-test/src/cache_store_test.cpp      |  151 ++
 .../cpp/core-test/src/continuous_query_test.cpp |    2 +-
 .../cpp/core-test/src/handle_registry_test.cpp  |    2 +-
 .../cpp/core-test/src/ignite_error_test.cpp     |    2 +-
 .../cpp/core-test/src/ignition_test.cpp         |    2 +-
 .../cpp/core-test/src/interop_memory_test.cpp   |    2 +-
 .../cpp/core-test/src/reference_test.cpp        |    2 +-
 .../platforms/cpp/core-test/src/test_utils.cpp  |    7 +
 .../cpp/core-test/src/transactions_test.cpp     |    2 +-
 .../cpp/core/include/ignite/cache/cache.h       |   60 +-
 .../cache/query/continuous/continuous_query.h   |    2 +-
 .../core/include/ignite/impl/cache/cache_impl.h |   19 +
 .../ignite/impl/interop/interop_target.h        |   25 +
 .../cpp/core/src/impl/cache/cache_impl.cpp      |   48 +
 .../core/src/impl/interop/interop_target.cpp    |   36 +-
 .../platforms/cpp/jni/project/vs/jni.vcxproj    |    1 -
 .../cpp/jni/project/vs/jni.vcxproj.filters      |    3 -
 .../platforms/cpp/jni/project/vs/targetver.h    |   25 -
 .../Properties/AssemblyInfo.cs                  |    2 +-
 .../Properties/AssemblyInfo.cs                  |    2 +-
 .../Properties/AssemblyInfo.cs                  |    2 +-
 .../Properties/AssemblyInfo.cs                  |    2 +-
 .../Properties/AssemblyInfo.cs                  |    2 +-
 .../Properties/AssemblyInfo.cs                  |    2 +-
 modules/spark-2.10/pom.xml                      |   54 +
 modules/spark/pom.xml                           |  183 +-
 .../org/apache/ignite/spark/IgniteContext.scala |   22 +-
 .../spark/JavaEmbeddedIgniteRDDSelfTest.java    |   10 +-
 .../spark/JavaStandaloneIgniteRDDSelfTest.java  |   22 +-
 .../ant/beautifier/GridJavadocAntTask.java      |    1 +
 modules/web-console/backend/app/agent.js        |   36 +
 modules/web-console/backend/app/browser.js      |   28 +
 modules/web-console/backend/app/settings.js     |    8 +-
 modules/web-console/backend/index.js            |   10 -
 modules/web-console/frontend/.eslintrc          |    1 +
 modules/web-console/frontend/.gitignore         |    1 +
 modules/web-console/frontend/app/app.config.js  |   12 +-
 modules/web-console/frontend/app/app.js         |    7 +-
 .../activities-user-dialog.jade                 |   36 -
 .../activities-user-dialog.tpl.pug              |   36 +
 .../components/activities-user-dialog/index.js  |    2 +-
 .../form-field-datepicker.jade                  |   55 -
 .../form-field-datepicker.pug                   |   55 +
 .../list-of-registered-users/index.js           |    2 +-
 .../list-of-registered-users.controller.js      |   11 +-
 .../list-of-registered-users.jade               |   58 -
 .../list-of-registered-users.tpl.pug            |   58 +
 .../ui-grid-header/ui-grid-header.jade          |   27 -
 .../ui-grid-header/ui-grid-header.scss          |    1 +
 .../ui-grid-header/ui-grid-header.tpl.pug       |   27 +
 .../ui-grid-settings/ui-grid-settings.jade      |   33 -
 .../ui-grid-settings/ui-grid-settings.pug       |   33 +
 .../app/directives/centered/centered.css        |   37 -
 .../directives/centered/centered.directive.js   |    2 +-
 .../app/directives/centered/centered.scss       |   37 +
 .../information/information.directive.js        |    4 +-
 .../app/directives/information/information.jade |   20 -
 .../app/directives/information/information.pug  |   20 +
 .../ui-ace-docker/ui-ace-docker.directive.js    |    4 +-
 .../directives/ui-ace-docker/ui-ace-docker.jade |   31 -
 .../directives/ui-ace-docker/ui-ace-docker.pug  |   31 +
 .../ui-ace-java/ui-ace-java.directive.js        |    4 +-
 .../app/directives/ui-ace-java/ui-ace-java.jade |   22 -
 .../app/directives/ui-ace-java/ui-ace-java.pug  |   22 +
 .../ui-ace-pojos/ui-ace-pojos.directive.js      |    4 +-
 .../directives/ui-ace-pojos/ui-ace-pojos.jade   |   40 -
 .../directives/ui-ace-pojos/ui-ace-pojos.pug    |   40 +
 .../ui-ace-pom/ui-ace-pom.directive.js          |    4 +-
 .../app/directives/ui-ace-pom/ui-ace-pom.jade   |   17 -
 .../app/directives/ui-ace-pom/ui-ace-pom.pug    |   17 +
 .../ui-ace-sharp/ui-ace-sharp.directive.js      |    4 +-
 .../directives/ui-ace-sharp/ui-ace-sharp.jade   |   22 -
 .../directives/ui-ace-sharp/ui-ace-sharp.pug    |   22 +
 .../ui-ace-spring/ui-ace-spring.directive.js    |    4 +-
 .../directives/ui-ace-spring/ui-ace-spring.jade |   17 -
 .../directives/ui-ace-spring/ui-ace-spring.pug  |   17 +
 .../frontend/app/helpers/jade/form.jade         |   28 -
 .../frontend/app/helpers/jade/form.pug          |   28 +
 .../helpers/jade/form/form-field-checkbox.jade  |   38 -
 .../helpers/jade/form/form-field-checkbox.pug   |   38 +
 .../helpers/jade/form/form-field-datalist.jade  |   51 -
 .../helpers/jade/form/form-field-datalist.pug   |   51 +
 .../app/helpers/jade/form/form-field-down.jade  |   18 -
 .../app/helpers/jade/form/form-field-down.pug   |   18 +
 .../helpers/jade/form/form-field-dropdown.jade  |   51 -
 .../helpers/jade/form/form-field-dropdown.pug   |   51 +
 .../helpers/jade/form/form-field-feedback.jade  |   32 -
 .../helpers/jade/form/form-field-feedback.pug   |   32 +
 .../app/helpers/jade/form/form-field-label.jade |   23 -
 .../app/helpers/jade/form/form-field-label.pug  |   23 +
 .../helpers/jade/form/form-field-number.jade    |   53 -
 .../app/helpers/jade/form/form-field-number.pug |   53 +
 .../helpers/jade/form/form-field-password.jade  |   47 -
 .../helpers/jade/form/form-field-password.pug   |   47 +
 .../app/helpers/jade/form/form-field-text.jade  |   64 -
 .../app/helpers/jade/form/form-field-text.pug   |   64 +
 .../app/helpers/jade/form/form-field-up.jade    |   18 -
 .../app/helpers/jade/form/form-field-up.pug     |   18 +
 .../app/helpers/jade/form/form-group.jade       |   23 -
 .../app/helpers/jade/form/form-group.pug        |   23 +
 .../frontend/app/helpers/jade/mixins.jade       |  609 -------
 .../frontend/app/helpers/jade/mixins.pug        |  609 +++++++
 .../frontend/app/modules/agent/agent.module.js  |    4 +-
 .../modules/branding/header-logo.directive.js   |    4 +-
 .../app/modules/branding/header-logo.jade       |   18 -
 .../app/modules/branding/header-logo.pug        |   18 +
 .../branding/powered-by-apache.directive.js     |    4 +-
 .../app/modules/branding/powered-by-apache.jade |   18 -
 .../app/modules/branding/powered-by-apache.pug  |   18 +
 .../frontend/app/modules/demo/Demo.module.js    |    3 +-
 .../app/modules/dialog/dialog.factory.js        |    2 +-
 .../frontend/app/modules/dialog/dialog.jade     |   26 -
 .../frontend/app/modules/dialog/dialog.tpl.pug  |   26 +
 .../getting-started/GettingStarted.provider.js  |    3 +-
 .../frontend/app/modules/loading/loading.css    |   73 -
 .../app/modules/loading/loading.directive.js    |    8 +-
 .../frontend/app/modules/loading/loading.jade   |   23 -
 .../frontend/app/modules/loading/loading.pug    |   23 +
 .../frontend/app/modules/loading/loading.scss   |   73 +
 .../frontend/app/modules/nodes/Nodes.service.js |    4 +-
 .../app/modules/nodes/nodes-dialog.jade         |   35 -
 .../app/modules/nodes/nodes-dialog.tpl.pug      |   35 +
 .../app/modules/sql/notebook.controller.js      |    4 +-
 .../frontend/app/modules/sql/sql.controller.js  |   14 +-
 .../frontend/app/modules/sql/sql.module.js      |   15 +-
 .../frontend/app/modules/states/admin.state.js  |    4 +-
 .../app/modules/states/configuration.state.js   |   23 +-
 .../states/configuration/caches/affinity.jade   |   82 -
 .../states/configuration/caches/affinity.pug    |   82 +
 .../configuration/caches/client-near-cache.jade |   50 -
 .../configuration/caches/client-near-cache.pug  |   50 +
 .../configuration/caches/concurrency.jade       |   65 -
 .../states/configuration/caches/concurrency.pug |   65 +
 .../states/configuration/caches/general.jade    |   69 -
 .../states/configuration/caches/general.pug     |   69 +
 .../states/configuration/caches/memory.jade     |  109 --
 .../states/configuration/caches/memory.pug      |  108 ++
 .../configuration/caches/near-cache-client.jade |   51 -
 .../configuration/caches/near-cache-client.pug  |   51 +
 .../configuration/caches/near-cache-server.jade |   52 -
 .../configuration/caches/near-cache-server.pug  |   52 +
 .../configuration/caches/node-filter.jade       |   59 -
 .../states/configuration/caches/node-filter.pug |   59 +
 .../states/configuration/caches/query.jade      |  114 --
 .../states/configuration/caches/query.pug       |  114 ++
 .../states/configuration/caches/rebalance.jade  |   66 -
 .../states/configuration/caches/rebalance.pug   |   66 +
 .../states/configuration/caches/statistics.jade |   39 -
 .../states/configuration/caches/statistics.pug  |   39 +
 .../states/configuration/caches/store.jade      |  250 ---
 .../states/configuration/caches/store.pug       |  250 +++
 .../states/configuration/clusters/atomic.jade   |   54 -
 .../states/configuration/clusters/atomic.pug    |   54 +
 .../configuration/clusters/attributes.jade      |   57 -
 .../configuration/clusters/attributes.pug       |   57 +
 .../states/configuration/clusters/binary.jade   |   77 -
 .../states/configuration/clusters/binary.pug    |   77 +
 .../configuration/clusters/cache-key-cfg.jade   |   50 -
 .../configuration/clusters/cache-key-cfg.pug    |   50 +
 .../configuration/clusters/checkpoint.jade      |   86 -
 .../configuration/clusters/checkpoint.pug       |   86 +
 .../configuration/clusters/checkpoint/fs.jade   |   66 -
 .../configuration/clusters/checkpoint/fs.pug    |   66 +
 .../configuration/clusters/checkpoint/jdbc.jade |   48 -
 .../configuration/clusters/checkpoint/jdbc.pug  |   48 +
 .../configuration/clusters/checkpoint/s3.jade   |  178 --
 .../configuration/clusters/checkpoint/s3.pug    |  178 ++
 .../configuration/clusters/collision.jade       |   63 -
 .../states/configuration/clusters/collision.pug |   63 +
 .../clusters/collision/custom.jade              |   24 -
 .../configuration/clusters/collision/custom.pug |   24 +
 .../clusters/collision/fifo-queue.jade          |   27 -
 .../clusters/collision/fifo-queue.pug           |   27 +
 .../clusters/collision/job-stealing.jade        |   63 -
 .../clusters/collision/job-stealing.pug         |   63 +
 .../clusters/collision/priority-queue.jade      |   42 -
 .../clusters/collision/priority-queue.pug       |   42 +
 .../configuration/clusters/communication.jade   |  100 --
 .../configuration/clusters/communication.pug    |  100 ++
 .../configuration/clusters/connector.jade       |  104 --
 .../states/configuration/clusters/connector.pug |  104 ++
 .../configuration/clusters/deployment.jade      |  237 ---
 .../configuration/clusters/deployment.pug       |  237 +++
 .../configuration/clusters/discovery.jade       |   88 -
 .../states/configuration/clusters/discovery.pug |   88 +
 .../states/configuration/clusters/events.jade   |   68 -
 .../states/configuration/clusters/events.pug    |   68 +
 .../states/configuration/clusters/failover.jade |   73 -
 .../states/configuration/clusters/failover.pug  |   73 +
 .../states/configuration/clusters/general.jade  |   76 -
 .../states/configuration/clusters/general.pug   |   76 +
 .../clusters/general/discovery/cloud.jade       |  134 --
 .../clusters/general/discovery/cloud.pug        |  134 ++
 .../clusters/general/discovery/google.jade      |   38 -
 .../clusters/general/discovery/google.pug       |   38 +
 .../clusters/general/discovery/jdbc.jade        |   31 -
 .../clusters/general/discovery/jdbc.pug         |   31 +
 .../clusters/general/discovery/multicast.jade   |   99 -
 .../clusters/general/discovery/multicast.pug    |   99 +
 .../clusters/general/discovery/s3.jade          |   27 -
 .../clusters/general/discovery/s3.pug           |   27 +
 .../clusters/general/discovery/shared.jade      |   23 -
 .../clusters/general/discovery/shared.pug       |   23 +
 .../clusters/general/discovery/vm.jade          |   79 -
 .../clusters/general/discovery/vm.pug           |   79 +
 .../clusters/general/discovery/zookeeper.jade   |   85 -
 .../clusters/general/discovery/zookeeper.pug    |   85 +
 .../bounded-exponential-backoff.jade            |   27 -
 .../retrypolicy/bounded-exponential-backoff.pug |   27 +
 .../discovery/zookeeper/retrypolicy/custom.jade |   24 -
 .../discovery/zookeeper/retrypolicy/custom.pug  |   24 +
 .../retrypolicy/exponential-backoff.jade        |   27 -
 .../retrypolicy/exponential-backoff.pug         |   27 +
 .../zookeeper/retrypolicy/forever.jade          |   22 -
 .../discovery/zookeeper/retrypolicy/forever.pug |   22 +
 .../zookeeper/retrypolicy/n-times.jade          |   25 -
 .../discovery/zookeeper/retrypolicy/n-times.pug |   25 +
 .../zookeeper/retrypolicy/one-time.jade         |   23 -
 .../zookeeper/retrypolicy/one-time.pug          |   23 +
 .../zookeeper/retrypolicy/until-elapsed.jade    |   25 -
 .../zookeeper/retrypolicy/until-elapsed.pug     |   25 +
 .../states/configuration/clusters/igfs.jade     |   38 -
 .../states/configuration/clusters/igfs.pug      |   38 +
 .../configuration/clusters/load-balancing.jade  |  107 --
 .../configuration/clusters/load-balancing.pug   |  107 ++
 .../states/configuration/clusters/logger.jade   |   66 -
 .../states/configuration/clusters/logger.pug    |   66 +
 .../configuration/clusters/logger/custom.jade   |   25 -
 .../configuration/clusters/logger/custom.pug    |   25 +
 .../configuration/clusters/logger/log4j.jade    |   50 -
 .../configuration/clusters/logger/log4j.pug     |   50 +
 .../configuration/clusters/logger/log4j2.jade   |   39 -
 .../configuration/clusters/logger/log4j2.pug    |   39 +
 .../configuration/clusters/marshaller.jade      |   76 -
 .../configuration/clusters/marshaller.pug       |   76 +
 .../states/configuration/clusters/metrics.jade  |   51 -
 .../states/configuration/clusters/metrics.pug   |   51 +
 .../states/configuration/clusters/odbc.jade     |   48 -
 .../states/configuration/clusters/odbc.pug      |   48 +
 .../states/configuration/clusters/ssl.jade      |  110 --
 .../states/configuration/clusters/ssl.pug       |  110 ++
 .../states/configuration/clusters/swap.jade     |   72 -
 .../states/configuration/clusters/swap.pug      |   72 +
 .../states/configuration/clusters/thread.jade   |   48 -
 .../states/configuration/clusters/thread.pug    |   48 +
 .../states/configuration/clusters/time.jade     |   47 -
 .../states/configuration/clusters/time.pug      |   47 +
 .../configuration/clusters/transactions.jade    |   69 -
 .../configuration/clusters/transactions.pug     |   69 +
 .../states/configuration/domains/general.jade   |   52 -
 .../states/configuration/domains/general.pug    |   52 +
 .../states/configuration/domains/query.jade     |  172 --
 .../states/configuration/domains/query.pug      |  172 ++
 .../states/configuration/domains/store.jade     |  127 --
 .../states/configuration/domains/store.pug      |  127 ++
 .../modules/states/configuration/igfs/dual.jade |   42 -
 .../modules/states/configuration/igfs/dual.pug  |   42 +
 .../states/configuration/igfs/fragmentizer.jade |   43 -
 .../states/configuration/igfs/fragmentizer.pug  |   43 +
 .../states/configuration/igfs/general.jade      |   57 -
 .../states/configuration/igfs/general.pug       |   57 +
 .../modules/states/configuration/igfs/ipc.jade  |   60 -
 .../modules/states/configuration/igfs/ipc.pug   |   60 +
 .../modules/states/configuration/igfs/misc.jade |  108 --
 .../modules/states/configuration/igfs/misc.pug  |  108 ++
 .../states/configuration/igfs/secondary.jade    |   45 -
 .../states/configuration/igfs/secondary.pug     |   45 +
 .../configuration/summary/summary.controller.js |    5 +
 .../frontend/app/modules/states/errors.state.js |    4 +-
 .../app/modules/states/password.state.js        |    6 +-
 .../app/modules/states/profile.state.js         |    4 +-
 .../frontend/app/modules/states/signin.state.js |    2 +-
 .../frontend/app/services/Clone.service.js      |    4 +-
 .../frontend/app/services/Confirm.service.js    |    4 +-
 .../app/services/ConfirmBatch.service.js        |    4 +-
 .../frontend/controllers/caches-controller.js   |    4 +-
 .../frontend/controllers/domains-controller.js  |    4 +-
 .../frontend/gulpfile.babel.js/paths.js         |   28 +-
 .../frontend/gulpfile.babel.js/tasks/build.js   |    2 +-
 .../frontend/gulpfile.babel.js/tasks/bundle.js  |    8 +-
 .../frontend/gulpfile.babel.js/tasks/jade.js    |   49 -
 .../frontend/gulpfile.babel.js/tasks/watch.js   |    5 +-
 .../gulpfile.babel.js/webpack/common.js         |  292 +--
 .../webpack/environments/development.js         |   90 +-
 .../webpack/environments/production.js          |   41 +-
 .../webpack/environments/test.js                |   52 +-
 .../frontend/gulpfile.babel.js/webpack/index.js |    4 +-
 modules/web-console/frontend/package.json       |   60 +-
 .../frontend/test/e2e/exampe.test.js            |    4 +-
 .../frontend/test/karma.conf.babel.js           |    7 +-
 .../frontend/test/protractor.conf.js            |   16 +-
 .../frontend/test/unit/JavaTransformer.test.js  |    2 +-
 .../frontend/test/unit/JavaTypes.test.js        |  137 +-
 .../frontend/test/unit/SharpTransformer.test.js |    2 +-
 .../test/unit/SpringTransformer.test.js         |    2 +-
 .../frontend/test/unit/SqlTypes.test.js         |    7 +-
 .../frontend/test/unit/UserAuth.test.js         |    4 +-
 .../frontend/test/unit/Version.test.js          |    1 +
 .../test/unit/defaultName.filter.test.js        |   27 +-
 modules/web-console/frontend/views/403.jade     |   22 -
 modules/web-console/frontend/views/403.pug      |   22 +
 modules/web-console/frontend/views/404.jade     |   22 -
 modules/web-console/frontend/views/404.pug      |   22 +
 modules/web-console/frontend/views/base.jade    |   22 -
 modules/web-console/frontend/views/base.pug     |   22 +
 .../frontend/views/configuration/caches.jade    |   55 -
 .../frontend/views/configuration/caches.tpl.pug |   55 +
 .../frontend/views/configuration/clusters.jade  |   68 -
 .../views/configuration/clusters.tpl.pug        |   68 +
 .../views/configuration/domains-import.jade     |  170 --
 .../views/configuration/domains-import.tpl.pug  |  170 ++
 .../frontend/views/configuration/domains.jade   |   66 -
 .../views/configuration/domains.tpl.pug         |   66 +
 .../frontend/views/configuration/igfs.jade      |   51 -
 .../frontend/views/configuration/igfs.tpl.pug   |   51 +
 .../frontend/views/configuration/sidebar.jade   |   29 -
 .../views/configuration/sidebar.tpl.pug         |   29 +
 .../summary-project-structure.jade              |   27 -
 .../summary-project-structure.tpl.pug           |   28 +
 .../views/configuration/summary-tabs.jade       |   25 -
 .../views/configuration/summary-tabs.pug        |   25 +
 .../frontend/views/configuration/summary.jade   |   90 -
 .../views/configuration/summary.tpl.pug         |   90 +
 .../frontend/views/includes/footer.jade         |   23 -
 .../frontend/views/includes/footer.pug          |   23 +
 .../frontend/views/includes/header.jade         |   52 -
 .../frontend/views/includes/header.pug          |   52 +
 modules/web-console/frontend/views/index.jade   |   47 -
 modules/web-console/frontend/views/index.pug    |   47 +
 modules/web-console/frontend/views/reset.jade   |   48 -
 .../web-console/frontend/views/reset.tpl.pug    |   48 +
 .../frontend/views/settings/admin.jade          |   25 -
 .../frontend/views/settings/admin.tpl.pug       |   25 +
 .../frontend/views/settings/profile.jade        |   76 -
 .../frontend/views/settings/profile.tpl.pug     |   76 +
 modules/web-console/frontend/views/signin.jade  |  163 --
 .../web-console/frontend/views/signin.tpl.pug   |  163 ++
 .../frontend/views/sql/cache-metadata.jade      |   40 -
 .../frontend/views/sql/cache-metadata.tpl.pug   |   40 +
 .../frontend/views/sql/chart-settings.jade      |   40 -
 .../frontend/views/sql/chart-settings.tpl.pug   |   40 +
 .../frontend/views/sql/notebook-new.jade        |   33 -
 .../frontend/views/sql/notebook-new.tpl.pug     |   33 +
 .../frontend/views/sql/paragraph-rate.jade      |   31 -
 .../frontend/views/sql/paragraph-rate.tpl.pug   |   31 +
 modules/web-console/frontend/views/sql/sql.jade |  278 ---
 .../web-console/frontend/views/sql/sql.tpl.pug  |  278 +++
 .../views/templates/agent-download.jade         |   50 -
 .../views/templates/agent-download.tpl.pug      |   50 +
 .../frontend/views/templates/alert.jade         |   21 -
 .../frontend/views/templates/alert.tpl.pug      |   21 +
 .../frontend/views/templates/batch-confirm.jade |   34 -
 .../views/templates/batch-confirm.tpl.pug       |   34 +
 .../frontend/views/templates/clone.jade         |   39 -
 .../frontend/views/templates/clone.tpl.pug      |   39 +
 .../frontend/views/templates/confirm.jade       |   33 -
 .../frontend/views/templates/confirm.tpl.pug    |   33 +
 .../frontend/views/templates/demo-info.jade     |   47 -
 .../frontend/views/templates/demo-info.tpl.pug  |   47 +
 .../frontend/views/templates/dropdown.jade      |   24 -
 .../frontend/views/templates/dropdown.tpl.pug   |   24 +
 .../views/templates/getting-started.jade        |   34 -
 .../views/templates/getting-started.tpl.pug     |   34 +
 .../frontend/views/templates/message.jade       |   28 -
 .../frontend/views/templates/message.tpl.pug    |   28 +
 .../frontend/views/templates/pagination.jade    |   32 -
 .../frontend/views/templates/select.jade        |   26 -
 .../frontend/views/templates/select.tpl.pug     |   26 +
 .../views/templates/validation-error.jade       |   25 -
 .../views/templates/validation-error.tpl.pug    |   25 +
 .../demo/service/DemoCachesLoadService.java     |   26 +
 modules/yardstick/config/ignite-base-config.xml |   25 +
 .../yardstick/cache/IgniteGetAllBenchmark.java  |   42 +
 .../cache/IgniteGetAllOffHeapBenchmark.java     |   30 +
 .../yardstick/cache/IgniteGetBenchmark.java     |   35 +
 .../cache/IgnitePutAllOffHeapBenchmark.java     |   30 +
 .../cache/IgnitePutAllTxOffHeapBenchmark.java   |   30 +
 .../IgnitePutOffHeapIndexedValue8Benchmark.java |   30 +
 .../IgnitePutRandomValueSizeBenchmark.java      |   41 +
 modules/zeromq/README.txt                       |   37 +
 modules/zeromq/licenses/apache-2.0.txt          |  202 +++
 modules/zeromq/pom.xml                          |   75 +
 .../stream/zeromq/IgniteZeroMqStreamer.java     |  146 ++
 .../ignite/stream/zeromq/ZeroMqTypeSocket.java  |   56 +
 .../ignite/stream/zeromq/package-info.java      |   21 +
 .../stream/zeromq/IgniteZeroMqStreamerTest.java |  235 +++
 .../zeromq/IgniteZeroMqStreamerTestSuite.java   |   37 +
 .../ZeroMqStringSingleTupleExtractor.java       |   46 +
 .../ignite/stream/zeromq/package-info.java      |   21 +
 parent/pom.xml                                  |    6 +-
 pom.xml                                         |    1 +
 579 files changed, 20658 insertions(+), 12042 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
index 4773e3b,1ad2a0f..fb5627e
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
@@@ -195,8 -191,9 +195,11 @@@ public class BinaryContext 
          sysClss.add(GridClosureProcessor.C4V2.class.getName());
          sysClss.add(GridClosureProcessor.C4MLAV2.class.getName());
  
 +        sysClss.add(IgniteUuid.class.getName());
 +
+         // BinaryUtils.FIELDS_SORTED_ORDER support, since it uses TreeMap at BinaryMetadata.
+         sysClss.add(BinaryTreeMap.class.getName());
+ 
          if (BinaryUtils.wrapTrees()) {
              sysClss.add(TreeMap.class.getName());
              sysClss.add(TreeSet.class.getName());

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
----------------------------------------------------------------------

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

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

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/core/src/main/java/org/apache/ignite/internal/processors/closure/GridClosureProcessor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
index 176178c,17060fb..1069e55
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
@@@ -17,11 -17,11 +17,14 @@@
  
  package org.apache.ignite.internal.processors.query;
  
 +import java.sql.PreparedStatement;
 +import java.sql.SQLException;
 +import java.util.concurrent.TimeUnit;
+ import java.lang.reflect.Field;
  import java.lang.reflect.Method;
  import java.math.BigDecimal;
+ import java.sql.PreparedStatement;
+ import java.sql.SQLException;
  import java.sql.Time;
  import java.sql.Timestamp;
  import java.util.ArrayList;
@@@ -33,12 -35,20 +36,15 @@@ import java.util.LinkedHashMap
  import java.util.List;
  import java.util.Map;
  import java.util.Set;
 -import java.util.TreeSet;
  import java.util.UUID;
  import java.util.concurrent.ConcurrentMap;
+ import java.util.concurrent.ExecutorService;
+ import java.util.concurrent.TimeUnit;
  import javax.cache.Cache;
  import javax.cache.CacheException;
  import org.apache.ignite.IgniteCheckedException;
+ import org.apache.ignite.IgniteDataStreamer;
  import org.apache.ignite.IgniteException;
 -import org.apache.ignite.binary.BinaryField;
 -import org.apache.ignite.binary.BinaryObject;
 -import org.apache.ignite.binary.BinaryObjectBuilder;
 -import org.apache.ignite.binary.BinaryType;
  import org.apache.ignite.binary.Binarylizable;
  import org.apache.ignite.cache.CacheTypeMetadata;
  import org.apache.ignite.cache.QueryEntity;
@@@ -747,16 -855,13 +748,13 @@@ public class GridQueryProcessor extend
  
          try {
              return executeQuery(GridCacheQueryType.SQL, qry.getSql(), cctx,
-                 new IgniteOutClosureX<Iterator<Cache.Entry<K, V>>>() {
-                     @Override public Iterator<Cache.Entry<K, V>> applyx() throws IgniteCheckedException {
-                         String space = cctx.name();
+                 new IgniteOutClosureX<QueryCursor<Cache.Entry<K, V>>>() {
+                     @Override public QueryCursor<Cache.Entry<K, V>> applyx() throws IgniteCheckedException {
                          String type = qry.getType();
-                         String sqlQry = qry.getSql();
-                         Object[] params = qry.getArgs();
  
 -                        GridQueryProcessor.TypeDescriptor typeDesc = typesByName.get(
 -                            new GridQueryProcessor.TypeName(
 -                                cctx.name(),
 +                        QueryTypeDescriptorImpl typeDesc = typesByName.get(
 +                            new QueryTypeNameKey(
 +                                space,
                                  type));
  
                          if (typeDesc == null || !typeDesc.registered())

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
index 986fff7,99146aa..4be7f10
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
@@@ -1586,14 -1586,9 +1586,14 @@@ public class GridServiceProcessor exten
                          if (!((CacheAffinityChangeMessage)msg).exchangeNeeded())
                              return;
                      }
 +
 +                    if (msg instanceof MappingProposedMessage || msg instanceof MappingAcceptedMessage)
 +                        return;
 +
 +                    topVer = ((DiscoveryCustomEvent)evt).affinityTopologyVersion();
                  }
                  else
-                     topVer = new AffinityTopologyVersion(((DiscoveryEvent)evt).topologyVersion(), 0);
+                     topVer = new AffinityTopologyVersion((evt).topologyVersion(), 0);
  
                  depExe.execute(new BusyRunnable() {
                      @Override public void run0() {

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

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index 2664505,30c6976..30c6976
mode 100755,100644..100755
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/core/src/main/resources/META-INF/classnames.properties
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/shuffle/HadoopShuffleJob.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DmlStatementsProcessor.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DmlStatementsProcessor.java
index 7995083,60bc483..9ab7704
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DmlStatementsProcessor.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DmlStatementsProcessor.java
@@@ -830,43 -935,44 +919,65 @@@ public class DmlStatementsProcessor 
       * @throws IgniteCheckedException if failed.
       */
      @SuppressWarnings({"unchecked", "ConstantConditions", "ResultOfMethodCallIgnored"})
 -    private IgniteBiTuple<?, ?> rowToKeyValue(GridCacheContext cctx, Object[] row, String[] cols,
 -        int[] colTypes, KeyValueSupplier keySupplier, KeyValueSupplier valSupplier, int keyColIdx, int valColIdx,
 -        GridH2RowDescriptor rowDesc) throws IgniteCheckedException {
 +    private IgniteBiTuple<?, ?> rowToKeyValue(GridCacheContext cctx, List<?> row, UpdatePlan plan)
 +        throws IgniteCheckedException {
++        GridH2RowDescriptor rowDesc = plan.tbl.rowDescriptor();
+         GridQueryTypeDescriptor desc = rowDesc.type();
+ 
 -        Object key = keySupplier.apply(F.asList(row));
 +        Object key = plan.keySupplier.apply(row);
+ 
+         if (GridQueryProcessor.isSqlType(desc.keyClass())) {
+             assert keyColIdx != -1;
+ 
 -            key = convert(key, rowDesc, desc.keyClass(), colTypes[keyColIdx]);
++            key = convert(key, rowDesc, desc.keyClass(), plan.colTypes[keyColIdx]);
+         }
+ 
 -        Object val = valSupplier.apply(F.asList(row));
 +        Object val = plan.valSupplier.apply(row);
  
+         if (GridQueryProcessor.isSqlType(desc.valueClass())) {
+             assert valColIdx != -1;
+ 
 -            val = convert(val, rowDesc, desc.valueClass(), colTypes[valColIdx]);
++            val = convert(val, rowDesc, desc.valueClass(), plan.colTypes[valColIdx]);
+         }
+ 
          if (key == null)
              throw new IgniteSQLException("Key for INSERT or MERGE must not be null",  IgniteQueryErrorCode.NULL_KEY);
  
          if (val == null)
              throw new IgniteSQLException("Value for INSERT or MERGE must not be null", IgniteQueryErrorCode.NULL_VALUE);
  
-         GridQueryTypeDescriptor desc = plan.tbl.rowDescriptor().type();
- 
 -        for (int i = 0; i < cols.length; i++) {
 -            if (i == keyColIdx || i == valColIdx)
 +        Map<String, Object> newColVals = new HashMap<>();
 +
 +        for (int i = 0; i < plan.colNames.length; i++) {
 +            if (i == plan.keyColIdx || i == plan.valColIdx)
                  continue;
  
-             newColVals.put(plan.colNames[i], convert(row.get(i), plan.colNames[i],
-                 plan.tbl.rowDescriptor(), plan.colTypes[i]));
 -            GridQueryProperty prop = desc.property(cols[i]);
++            String colName = plan.colNames[i];
++
++            GridQueryProperty prop = desc.property(colName);
+ 
+             assert prop != null;
+ 
+             Class<?> expCls = prop.type();
+ 
 -            desc.setValue(cols[i], key, val, convert(row[i], rowDesc, expCls, colTypes[i]));
++            newColVals.put(colName, convert(row.get(i), plan.colNames[i],
++                rowDesc, expCls, plan.colTypes[i]));
 +        }
 +
 +        // We update columns in the order specified by the table for a reason - table's
 +        // column order preserves their precedence for correct update of nested properties.
 +        Column[] cols = plan.tbl.getColumns();
 +
 +        // First 2 columns are _key and _val, skip 'em.
 +        for (int i = 2; i < cols.length; i++) {
 +            String colName = cols[i].getName();
 +
 +            if (!newColVals.containsKey(colName))
 +                continue;
 +
 +            Object colVal = newColVals.get(colName);
 +
 +            desc.setValue(colName, key, val, colVal);
          }
  
          if (cctx.binaryMarshaller()) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index 2f8faa4,46fbb9e..a4e49e9
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@@ -185,6 -188,11 +189,8 @@@ import static org.apache.ignite.IgniteS
  import static org.apache.ignite.internal.processors.cache.query.GridCacheQueryType.SQL;
  import static org.apache.ignite.internal.processors.cache.query.GridCacheQueryType.SQL_FIELDS;
  import static org.apache.ignite.internal.processors.cache.query.GridCacheQueryType.TEXT;
 -import static org.apache.ignite.internal.processors.query.GridQueryIndexType.FULLTEXT;
 -import static org.apache.ignite.internal.processors.query.GridQueryIndexType.GEO_SPATIAL;
 -import static org.apache.ignite.internal.processors.query.GridQueryIndexType.SORTED;
+ import static org.apache.ignite.internal.processors.query.h2.opt.DistributedJoinMode.OFF;
+ import static org.apache.ignite.internal.processors.query.h2.opt.DistributedJoinMode.distributedJoinMode;
  import static org.apache.ignite.internal.processors.query.h2.opt.GridH2AbstractKeyValueRow.KEY_COL;
  import static org.apache.ignite.internal.processors.query.h2.opt.GridH2QueryType.LOCAL;
  import static org.apache.ignite.internal.processors.query.h2.opt.GridH2QueryType.PREPARE;
@@@ -2603,9 -2826,9 +2811,9 @@@ public class IgniteH2Indexing implement
  
                          cols = treeIndexColumns(cols, keyCol, affCol);
  
-                         idxs.add(new GridH2TreeIndex(name, tbl, false, cols));
+                         idxs.add(createTreeIndex(name, tbl, false, cols));
                      }
 -                    else if (idx.type() == GEO_SPATIAL)
 +                    else if (idx.type() == QueryIndexType.GEOSPATIAL)
                          idxs.add(createH2SpatialIndex(tbl, name, cols.toArray(new IndexColumn[cols.size()])));
                      else
                          throw new IllegalStateException("Index type: " + idx.type());

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/dml/UpdatePlanBuilder.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2IndexBase.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2IndexBase.java
index 5669fd0,fc5eb4b..1ebfd60
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2IndexBase.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2IndexBase.java
@@@ -178,6 -185,31 +185,21 @@@ public abstract class GridH2IndexBase e
      }
  
      /**
+      * @return Index segment ID for current query context.
+      */
+     protected int threadLocalSegment() {
+         if(segmentsCount() == 1)
+             return 0;
+ 
+         GridH2QueryContext qctx = GridH2QueryContext.get();
+ 
+         if(qctx == null)
+             throw new IllegalStateException("GridH2QueryContext is not initialized.");
+ 
+         return qctx.segment();
+     }
+ 
+     /**
 -     * If the index supports rebuilding it has to creates its own copy.
 -     *
 -     * @return Rebuilt copy.
 -     * @throws InterruptedException If interrupted.
 -     */
 -    public GridH2IndexBase rebuild() throws InterruptedException {
 -        return this;
 -    }
 -
 -    /**
       * Put row if absent.
       *
       * @param row Row.

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
index 33a6778,6416b21..4dcf331
--- 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
@@@ -85,8 -86,12 +87,11 @@@ import static org.apache.ignite.events.
  import static org.apache.ignite.events.EventType.EVT_CACHE_QUERY_OBJECT_READ;
  import static org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion.NONE;
  import static org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState.OWNING;
+ import static org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.setupConnection;
+ import static org.apache.ignite.internal.processors.query.h2.opt.DistributedJoinMode.OFF;
+ import static org.apache.ignite.internal.processors.query.h2.opt.DistributedJoinMode.distributedJoinMode;
  import static org.apache.ignite.internal.processors.query.h2.opt.GridH2QueryType.MAP;
  import static org.apache.ignite.internal.processors.query.h2.opt.GridH2QueryType.REPLICATED;
 -import static org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.QUERY_POOL;
  import static org.apache.ignite.internal.processors.query.h2.twostep.msg.GridH2ValueMessageFactory.toMessages;
  import static org.jsr166.ConcurrentLinkedHashMap.QueuePolicy.PER_SEGMENT_Q;
  

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQuerySelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractInsertSqlQuerySelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractQuerySelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheInsertSqlQuerySelfTest.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheInsertSqlQuerySelfTest.java
index f91f405,471b791..f48e80a
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheInsertSqlQuerySelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheInsertSqlQuerySelfTest.java
@@@ -17,8 -17,7 +17,9 @@@
  
  package org.apache.ignite.internal.processors.cache;
  
 +import java.util.ArrayList;
 +import java.util.Arrays;
+ import java.util.UUID;
  import java.util.concurrent.Callable;
  import javax.cache.CacheException;
  import org.apache.ignite.IgniteCache;
@@@ -208,20 -207,13 +209,33 @@@ public class IgniteCacheInsertSqlQueryS
      /**
       *
       */
+     public void testUuidHandling() {
+         IgniteCache<UUID, Integer> p = ignite(0).cache("U2I");
+ 
+         UUID id = UUID.randomUUID();
+ 
+         p.query(new SqlFieldsQuery("insert into Integer(_key, _val) values (?, ?)").setArgs(id, 1));
+ 
+         assertEquals(1, (int)p.get(id));
+     }
++
++    /**
++     *
++     */
 +    public void testNestedFieldsHandling() {
 +        IgniteCache<Integer, IgniteCacheUpdateSqlQuerySelfTest.AllTypes> p = ignite(0).cache("I2AT");
 +
 +        p.query(new SqlFieldsQuery("insert into AllTypes(_key, innerTypeCol, arrListCol, _val, innerStrCol) " +
 +            "values (1, ?, ?, ?, 'sss')") .setArgs(new IgniteCacheUpdateSqlQuerySelfTest.AllTypes.InnerType(50L),
 +            new ArrayList<>(Arrays.asList(3L, 2L, 1L)), new IgniteCacheUpdateSqlQuerySelfTest.AllTypes(1L)));
 +
 +        IgniteCacheUpdateSqlQuerySelfTest.AllTypes res = p.get(1);
 +
 +        IgniteCacheUpdateSqlQuerySelfTest.AllTypes.InnerType resInner = new IgniteCacheUpdateSqlQuerySelfTest.AllTypes.InnerType(50L);
 +
 +        resInner.innerStrCol = "sss";
 +        resInner.arrListCol = new ArrayList<>(Arrays.asList(3L, 2L, 1L));
 +
 +        assertEquals(resInner, res.innerTypeCol);
 +    }
  }

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheUpdateSqlQuerySelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
index 7bf3887,0c74f12..50519a8
--- a/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
@@@ -96,10 -96,11 +96,11 @@@ import org.apache.ignite.internal.proce
  import org.apache.ignite.internal.processors.cache.query.IgniteCacheQueryCacheDestroySelfTest;
  import org.apache.ignite.internal.processors.cache.query.IndexingSpiQuerySelfTest;
  import org.apache.ignite.internal.processors.cache.query.IndexingSpiQueryTxSelfTest;
 +import org.apache.ignite.internal.processors.query.IgniteSqlQueryDedicatedPoolTest;
  import org.apache.ignite.internal.processors.query.IgniteSqlEntryCacheModeAgnosticTest;
  import org.apache.ignite.internal.processors.query.IgniteSqlSchemaIndexingTest;
+ import org.apache.ignite.internal.processors.query.IgniteSqlSegmentedIndexSelfTest;
  import org.apache.ignite.internal.processors.query.IgniteSqlSplitterSelfTest;
 -import org.apache.ignite.internal.processors.query.h2.GridH2IndexRebuildTest;
  import org.apache.ignite.internal.processors.query.h2.GridH2IndexingInMemSelfTest;
  import org.apache.ignite.internal.processors.query.h2.GridH2IndexingOffheapSelfTest;
  import org.apache.ignite.internal.processors.query.h2.opt.GridH2TableSelfTest;

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/platforms/cpp/common/project/vs/common.vcxproj
----------------------------------------------------------------------
diff --cc modules/platforms/cpp/common/project/vs/common.vcxproj
index ab9ce53,73a0fef..45ac15e
--- a/modules/platforms/cpp/common/project/vs/common.vcxproj
+++ b/modules/platforms/cpp/common/project/vs/common.vcxproj
@@@ -182,8 -182,6 +182,7 @@@
      <ClInclude Include="..\..\include\ignite\timestamp.h" />
      <ClInclude Include="..\..\os\win\include\ignite\common\common.h" />
      <ClInclude Include="..\..\os\win\include\ignite\common\concurrent_os.h" />
 +    <ClInclude Include="..\..\os\win\include\ignite\common\dynamic_load_os.h" />
-     <ClInclude Include="targetver.h" />
    </ItemGroup>
    <ItemGroup>
      <ClCompile Include="..\..\os\win\src\common\concurrent_os.cpp" />

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/platforms/cpp/common/project/vs/common.vcxproj.filters
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/platforms/cpp/core-test/Makefile.am
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/platforms/cpp/core-test/project/vs/core-test.vcxproj
----------------------------------------------------------------------
diff --cc modules/platforms/cpp/core-test/project/vs/core-test.vcxproj
index 607b5a0,1b77c40..4d252b9
--- a/modules/platforms/cpp/core-test/project/vs/core-test.vcxproj
+++ b/modules/platforms/cpp/core-test/project/vs/core-test.vcxproj
@@@ -41,9 -45,8 +45,10 @@@
    <ItemGroup>
      <ClCompile Include="..\..\src\binary_object_test.cpp" />
      <ClCompile Include="..\..\src\binary_identity_resolver_test.cpp" />
+     <ClCompile Include="..\..\src\cache_store_test.cpp" />
      <ClCompile Include="..\..\src\cache_test.cpp" />
 +    <ClCompile Include="..\..\src\cluster_test.cpp" />
 +    <ClCompile Include="..\..\src\cache_invoke_test.cpp" />
      <ClCompile Include="..\..\src\concurrent_test.cpp" />
      <ClCompile Include="..\..\src\decimal_test.cpp" />
      <ClCompile Include="..\..\src\dynamic_size_array_test.cpp" />

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/platforms/cpp/core-test/project/vs/core-test.vcxproj.filters
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/platforms/cpp/core-test/src/binary_reader_writer_raw_test.cpp
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/platforms/cpp/core-test/src/interop_memory_test.cpp
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/platforms/cpp/core/include/ignite/cache/cache.h
----------------------------------------------------------------------
diff --cc modules/platforms/cpp/core/include/ignite/cache/cache.h
index 36a0470,f179830..f9c442c
--- a/modules/platforms/cpp/core/include/ignite/cache/cache.h
+++ b/modules/platforms/cpp/core/include/ignite/cache/cache.h
@@@ -30,20 -30,17 +30,20 @@@
  #include <ignite/common/concurrent.h>
  #include <ignite/ignite_error.h>
  
- #include "ignite/cache/cache_peek_mode.h"
- #include "ignite/cache/query/query_cursor.h"
- #include "ignite/cache/query/query_fields_cursor.h"
- #include "ignite/cache/query/query_scan.h"
- #include "ignite/cache/query/query_sql.h"
- #include "ignite/cache/query/query_text.h"
- #include "ignite/cache/query/query_sql_fields.h"
- #include "ignite/cache/query/continuous/continuous_query_handle.h"
- #include "ignite/cache/query/continuous/continuous_query.h"
- #include "ignite/impl/cache/cache_impl.h"
- #include "ignite/impl/cache/cache_entry_processor_holder.h"
- #include "ignite/impl/operations.h"
- #include "ignite/impl/module_manager.h"
- #include "ignite/ignite_error.h"
+ #include <ignite/cache/cache_peek_mode.h>
+ #include <ignite/cache/query/query_cursor.h>
+ #include <ignite/cache/query/query_fields_cursor.h>
+ #include <ignite/cache/query/query_scan.h>
+ #include <ignite/cache/query/query_sql.h>
+ #include <ignite/cache/query/query_text.h>
+ #include <ignite/cache/query/query_sql_fields.h>
+ #include <ignite/cache/query/continuous/continuous_query_handle.h>
+ #include <ignite/cache/query/continuous/continuous_query.h>
+ #include <ignite/impl/cache/cache_impl.h>
++#include <ignite/impl/cache/cache_entry_processor_holder.h>
+ #include <ignite/impl/operations.h>
++#include <ignite/impl/module_manager.h>
++#include <ignite/ignite_error.h>
  
  namespace ignite
  {

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/platforms/cpp/core/include/ignite/impl/cache/cache_impl.h
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/platforms/cpp/core/include/ignite/impl/interop/interop_target.h
----------------------------------------------------------------------
diff --cc modules/platforms/cpp/core/include/ignite/impl/interop/interop_target.h
index a7a3094,f959f95..7ab6a6c
--- a/modules/platforms/cpp/core/include/ignite/impl/interop/interop_target.h
+++ b/modules/platforms/cpp/core/include/ignite/impl/interop/interop_target.h
@@@ -104,9 -110,19 +119,19 @@@ namespace ignit
                   * @param outOp Output.
                   * @param err Error.
                   */
 -                void OutInOpX(int32_t opType, InputOperation& inOp, OutputOperation& outOp, IgniteError* err);
 +                void OutInOpX(int32_t opType, InputOperation& inOp, OutputOperation& outOp, IgniteError& err);
  
                  /**
+                  * In stream out long operation.
+                  *
+                  * @param opType Type of operation.
+                  * @param outInMem Input and output memory.
+                  * @param err Error.
+                  * @return Operation result.
+                  */
+                 OperationResult InStreamOutLong(int32_t opType, InteropMemory& outInMem, IgniteError* err);
+ 
+                 /**
                  * Internal out-in operation.
                  *
                  * @param opType Operation type.

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/platforms/cpp/core/src/impl/cache/cache_impl.cpp
----------------------------------------------------------------------
diff --cc modules/platforms/cpp/core/src/impl/cache/cache_impl.cpp
index 7b98f65,f439f76..a8c1c6b
--- a/modules/platforms/cpp/core/src/impl/cache/cache_impl.cpp
+++ b/modules/platforms/cpp/core/src/impl/cache/cache_impl.cpp
@@@ -70,9 -70,9 +70,12 @@@ namespace ignit
              /** Operation: GetAndReplace. */
              const int32_t OP_GET_AND_REPLACE = 10;
  
 +            /** Operation: Invoke. */
 +            const int32_t OP_INVOKE = 12;
 +
+             /** Operation: LoadCache */
+             const int32_t OP_LOAD_CACHE = 15;
+ 
              /** Operation: LocalEvict. */
              const int32_t OP_LOCAL_EVICT = 16;
  

http://git-wip-us.apache.org/repos/asf/ignite/blob/d1b2c014/modules/platforms/cpp/core/src/impl/interop/interop_target.cpp
----------------------------------------------------------------------
diff --cc modules/platforms/cpp/core/src/impl/interop/interop_target.cpp
index 0133894,32be8bc..1c7bb82
--- a/modules/platforms/cpp/core/src/impl/interop/interop_target.cpp
+++ b/modules/platforms/cpp/core/src/impl/interop/interop_target.cpp
@@@ -212,7 -172,26 +197,26 @@@ namespace ignit
                  }
              }
  
+             InteropTarget::OperationResult InteropTarget::InStreamOutLong(int32_t opType,
 -                InteropMemory& outInMem, IgniteError* err)
++                InteropMemory& outInMem, IgniteError& err)
+             {
+                 JniErrorInfo jniErr;
+ 
+                 int64_t outInPtr = outInMem.PointerLong();
+ 
+                 if (outInPtr)
+                 {
+                     int64_t res = env.Get()->Context()->TargetInStreamOutLong(javaRef, opType, outInPtr, &jniErr);
+ 
+                     IgniteError::SetError(jniErr.code, jniErr.errCls, jniErr.errMsg, err);
+ 
+                     return static_cast<OperationResult>(res);
+                 }
+ 
+                 return ResultError;
+             }
+ 
 -            int64_t InteropTarget::OutInOpLong(int32_t opType, int64_t val, IgniteError* err)
 +            int64_t InteropTarget::OutInOpLong(int32_t opType, int64_t val, IgniteError& err)
              {
                  JniErrorInfo jniErr;