You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by gv...@apache.org on 2020/05/27 14:48:42 UTC

[ignite] branch ignite-12248 updated (39d090d -> 2dd624a)

This is an automated email from the ASF dual-hosted git repository.

gvvinblade pushed a change to branch ignite-12248
in repository https://gitbox.apache.org/repos/asf/ignite.git.


    from 39d090d  IGNITE-12715: Calcite integration. Secondary indexes support. This closes #7813
     add 8065fd9  IGNITE-12942 control.sh add command for checking that inline size is same on all cluster nodes - Fixes #7728.
     add 3bba34a  IGNITE-12990 Remove static thread group from IgniteSpiThread and add test - Fixes #7780.
     add 6e9a6d3  IGNITE-12985 Fixed unguarded log.info()/log.debug()/log.trace() calls. - Fixes #7776.
     add d24d844  IGNITE-12937: Add pull request github template (#7765)
     add a77ebdd  IGNITE-12827 Fix skipped detach flag when unmarshalling collections and object arrays - Fixes #7679.
     add 895eab2  IGNITE-12967: Start cluster snapshot from client node (#7767)
     add d1c3517  IGNITE-12987 Remove TC badge from README.md (#7777)
     add ab3170c  IGNITE-129992 Fix multijvm tests in zookeeper suites. (#7783)
     add 3a2c559  IGNITE-12998 Fix CoPDoC spelling in CONTRIBUTING.md (#7789)
     add 82137c2  IGNITE-12993 Initial ASF infra integration configuration in .asf.yaml (#7784)
     add e5a98aa  IGNITE-12999 Fix ZookeeperDiscoverySpiSslTest.testIgniteSslWrongPort (#7790)
     add 3cadf45  IGNITE-12932 .NET: Add Thin Client Discovery
     add 29ef5c8  IGNITE-12962 Add support of classes whitelist and blacklist for HTTP-REST - Fixes #7773.
     add 0f00dcd  IGNITE-13004 Fix wrong comparison in TcpCommunicationSpi#closeConnections() after IGNITE-12774. (#7794)
     add 4fd6fdf  IGNITE-12969 TxRecovery discovery listener should implement HighPriorityListener	 (#7779)
     add e5dd754  IGNITE-12780: Ignore failing and hanging due to deadlock IgniteSequentialNodeCrashRecoveryTest (#7801)
     add 9215b13  IGNITE-12579 Adds JDBC SQL queries authorization tests - Fixes #7691.
     add e345ce2  IGNITE-12891 Fix userAttributes sending for GridClient - Fixes #7671.
     add fb2f608  IGNITE-12964 Java thin client: Cluster group API support - Fixes #7796.
     add 50947ba  IGNITE-12886 Introduce separate SQL configuration (#7745)
     add ac17344  IGNITE-13009 NoopTimeBag should be used if logging disabled
     add bfd97f4  IGNITE-12617 PME-free switch should wait for recovery only at affected nodes. (#7490)
     add a6d3f52  IGNITE-11147 Rebalancing is not cancelled if topologies are compatible. - Fixes #7428.
     add feace54  IGNITE-13007 JDBC: Introduce feature flags for JDBC thin (#7797)
     add f5e5bfc  IGNITE-12894 Added waiting for service's deployment finished when service proxy requested. (#7771)
     add 902a949  IGNITE-12989 TxRecovery should log statuses to TimeBag (#7795)
     add 832f741  IGNITE-12938 Improve not idle cluster detection for IdleVerify and ValidateIndexes. - Fixes #7743.
     add a75c2f4  IGNITE-13001 .NET: Add Thin Client Compute
     add 1b940df  Ignite-2.8.1 Release Notes (#7821)
     add 73549df  [MINOR] Ignite platform naming fix.
     add 0ed8b2a  Ignite-2.8.1: Version of deb+rpm update.
     add 2a28242  IGNITE-10504 If client have cache resource with not configurate data region it stop by handler - Fixes #7757.
     add f94a8b2  Ignite-2.8.1: Version of deb+rpm update.
     add 3298657  IGNITE-13036 Add event for page replacement start - Fixes #7815.
     add cc67aa1  IGNITE-13043 C++: Fix compilation when boost 1.71 is used
     add bf965ae  ignite-2.8.1 Release Notes fixes. (#7832)
     add 60485b1  IGNITE-12961: Add snapshot create command to control.sh (#7787)
     add 6225222  IGNITE-13034: Additional yardstick test for page replacements test (#7828)
     add 9e214ee  IGNITE-13003 Improve data loss handling. - Fixes #7800.
     add 40ff26a  IGNITE-12898 Fixed node joining with configured CacheStore. Fixes #7720
     add 5e3cadc  IGNITE-10100 Implement calling .NET service from java - Fixes #7751.
     add a025c1a  IGNITE-13002 Supports user's java object by JDBC thin client (#7812)
     add 58dc6f3  IGNITE-13061 Prohibit setting DataStorageConfiguration#walSegments less than 2 - Fixes #7836.
     add d4fccf3  IGNITE-10970 Replace hardcode in msg with enum values - Fixes #7822.
     add 22668c7  IGNITE-13057 Fix tmp workdir message print condition - Fixes #7833.
     add 8c80f54  IGNITE-13032 Use non-static stream pool for optimized marshaller. (#7814)
     add ddfac5e  IGNITE-13068 Use cache.localSize instead of index scan to calculate кow count statistic (#7842)
     add cbe58f4  IGNITE-13039 Get rid of possibility to change final static fields - Fixes #7819.
     new 32de6d8  Merge branch 'master' into ignite-12248
     new 2dd624a  Fix after merge

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../class_list_exploit_included.txt => .asf.yaml   |   37 +-
 .github/PULL_REQUEST_TEMPLATE.md                   |   25 +
 CONTRIBUTING.md                                    |    4 +-
 README.md                                          |    1 -
 RELEASE_NOTES.txt                                  |   82 ++
 .../cassandra/session/CassandraSessionImpl.java    |   60 +-
 .../ClientTcpUnreachableMultiNodeSelfTest.java     |    8 +
 .../internal/jdbc2/JdbcMetadataSelfTest.java       |    3 +-
 .../rest/JettyRestProcessorAbstractSelfTest.java   |   74 +-
 .../rest/TcpRestUnmarshalVulnerabilityTest.java    |   11 -
 .../apache/ignite/jdbc/JdbcAuthorizationTest.java  |  372 +++++++
 .../jdbc/suite/IgniteJdbcDriverTestSuite.java      |    2 +
 .../JdbcThinComplexDmlDdlCustomSchemaSelfTest.java |    3 +-
 .../jdbc/thin/JdbcThinConnectionSelfTest.java      |   81 +-
 .../jdbc/thin/JdbcThinDefaultTimeoutTest.java      |    3 +-
 .../ignite/jdbc/thin/JdbcThinMetadataSelfTest.java |    5 +-
 ...ThinPartitionAwarenessTransactionsSelfTest.java |    4 +-
 .../thin/JdbcThinPreparedStatementSelfTest.java    |  310 +++++-
 .../jdbc/thin/JdbcThinResultSetSelfTest.java       |   49 +-
 .../thin/JdbcThinStreamingAbstractSelfTest.java    |   68 ++
 .../apache/ignite/jdbc/thin/JdbcThinTcpIoTest.java |    4 +-
 .../src/main/java/org/apache/ignite/Ignite.java    |    3 +
 .../main/java/org/apache/ignite/IgniteCache.java   |    2 +-
 .../org/apache/ignite/IgniteSystemProperties.java  |    9 +
 .../java/org/apache/ignite/cache/CacheMetrics.java |    6 +
 .../apache/ignite/cache/PartitionLossPolicy.java   |   15 +-
 .../apache/ignite/client/ClientClusterGroup.java   |  150 +++
 .../configuration/DataStorageConfiguration.java    |    5 +-
 .../DefaultCommunicationFailureResolver.java       |   11 +-
 .../ignite/configuration/IgniteConfiguration.java  |  112 +-
 .../ignite/configuration/SqlConfiguration.java     |  154 +++
 .../java/org/apache/ignite/events/EventType.java   |  140 +--
 .../ignite/events/PageReplacementStartedEvent.java |   53 +
 .../org/apache/ignite/internal/IgnitionEx.java     |    7 +-
 .../ignite/internal/MarshallerContextImpl.java     |   83 +-
 .../ignite/internal/MarshallerPlatformIds.java     |   31 +
 .../ignite/internal/binary/BinaryContext.java      |   14 +-
 .../ignite/internal/binary/BinaryMarshaller.java   |    2 +-
 .../ignite/internal/binary/BinaryReaderExImpl.java |   18 +-
 .../apache/ignite/internal/binary/BinaryUtils.java |   27 +-
 .../internal/binary/GridBinaryMarshaller.java      |    3 -
 .../ignite/internal/client/GridClientNode.java     |   17 +
 .../client/impl/GridClientComputeImpl.java         |   16 +-
 .../internal/client/impl/GridClientNodeImpl.java   |   14 +
 .../connection/GridClientNioTcpConnection.java     |   27 +-
 .../client/thin/ClientBinaryMarshaller.java        |    2 +-
 .../client/thin/ClientClusterGroupImpl.java        |  739 +++++++++++++-
 .../internal/client/thin/ClientClusterImpl.java    |   17 +-
 .../client/thin/ClientClusterNodeImpl.java         |  166 +++
 .../internal/client/thin/ClientOperation.java      |    2 +
 .../client/thin/ProtocolBitmaskFeature.java        |    8 +-
 .../internal/commandline/BaselineCommand.java      |    5 +-
 .../ignite/internal/commandline/CommandList.java   |    6 +-
 .../commandline/cache/CacheCommandList.java        |    5 +
 .../internal/commandline/cache/CacheCommands.java  |    1 +
 .../commandline/cache/CacheSubcommands.java        |    7 +-
 .../commandline/cache/CheckIndexInlineSizes.java   |  152 +++
 .../CheckIndexInlineSizesResult.java               |   96 ++
 .../CheckIndexInlineSizesTask.java                 |   99 ++
 .../commandline/snapshot/SnapshotCommand.java      |  100 ++
 .../snapshot/SnapshotSubcommand.java}              |   39 +-
 .../internal/events/DiscoveryCustomEvent.java      |    8 +
 .../internal/jdbc/thin/ConnectionProperties.java   |   32 +
 .../jdbc/thin/ConnectionPropertiesImpl.java        |   48 +
 .../ignite/internal/jdbc/thin/HandshakeResult.java |   20 +-
 .../internal/jdbc/thin/JdbcThinConnection.java     |  620 +++++++++--
 .../JdbcThinPartitionAwarenessMappingGroup.java    |   24 +-
 .../jdbc/thin/JdbcThinPreparedStatement.java       |   17 +-
 .../internal/jdbc/thin/JdbcThinResultSet.java      |    2 +-
 .../internal/jdbc/thin/JdbcThinStatement.java      |    2 +-
 .../ignite/internal/jdbc/thin/JdbcThinTcpIo.java   |   75 +-
 .../ignite/internal/jdbc2/JdbcResultSet.java       |    2 +-
 .../marshaller/optimized/OptimizedMarshaller.java  |   23 +-
 .../OptimizedObjectPooledStreamRegistry.java       |   89 ++
 .../OptimizedObjectSharedStreamRegistry.java       |  121 +++
 .../optimized/OptimizedObjectStreamRegistry.java   |  170 +---
 .../affinity/GridAffinityAssignmentCache.java      |    6 +-
 .../cache/CacheAffinitySharedManager.java          |   92 +-
 .../processors/cache/CacheGroupContext.java        |   28 +-
 .../processors/cache/ClusterCachesInfo.java        |    7 +-
 .../processors/cache/DynamicCacheChangeBatch.java  |    2 +-
 .../processors/cache/DynamicCacheDescriptor.java   |    6 +-
 .../cache/GridCachePartitionExchangeManager.java   |  122 ++-
 .../processors/cache/GridCachePreloader.java       |   16 +-
 .../cache/GridCachePreloaderAdapter.java           |   11 +-
 .../processors/cache/GridCacheProcessor.java       |   20 +-
 .../processors/cache/GridCacheSharedContext.java   |    9 +-
 .../cache/IgniteCacheOffheapManagerImpl.java       |    2 +-
 .../processors/cache/PartitionUpdateCounter.java   |    5 +
 .../cache/PartitionUpdateCounterDebugWrapper.java  |    5 +
 .../cache/PartitionUpdateCounterTrackingImpl.java  |   13 +
 .../cache/PartitionUpdateCounterVolatileImpl.java  |   10 +
 .../internal/processors/cache/WalStateManager.java |  178 ++--
 .../dht/ClientCacheDhtTopologyFuture.java          |    5 +-
 .../cache/distributed/dht/GridDhtCacheAdapter.java |    6 +-
 .../cache/distributed/dht/GridDhtGetFuture.java    |   13 -
 .../distributed/dht/GridDhtGetSingleFuture.java    |   13 -
 .../distributed/dht/GridDhtTopologyFuture.java     |    5 +-
 .../dht/GridDhtTopologyFutureAdapter.java          |  174 +---
 .../distributed/dht/GridDhtTxPrepareFuture.java    |   13 +-
 .../distributed/dht/GridPartitionedGetFuture.java  |   72 +-
 .../dht/GridPartitionedSingleGetFuture.java        |   50 +-
 .../cache/distributed/dht/NearTxResultHandler.java |    4 +
 .../distributed/dht/atomic/GridDhtAtomicCache.java |    6 +-
 .../dht/colocated/GridDhtColocatedCache.java       |    3 +-
 .../preloader/GridDhtPartitionDemandMessage.java   |   29 +-
 .../dht/preloader/GridDhtPartitionDemander.java    |  786 ++++++++------
 .../preloader/GridDhtPartitionsExchangeFuture.java |  297 ++++--
 .../preloader/GridDhtPartitionsFullMessage.java    |   89 +-
 .../dht/preloader/GridDhtPreloader.java            |   92 +-
 .../dht/preloader/GridDhtPreloaderAssignments.java |   17 +-
 .../dht/preloader/latch/ExchangeLatchManager.java  |   33 +-
 .../dht/topology/GridClientPartitionTopology.java  |  126 ++-
 .../dht/topology/GridDhtLocalPartition.java        |   33 +-
 .../dht/topology/GridDhtPartitionTopology.java     |   22 +-
 .../dht/topology/GridDhtPartitionTopologyImpl.java |  358 ++++---
 .../dht/topology/PartitionsEvictManager.java       |   19 +-
 .../GridCacheDatabaseSharedManager.java            |   66 +-
 .../persistence/file/FilePageStoreManager.java     |    4 +-
 .../cache/persistence/pagemem/PageMemoryImpl.java  |   37 +-
 .../pagemem/PagesWriteSpeedBasedThrottle.java      |    2 +-
 .../snapshot/IgniteSnapshotManager.java            |   63 +-
 .../persistence/snapshot/SnapshotMXBeanImpl.java   |   10 +-
 .../persistence/wal/scanner/PrintToLogHandler.java |    3 +-
 .../cache/query/GridCacheQueryAdapter.java         |   35 +-
 .../cache/query/GridCacheQueryManager.java         |   28 +-
 .../cache/transactions/IgniteTxHandler.java        |   19 +-
 .../cache/transactions/IgniteTxManager.java        |  141 ++-
 .../cache/transactions/IgniteTxStateImpl.java      |   20 +-
 .../cache/transactions/TxDeadlockDetection.java    |    8 +-
 .../verify/CollectConflictPartitionKeysTask.java   |   21 +-
 .../cache/verify/IdleVerifyResultV2.java           |   10 +-
 .../processors/cache/verify/IdleVerifyUtility.java |  202 +++-
 .../cache/verify/PartitionHashRecordV2.java        |   12 +-
 .../verify/VerifyBackupPartitionsDumpTask.java     |    6 +-
 .../cache/verify/VerifyBackupPartitionsTask.java   |   10 +-
 .../cache/verify/VerifyBackupPartitionsTaskV2.java |  165 ++-
 .../autoadjust/BaselineAutoAdjustScheduler.java    |    6 +-
 .../datastructures/GridCacheLockImpl.java          |    5 +-
 .../diagnostic/PageHistoryDiagnoster.java          |    6 +-
 .../processors/odbc/ClientListenerNioListener.java |    2 +-
 .../processors/odbc/ClientListenerProcessor.java   |    9 +-
 .../internal/processors/odbc/SqlListenerUtils.java |   34 +-
 .../odbc/jdbc/JdbcBatchExecuteRequest.java         |   30 +-
 .../odbc/jdbc/JdbcBatchExecuteResult.java          |   17 +-
 ...eRequest.java => JdbcBinaryTypeGetRequest.java} |   47 +-
 .../odbc/jdbc/JdbcBinaryTypeGetResult.java         |  107 ++
 ...uest.java => JdbcBinaryTypeNameGetRequest.java} |   75 +-
 ...quest.java => JdbcBinaryTypeNameGetResult.java} |   74 +-
 .../odbc/jdbc/JdbcBinaryTypeNamePutRequest.java    |  109 ++
 ...hRequest.java => JdbcBinaryTypePutRequest.java} |   78 +-
 .../odbc/jdbc/JdbcBulkLoadAckResult.java           |   17 +-
 .../odbc/jdbc/JdbcBulkLoadBatchRequest.java        |   17 +-
 .../odbc/jdbc/JdbcCachePartitionsRequest.java      |   17 +-
 .../odbc/jdbc/JdbcCachePartitionsResult.java       |   22 +-
 .../processors/odbc/jdbc/JdbcColumnMeta.java       |   13 +-
 .../processors/odbc/jdbc/JdbcColumnMetaV2.java     |   17 +-
 .../processors/odbc/jdbc/JdbcColumnMetaV3.java     |   17 +-
 .../processors/odbc/jdbc/JdbcColumnMetaV4.java     |   17 +-
 .../odbc/jdbc/JdbcConnectionContext.java           |   28 +-
 .../processors/odbc/jdbc/JdbcIndexMeta.java        |   13 +-
 .../processors/odbc/jdbc/JdbcMessageParser.java    |   28 +-
 .../odbc/jdbc/JdbcMetaColumnsRequest.java          |   17 +-
 .../odbc/jdbc/JdbcMetaColumnsResult.java           |   21 +-
 .../odbc/jdbc/JdbcMetaIndexesRequest.java          |   17 +-
 .../odbc/jdbc/JdbcMetaIndexesResult.java           |   21 +-
 .../odbc/jdbc/JdbcMetaParamsRequest.java           |   17 +-
 .../processors/odbc/jdbc/JdbcMetaParamsResult.java |   21 +-
 .../odbc/jdbc/JdbcMetaPrimaryKeysRequest.java      |   17 +-
 .../odbc/jdbc/JdbcMetaPrimaryKeysResult.java       |   21 +-
 .../odbc/jdbc/JdbcMetaSchemasRequest.java          |   17 +-
 .../odbc/jdbc/JdbcMetaSchemasResult.java           |   17 +-
 .../odbc/jdbc/JdbcMetaTablesRequest.java           |   23 +-
 .../processors/odbc/jdbc/JdbcMetaTablesResult.java |   21 +-
 .../odbc/jdbc/JdbcOrderedBatchExecuteRequest.java  |   15 +-
 .../odbc/jdbc/JdbcOrderedBatchExecuteResult.java   |   17 +-
 .../processors/odbc/jdbc/JdbcParameterMeta.java    |   13 +-
 .../processors/odbc/jdbc/JdbcPrimaryKeyMeta.java   |   13 +-
 .../processors/odbc/jdbc/JdbcProtocolContext.java  |  104 ++
 .../internal/processors/odbc/jdbc/JdbcQuery.java   |   18 +-
 .../odbc/jdbc/JdbcQueryCancelRequest.java          |   18 +-
 .../odbc/jdbc/JdbcQueryCloseRequest.java           |   17 +-
 .../JdbcQueryExecuteMultipleStatementsResult.java  |   25 +-
 .../odbc/jdbc/JdbcQueryExecuteRequest.java         |   33 +-
 .../odbc/jdbc/JdbcQueryExecuteResult.java          |   25 +-
 .../odbc/jdbc/JdbcQueryFetchRequest.java           |   17 +-
 .../processors/odbc/jdbc/JdbcQueryFetchResult.java |   21 +-
 .../odbc/jdbc/JdbcQueryMetadataRequest.java        |   17 +-
 .../odbc/jdbc/JdbcQueryMetadataResult.java         |   21 +-
 .../processors/odbc/jdbc/JdbcRawBinarylizable.java |   10 +-
 .../internal/processors/odbc/jdbc/JdbcRequest.java |   61 +-
 .../processors/odbc/jdbc/JdbcRequestHandler.java   |  124 +++
 .../processors/odbc/jdbc/JdbcResponse.java         |   23 +-
 .../internal/processors/odbc/jdbc/JdbcResult.java  |   47 +-
 .../processors/odbc/jdbc/JdbcResultInfo.java       |   13 +-
 .../processors/odbc/jdbc/JdbcTableMeta.java        |   18 +-
 .../jdbc/JdbcThinFeature.java}                     |   30 +-
 ...uest.java => JdbcUpdateBinarySchemaResult.java} |   69 +-
 .../internal/processors/odbc/jdbc/JdbcUtils.java   |   44 +-
 .../platform/client/ClientBitmaskFeature.java      |   10 +-
 .../platform/client/ClientMessageParser.java       |   17 +-
 .../cluster/ClientClusterGetStateRequest.java      |    2 +-
 ...lientClusterGroupGetNodesEndpointsRequest.java} |   24 +-
 ...lientClusterGroupGetNodesEndpointsResponse.java |  170 ++++
 .../cluster/ClientClusterGroupProjection.java      |    4 +-
 .../platform/client/compute/ClientComputeTask.java |    3 +
 .../client/compute/ClientExecuteTaskRequest.java   |   17 +-
 .../platform/services/PlatformAbstractService.java |    8 +-
 .../platform/services/PlatformService.java         |   13 +
 .../processors/platform/utils/PlatformUtils.java   |   18 +-
 .../processors/query/GridQueryIndexing.java        |   12 +
 .../processors/query/GridQueryProcessor.java       |  180 +++-
 .../processors/query/QueryHistoryTracker.java      |    4 +-
 .../processors/query/RunningQueryManager.java      |    6 +-
 .../schema/SchemaIndexCachePartitionWorker.java    |    3 +-
 .../client/message/GridClientAbstractMessage.java  |   58 --
 .../message/GridClientAuthenticationRequest.java   |   32 +-
 .../rest/client/message/GridClientMessage.java     |   15 -
 .../rest/protocols/tcp/GridMemcachedMessage.java   |   11 -
 .../rest/protocols/tcp/GridTcpRestNioListener.java |   22 +-
 .../rest/protocols/tcp/redis/GridRedisMessage.java |   11 -
 .../processors/service/GridServiceProcessor.java   |   10 +-
 .../processors/service/GridServiceProxy.java       |   81 +-
 .../processors/service/IgniteServiceProcessor.java |   50 +-
 .../internal/processors/service/ServiceInfo.java   |   13 +-
 .../ignite/internal/util/GridArgumentCheck.java    |    1 +
 .../ignite/internal/util/GridJavaProcess.java      |    2 +-
 .../ignite/internal/util/IgniteStopwatch.java      |   14 +-
 .../org/apache/ignite/internal/util/TimeBag.java   |   63 +-
 .../visor/snapshot/VisorSnapshotCreateTask.java    |   62 ++
 .../verify/ValidateIndexesPartitionResult.java     |   92 +-
 .../ignite/platform/PlatformServiceMethod.java     |   48 +
 .../org/apache/ignite/spi/IgniteSpiThread.java     |    5 +-
 .../spi/communication/tcp/TcpCommunicationSpi.java |    4 +-
 .../ignite/spi/discovery/tcp/ClientImpl.java       |    3 +-
 .../org/apache/ignite/thread/IgniteThread.java     |   10 +
 .../main/resources/META-INF/classnames.properties  |    5 +
 .../test/config/class_list_exploit_included.txt    |    3 +-
 .../ignite/cache/BreakRebalanceChainTest.java      |  176 ++++
 .../ClientCreateCacheGroupOnJoinNodeMapsTest.java  |   89 ++
 .../ignite/cache/NotOptimizedRebalanceTest.java    |  288 ++++++
 .../RebalanceAfterResettingLostPartitionTest.java  |  177 ++++
 .../ignite/cache/RebalanceCancellationTest.java    |  495 +++++++++
 .../ignite/cache/ResetLostPartitionTest.java       |   37 +-
 .../ignite/cache/affinity/PendingExchangeTest.java |  343 +++++++
 .../ignite/failure/SystemWorkersBlockingTest.java  |    3 +
 .../internal/GridJobMasterLeaveAwareSelfTest.java  |    8 +-
 .../internal/IgniteThreadGroupNodeRestartTest.java |   59 ++
 .../internal/TestDelayingCommunicationSpi.java     |    3 +-
 .../internal/binary/BinaryMarshallerSelfTest.java  |   96 ++
 .../internal/client/thin/ClusterGroupTest.java     |  429 ++++++++
 .../internal/client/thin/ComputeTaskTest.java      |  140 +--
 .../internal/client/thin/TestFailoverTask.java     |   65 ++
 .../ignite/internal/client/thin/TestJob.java       |   61 ++
 .../internal/client/thin/TestResultCacheTask.java  |   58 ++
 .../ignite/internal/client/thin/TestTask.java      |   59 ++
 .../commandline/CommandHandlerParsingTest.java     |    3 +-
 .../internal/encryption/MasterKeyChangeTest.java   |    7 +
 .../MessageDirectTypeIdConflictTest.java           |    3 +-
 .../optimized/OptimizedObjectStreamSelfTest.java   |   21 +-
 ...acheConfigurationSerializationAbstractTest.java |  218 ++++
 ...eConfigurationSerializationOnDiscoveryTest.java |  162 +--
 ...heConfigurationSerializationOnExchangeTest.java |  189 +---
 .../cache/CacheDataRegionConfigurationTest.java    |  128 ++-
 .../processors/cache/CacheMetricsManageTest.java   |    3 +
 .../cache/CacheValidatorMetricsTest.java           |   16 +-
 ...heWithDifferentDataRegionConfigurationTest.java |    2 -
 .../DataStorageConfigurationValidationTest.java    |   17 +
 .../IgniteCacheConfigurationTemplateTest.java      |    2 +-
 ...eCachePartitionMapUpdateSafeLossPolicyTest.java |   79 ++
 .../cache/IgniteCachePartitionMapUpdateTest.java   |   70 +-
 .../cache/IgniteClusterActivateDeactivateTest.java |    2 +
 .../cache/distributed/CacheExchangeMergeTest.java  |   95 +-
 .../CacheLateAffinityAssignmentTest.java           |   38 +-
 .../CachePartitionLossDetectionOnNodeLeftTest.java |  115 ---
 .../CachePartitionLossWithPersistenceTest.java     |  264 +++++
 .../CachePartitionLossWithRestartsTest.java        |  223 ++++
 ...CachePartitionLostAfterSupplierHasLeftTest.java |  409 ++++++++
 .../CachePartitionLostWhileClearingTest.java       |  168 ---
 .../CacheResultIsNotNullOnPartitionLossTest.java   |    4 +
 .../GridCachePartitionNotLoadedEventSelfTest.java  |   41 +-
 ...GridExchangeFreeCellularSwitchAbstractTest.java |  290 ++++++
 ...ngeFreeCellularSwitchComplexOperationsTest.java |  354 +++++++
 ...ridExchangeFreeCellularSwitchIsolationTest.java |  486 +++++++++
 .../distributed/GridExchangeFreeSwitchTest.java    |   28 +-
 ...gniteCacheClientNodePartitionsExchangeTest.java |   12 +-
 ...niteCacheGroupsPartitionLossPolicySelfTest.java |  316 +-----
 .../IgniteCachePartitionLossPolicySelfTest.java    | 1072 ++++++--------------
 .../distributed/IgniteCachePrimarySyncTest.java    |    3 +
 .../dht/topology/EvictPartitionInLogTest.java      |   48 +-
 .../cache/mvcc/CacheMvccTxFailoverTest.java        |   10 +-
 ...gniteLostPartitionsOnLeaveBaselineSelfTest.java |  167 +++
 .../IgnitePdsBinaryMetadataAsyncWritingTest.java   |   13 +-
 .../IgnitePdsCacheRebalancingAbstractTest.java     |    1 +
 .../persistence/IgnitePdsCorruptedIndexTest.java   |    6 +
 ...ocalWalModeChangeDuringRebalancingSelfTest.java |   25 +-
 .../PersistenceDirectoryWarningLoggingTest.java    |   25 +
 .../ClientAffinityAssignmentWithBaselineTest.java  |   37 +-
 .../IgniteAbsentEvictionNodeOutOfBaselineTest.java |    3 +
 .../persistence/db/IgnitePdsCacheRestoreTest.java  |    5 +-
 ...IgnitePdsCacheWalDisabledOnRebalancingTest.java |   15 +-
 ...itePdsPageEvictionDuringPartitionClearTest.java |  163 ---
 ...PdsPageReplacementDuringPartitionClearTest.java |  343 +++++++
 .../db/IgniteSequentialNodeCrashRecoveryTest.java  |    2 +
 .../CheckpointFailBeforeWriteMarkTest.java         |    2 +-
 .../persistence/db/wal/IgniteWalRebalanceTest.java |  171 ++--
 .../persistence/db/wal/WalCompactionTest.java      |    3 +
 .../IgnitePageMemReplaceDelayedWriteUnitTest.java  |   11 +
 .../pagemem/IgniteThrottlingUnitTest.java          |    2 +
 .../persistence/pagemem/PageMemoryImplTest.java    |    4 +
 .../snapshot/AbstractSnapshotSelfTest.java         |   43 +-
 .../snapshot/IgniteClusterSnapshotSelfTest.java    |   63 +-
 .../persistence/wal/scanner/WalScannerTest.java    |    4 +
 ...CacheContinuousWithTransformerFailoverTest.java |    3 +-
 ...coveryDataDeserializationFailureHanderTest.java |    3 +-
 ...AtomicPartitionCounterStateConsistencyTest.java |   10 +-
 .../TxCrossCacheMapOnInvalidTopologyTest.java      |    3 +-
 .../TxDeadlockDetectionNoHangsTest.java            |   12 +-
 .../TxPartitionCounterStateAbstractTest.java       |   19 +
 .../TxPartitionCounterStateConsistencyTest.java    |  140 ++-
 .../failure/FailureProcessorLoggingTest.java       |    7 +-
 .../FailureProcessorThreadDumpThrottlingTest.java  |    2 +-
 .../client/AdditionalSecurityCheckTest.java        |  137 +--
 .../client/AttributeSecurityCheckTest.java         |   94 ++
 ...CheckTest.java => CommonSecurityCheckTest.java} |  147 +--
 ...uthenticationContextSecurityPluginProvider.java |   82 ++
 ...GridServiceProxyTopologyInitializationTest.java |  249 +++++
 .../IgniteServiceProxyTimeoutInitializedTest.java  |   33 +
 .../platform/AbstractPlatformServiceCallTask.java  |  278 +++++
 .../platform/PlatformCacheAffinityVersionTask.java |   81 ++
 .../PlatformServiceCallCollectionsTask.java        |   93 ++
 .../ignite/platform/PlatformServiceCallTask.java   |   81 ++
 .../apache/ignite/testframework/GridTestUtils.java |   68 +-
 .../ignite/testframework/ListeningTestLogger.java  |   50 +-
 .../testframework/junits/GridAbstractTest.java     |   27 +-
 .../ignite/testframework/junits/IgniteMock.java    |    2 +-
 .../junits/common/GridCommonAbstractTest.java      |  157 ++-
 .../junits/logger/GridTestLog4jLogger.java         |    6 +
 .../junits/logger/GridTestLog4jLoggerSelfTest.java |   95 ++
 .../junits/multijvm/IgniteProcessProxy.java        |    3 +-
 .../ignite/testsuites/IgniteBasicTestSuite.java    |    5 +-
 .../testsuites/IgniteCacheMvccTestSuite5.java      |   11 +
 .../testsuites/IgniteCacheMvccTestSuite6.java      |    4 +
 .../testsuites/IgniteCacheMvccTestSuite7.java      |    2 +
 .../ignite/testsuites/IgniteCacheTestSuite2.java   |    2 +
 .../ignite/testsuites/IgniteCacheTestSuite5.java   |    5 +
 .../ignite/testsuites/IgniteCacheTestSuite6.java   |    6 +-
 .../ignite/testsuites/IgniteCacheTestSuite7.java   |    8 +-
 .../ignite/testsuites/IgniteCacheTestSuite8.java   |    2 +
 .../ignite/testsuites/IgniteLangSelfTestSuite.java |    3 +
 .../ignite/testsuites/IgnitePdsTestSuite4.java     |   10 +-
 .../ignite/testsuites/IgniteReproducingSuite.java  |    6 +-
 .../testsuites/IgniteServiceGridTestSuite.java     |    2 +
 .../ignite/testsuites/SecurityTestSuite.java       |    2 +
 .../util/GridCommandHandlerAbstractTest.java       |   57 +-
 .../apache/ignite/util/GridCommandHandlerTest.java |   65 +-
 ...mandHandlerClusterByClassTest_cache_help.output |    3 +
 ...ridCommandHandlerClusterByClassTest_help.output |    6 +
 ...dlerClusterByClassWithSSLTest_cache_help.output |    3 +
 ...andHandlerClusterByClassWithSSLTest_help.output |    6 +
 .../processors/query/h2/IgniteH2Indexing.java      |   19 +-
 .../query/h2/LongRunningQueryManager.java          |    2 +-
 .../internal/processors/query/h2/QueryParser.java  |    2 +-
 .../processors/query/h2/SchemaManager.java         |    6 +-
 .../processors/query/h2/opt/GridH2Table.java       |   33 +-
 .../processors/query/h2/opt/TableStatistics.java   |    2 +-
 .../query/h2/sql/GridSqlQueryParser.java           |   21 +-
 .../query/h2/twostep/AbstractReducer.java          |   14 +-
 .../query/h2/twostep/GridMapQueryExecutor.java     |    6 +-
 .../h2/twostep/PartitionReservationManager.java    |   36 +-
 .../query/h2/twostep/ReducePartitionMapper.java    |   65 +-
 .../visor/verify/ValidateIndexesClosure.java       |  236 +++--
 .../org/apache/ignite/client/ClientTestSuite.java  |    2 +
 ...eckIndexesInlineSizeOnNodeJoinMultiJvmTest.java |  245 +++++
 ...ockPartitionOnAffinityRunAtomicCacheOpTest.java |   11 +-
 ...cheLockPartitionOnAffinityRunTxCacheOpTest.java |    3 +-
 .../cache/IgniteDynamicSqlRestoreTest.java         |    3 +
 .../IndexingCachePartitionLossPolicySelfTest.java  |   57 +-
 ...acheDistributedQueryDefaultTimeoutSelfTest.java |    3 +-
 .../near/IgniteCacheQueryNodeRestartSelfTest.java  |   22 +-
 ...acheQueryReservationOnUnstableTopologyTest.java |  110 ++
 .../cache/index/H2DynamicTableSelfTest.java        |    3 +-
 ...gniteCacheLocalQueryDefaultTimeoutSelfTest.java |    3 +-
 .../cache/metric/SqlViewExporterSpiTest.java       |    4 +-
 .../db/IgniteCacheGroupsWithRestartsTest.java      |    2 +
 .../persistence/db/wal/IgniteWalRecoveryTest.java  |   74 +-
 .../IgniteClusterSnapshotWithIndexesTest.java      |   42 -
 .../processors/client/IgniteDataStreamerTest.java  |    6 +-
 .../processors/database/RebuildIndexTest.java      |    7 +-
 ...eLockPartitionOnAffinityRunAtomicCacheTest.java |    4 +-
 ...elineLockPartitionOnAffinityRunTxCacheTest.java |    4 +-
 ...ngingBaselineCacheQueryNodeRestartSelfTest.java |    5 +-
 ...ableBaselineCacheQueryNodeRestartsSelfTest.java |   34 +
 .../processors/query/AbstractCustomSchemaTest.java |    5 +-
 .../query/IgniteSqlCustomSchemaWithPdsEnabled.java |    5 +-
 .../IgniteSqlSchemasDiffConfigurationsTest.java    |   11 +-
 .../IgniteSqlSkipReducerOnUpdateDmlSelfTest.java   |    3 +-
 .../query/IgniteSqlSplitterSelfTest.java           |    4 +-
 .../processors/query/SqlQueryHistorySelfTest.java  |    3 +-
 .../processors/query/SqlSystemViewsSelfTest.java   |   14 +-
 .../h2/twostep/RetryCauseMessageSelfTest.java      |   28 +-
 .../org/apache/ignite/sqltests/BaseSqlTest.java    |    3 +-
 .../IgniteBinaryCacheQueryTestSuite.java           |    2 +
 .../IgniteBinaryCacheQueryTestSuite2.java          |    5 +-
 ...teCacheWithIndexingAndPersistenceTestSuite.java |    2 +
 ...idCommandHandlerCheckIndexesInlineSizeTest.java |  153 +++
 ...idCommandHandlerIndexingClusterByClassTest.java |   16 +
 .../util/GridCommandHandlerIndexingTest.java       |  151 ++-
 .../apache/ignite/stream/kafka/KafkaStreamer.java  |    3 +-
 .../java/org/apache/ignite/ml/math/Tracer.java     |   11 +-
 .../ignite/ml/util/plugin/MLPluginProvider.java    |    6 +-
 .../osgi/IgniteAbstractOsgiContextActivator.java   |    3 +-
 .../platforms/cpp/core-test/src/teamcity_boost.cpp |    2 +-
 .../cpp/odbc-test/src/teamcity/teamcity_boost.cpp  |    2 +-
 .../src/teamcity/teamcity_boost.cpp                |    2 +-
 .../Apache.Ignite.BenchmarkDotNet.csproj           |   18 +
 .../Program.cs}                                    |   21 +-
 .../ThinClient/ThinClientBenchmarkBase.cs}         |   34 +-
 .../ThinClient/ThinClientCacheGetBenchmark.cs      |   63 ++
 .../ThinClient/ThinClientComputeBenchmark.cs}      |   29 +-
 .../dotnet/Apache.Ignite.BenchmarkDotNet/Utils.cs  |   75 ++
 .../Apache.Ignite.Core.Tests.DotNetCore.csproj     |   73 +-
 .../Common/TestUtils.DotNetCore.cs                 |    4 +-
 .../Apache.Ignite.Core.Tests.csproj                |   10 +-
 .../Binary/BinaryDynamicRegistrationTest.cs        |    2 +-
 .../Cache/Affinity/AffinityFunctionSpringTest.cs   |    5 +-
 .../Cache/Affinity/AffinityTest.cs                 |    3 +-
 .../Cache/PartitionLossTest.cs                     |   20 +-
 .../Cache/Platform/PlatformCacheTest.cs            |    2 +-
 .../Cache/Query/Linq/CacheLinqTest.Misc.cs         |    3 +-
 .../Client/Cache/CacheTest.cs                      |   16 +
 .../Client/Cache/CacheTestSsl.cs                   |   38 +-
 .../Client/Cache/ClientCacheConfigurationTest.cs   |    4 +-
 .../Client/Cache/ListLogger.cs                     |    5 +
 .../Client/Cache/PartitionAwarenessTest.cs         |   39 +-
 .../Client/ClientConnectionTest.cs                 |    6 +-
 .../Client/ClientFeaturesTest.cs                   |   86 ++
 .../Client/ClientOpExtensionsTest.cs               |   59 --
 .../Client/ClientProtocolCompatibilityTest.cs      |   62 +-
 .../Client/ClientReconnectCompatibilityTest.cs     |    5 +-
 .../Client/ClientServerCompatibilityTest.cs        |   40 +-
 .../Client/ClientTestBase.cs                       |   37 +-
 .../Client/Cluster/ClientClusterDiscoveryTests.cs  |  176 ++++
 .../Cluster/ClientClusterDiscoveryTestsBase.cs     |  149 +++
 .../ClientClusterDiscoveryTestsBaselineTopology.cs |   74 ++
 .../ClientClusterDiscoveryTestsNoLocalhost.cs}     |   21 +-
 .../Cluster/ClientClusterDiscoveryTestsSsl.cs}     |   21 +-
 .../Client/Compute/ComputeClientDisabledTests.cs   |   46 +
 .../Client/Compute/ComputeClientTests.cs           |  476 +++++++++
 .../Compute/ComputeApiTest.JavaTask.cs             |    9 +-
 .../Compute/ComputeApiTest.cs                      |   12 +-
 .../EventsTestLocalListeners.cs                    |   41 +-
 .../IgniteConfigurationTest.cs                     |    6 +-
 .../dotnet/Apache.Ignite.Core.Tests/JavaServer.cs  |   24 +-
 .../Apache.Ignite.Core.Tests/ProjectFilesTest.cs   |    6 +-
 .../Services/CallPlatformServiceTest.cs            |  345 +++++++
 .../Apache.Ignite.Core.Tests/TestUtils.Common.cs   |   43 +
 .../Apache.Ignite.Core/Apache.Ignite.Core.csproj   |   13 +-
 .../Client/Cache/CacheClientConfiguration.cs       |    8 +-
 .../Client/Compute/IComputeClient.cs               |   85 ++
 .../Client/IClientClusterGroup.cs                  |    9 +
 .../IClientConnection.cs}                          |   37 +-
 .../Apache.Ignite.Core/Client/IIgniteClient.cs     |   12 +
 .../Apache.Ignite.Core/Impl/Binary/BinaryReader.cs |    8 +-
 .../Apache.Ignite.Core/Impl/Binary/BinaryTypeId.cs |    3 +
 .../IgniteBiTuple.cs}                              |   35 +-
 .../Apache.Ignite.Core/Impl/Binary/Marshaller.cs   |    1 +
 .../Impl/Client/Cache/CacheClient.cs               |    8 +-
 .../Cache/ClientCacheConfigurationSerializer.cs    |   29 +-
 .../{ClientFlags.cs => ClientBitmaskFeature.cs}    |   16 +-
 .../Impl/Client/ClientConnection.cs                |   71 ++
 .../Impl/Client/ClientContextBase.cs               |   31 +-
 ...entRequestContext.cs => ClientDiscoveryNode.cs} |   56 +-
 .../Impl/Client/ClientFailoverSocket.cs            |  395 ++++++--
 .../Impl/Client/ClientFeatures.cs                  |  228 +++++
 .../Apache.Ignite.Core/Impl/Client/ClientFlags.cs  |    3 +-
 .../Impl/Client/ClientNotificationHandler.cs       |  137 +++
 .../Apache.Ignite.Core/Impl/Client/ClientOp.cs     |   18 +-
 .../Impl/Client/ClientOpExtensions.cs              |   71 --
 .../Impl/Client/ClientRequestContext.cs            |    7 +-
 .../Impl/Client/ClientResponseContext.cs           |    7 +-
 .../Apache.Ignite.Core/Impl/Client/ClientSocket.cs |  262 ++++-
 .../Apache.Ignite.Core/Impl/Client/ClientUtils.cs  |   58 --
 .../Impl/Client/Cluster/ClientCluster.cs           |    7 +-
 .../Impl/Client/Cluster/ClientClusterGroup.cs      |   27 +-
 .../Impl/Client/Compute/ComputeClient.cs           |  220 ++++
 .../ComputeClientFlags.cs}                         |   17 +-
 .../Apache.Ignite.Core/Impl/Client/Endpoint.cs     |   43 +-
 .../Apache.Ignite.Core/Impl/Client/IgniteClient.cs |   30 +-
 .../platforms/dotnet/Apache.Ignite.DotNetCore.sln  |    6 +
 modules/platforms/dotnet/DEVNOTES.txt              |    4 +-
 modules/platforms/dotnet/build.ps1                 |    2 +-
 .../http/jetty/GridJettyObjectMapper.java          |   35 +-
 modules/yardstick/README.txt                       |    1 +
 .../benchmark-cache-pegereplacements.properties    |   83 ++
 .../config/ignite-localhost-persistence-config.xml |   15 +-
 .../cache/IgnitePutGetWithPageReplacements.java    |  172 ++++
 .../zk/internal/ZookeeperDiscoveryImpl.java        |    2 +-
 .../internal/ZookeeperDiscoverySpiSslTestBase.java |    7 +-
 packaging/deb/changelog                            |   12 +
 packaging/rpm/apache-ignite.spec                   |    8 +-
 parent/pom.xml                                     |    1 +
 502 files changed, 21570 insertions(+), 6575 deletions(-)
 copy modules/core/src/test/config/class_list_exploit_included.txt => .asf.yaml (53%)
 create mode 100644 .github/PULL_REQUEST_TEMPLATE.md
 create mode 100644 modules/clients/src/test/java/org/apache/ignite/jdbc/JdbcAuthorizationTest.java
 create mode 100644 modules/core/src/main/java/org/apache/ignite/configuration/SqlConfiguration.java
 create mode 100644 modules/core/src/main/java/org/apache/ignite/events/PageReplacementStartedEvent.java
 create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientClusterNodeImpl.java
 create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/commandline/cache/CheckIndexInlineSizes.java
 create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/commandline/cache/check_indexes_inline_size/CheckIndexInlineSizesResult.java
 create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/commandline/cache/check_indexes_inline_size/CheckIndexInlineSizesTask.java
 create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/commandline/snapshot/SnapshotCommand.java
 copy modules/core/src/main/java/org/apache/ignite/internal/{processors/cache/persistence/snapshot/SnapshotMXBeanImpl.java => commandline/snapshot/SnapshotSubcommand.java} (50%)
 create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/marshaller/optimized/OptimizedObjectPooledStreamRegistry.java
 create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/marshaller/optimized/OptimizedObjectSharedStreamRegistry.java
 copy modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/{JdbcQueryCloseRequest.java => JdbcBinaryTypeGetRequest.java} (59%)
 create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcBinaryTypeGetResult.java
 copy modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/{JdbcCachePartitionsRequest.java => JdbcBinaryTypeNameGetRequest.java} (52%)
 copy modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/{JdbcCachePartitionsRequest.java => JdbcBinaryTypeNameGetResult.java} (54%)
 create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcBinaryTypeNamePutRequest.java
 copy modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/{JdbcQueryFetchRequest.java => JdbcBinaryTypePutRequest.java} (50%)
 create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcProtocolContext.java
 copy modules/core/src/main/java/org/apache/ignite/internal/processors/{platform/client/ClientBitmaskFeature.java => odbc/jdbc/JdbcThinFeature.java} (62%)
 copy modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/{JdbcMetaParamsRequest.java => JdbcUpdateBinarySchemaResult.java} (50%)
 copy modules/core/src/main/java/org/apache/ignite/internal/processors/platform/client/cluster/{ClientClusterGetStateRequest.java => ClientClusterGroupGetNodesEndpointsRequest.java} (63%)
 create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/processors/platform/client/cluster/ClientClusterGroupGetNodesEndpointsResponse.java
 create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/visor/snapshot/VisorSnapshotCreateTask.java
 create mode 100644 modules/core/src/main/java/org/apache/ignite/platform/PlatformServiceMethod.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/cache/BreakRebalanceChainTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/cache/ClientCreateCacheGroupOnJoinNodeMapsTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/cache/NotOptimizedRebalanceTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/cache/RebalanceAfterResettingLostPartitionTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/cache/RebalanceCancellationTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/cache/affinity/PendingExchangeTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/IgniteThreadGroupNodeRestartTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/client/thin/ClusterGroupTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/client/thin/TestFailoverTask.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/client/thin/TestJob.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/client/thin/TestResultCacheTask.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/client/thin/TestTask.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheConfigurationSerializationAbstractTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCachePartitionMapUpdateSafeLossPolicyTest.java
 delete mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CachePartitionLossDetectionOnNodeLeftTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CachePartitionLossWithPersistenceTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CachePartitionLossWithRestartsTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CachePartitionLostAfterSupplierHasLeftTest.java
 delete mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CachePartitionLostWhileClearingTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridExchangeFreeCellularSwitchAbstractTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridExchangeFreeCellularSwitchComplexOperationsTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridExchangeFreeCellularSwitchIsolationTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgniteLostPartitionsOnLeaveBaselineSelfTest.java
 delete mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsPageEvictionDuringPartitionClearTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsPageReplacementDuringPartitionClearTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/security/client/AttributeSecurityCheckTest.java
 copy modules/core/src/test/java/org/apache/ignite/internal/processors/security/client/{AdditionalSecurityCheckTest.java => CommonSecurityCheckTest.java} (59%)
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/security/impl/TestAuthenticationContextSecurityPluginProvider.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProxyTopologyInitializationTest.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/platform/AbstractPlatformServiceCallTask.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/platform/PlatformCacheAffinityVersionTask.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/platform/PlatformServiceCallCollectionsTask.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/platform/PlatformServiceCallTask.java
 create mode 100644 modules/core/src/test/java/org/apache/ignite/testframework/junits/logger/GridTestLog4jLoggerSelfTest.java
 create mode 100644 modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/CheckIndexesInlineSizeOnNodeJoinMultiJvmTest.java
 create mode 100644 modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCacheQueryReservationOnUnstableTopologyTest.java
 create mode 100644 modules/indexing/src/test/java/org/apache/ignite/util/GridCommandHandlerCheckIndexesInlineSizeTest.java
 create mode 100644 modules/platforms/dotnet/Apache.Ignite.BenchmarkDotNet/Apache.Ignite.BenchmarkDotNet.csproj
 copy modules/platforms/dotnet/{Apache.Ignite.Core/Impl/Client/ClientFlags.cs => Apache.Ignite.BenchmarkDotNet/Program.cs} (69%)
 copy modules/platforms/dotnet/{Apache.Ignite.Core/Impl/Client/MinVersionAttribute.cs => Apache.Ignite.BenchmarkDotNet/ThinClient/ThinClientBenchmarkBase.cs} (55%)
 create mode 100644 modules/platforms/dotnet/Apache.Ignite.BenchmarkDotNet/ThinClient/ThinClientCacheGetBenchmark.cs
 copy modules/platforms/dotnet/{Apache.Ignite.Core/Impl/Client/MinVersionAttribute.cs => Apache.Ignite.BenchmarkDotNet/ThinClient/ThinClientComputeBenchmark.cs} (57%)
 create mode 100644 modules/platforms/dotnet/Apache.Ignite.BenchmarkDotNet/Utils.cs
 create mode 100644 modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/ClientFeaturesTest.cs
 delete mode 100644 modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/ClientOpExtensionsTest.cs
 create mode 100644 modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cluster/ClientClusterDiscoveryTests.cs
 create mode 100644 modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cluster/ClientClusterDiscoveryTestsBase.cs
 create mode 100644 modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cluster/ClientClusterDiscoveryTestsBaselineTopology.cs
 copy modules/platforms/dotnet/{Apache.Ignite.Core/Impl/Client/ClientFlags.cs => Apache.Ignite.Core.Tests/Client/Cluster/ClientClusterDiscoveryTestsNoLocalhost.cs} (61%)
 copy modules/platforms/dotnet/{Apache.Ignite.Core/Impl/Client/ClientFlags.cs => Apache.Ignite.Core.Tests/Client/Cluster/ClientClusterDiscoveryTestsSsl.cs} (64%)
 create mode 100644 modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Compute/ComputeClientDisabledTests.cs
 create mode 100644 modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Compute/ComputeClientTests.cs
 create mode 100644 modules/platforms/dotnet/Apache.Ignite.Core.Tests/Services/CallPlatformServiceTest.cs
 create mode 100644 modules/platforms/dotnet/Apache.Ignite.Core/Client/Compute/IComputeClient.cs
 copy modules/platforms/dotnet/Apache.Ignite.Core/{Impl/Client/MinVersionAttribute.cs => Client/IClientConnection.cs} (55%)
 rename modules/platforms/dotnet/Apache.Ignite.Core/Impl/{Client/MinVersionAttribute.cs => Binary/IgniteBiTuple.cs} (54%)
 copy modules/platforms/dotnet/Apache.Ignite.Core/Impl/Client/{ClientFlags.cs => ClientBitmaskFeature.cs} (76%)
 create mode 100644 modules/platforms/dotnet/Apache.Ignite.Core/Impl/Client/ClientConnection.cs
 copy modules/platforms/dotnet/Apache.Ignite.Core/Impl/Client/{ClientRequestContext.cs => ClientDiscoveryNode.cs} (51%)
 create mode 100644 modules/platforms/dotnet/Apache.Ignite.Core/Impl/Client/ClientFeatures.cs
 create mode 100644 modules/platforms/dotnet/Apache.Ignite.Core/Impl/Client/ClientNotificationHandler.cs
 delete mode 100644 modules/platforms/dotnet/Apache.Ignite.Core/Impl/Client/ClientOpExtensions.cs
 delete mode 100644 modules/platforms/dotnet/Apache.Ignite.Core/Impl/Client/ClientUtils.cs
 create mode 100644 modules/platforms/dotnet/Apache.Ignite.Core/Impl/Client/Compute/ComputeClient.cs
 copy modules/platforms/dotnet/Apache.Ignite.Core/Impl/Client/{ClientFlags.cs => Compute/ComputeClientFlags.cs} (69%)
 create mode 100644 modules/yardstick/config/benchmark-cache-pegereplacements.properties
 create mode 100644 modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutGetWithPageReplacements.java


[ignite] 02/02: Fix after merge

Posted by gv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gvvinblade pushed a commit to branch ignite-12248
in repository https://gitbox.apache.org/repos/asf/ignite.git

commit 2dd624ac61ccce0645cc4acf871353c1aa06a6d9
Author: Igor Seliverstov <gv...@gmail.com>
AuthorDate: Wed May 27 17:48:09 2020 +0300

    Fix after merge
---
 .../java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java    | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java b/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java
index 6de4a41..fbabdf8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java
@@ -309,6 +309,12 @@ public class JdbcThinTcpIo {
             }
         }
 
+        if (ver.compareTo(VER_2_8_1) >= 0)
+            writer.writeByteArray(ThinProtocolFeature.featuresAsBytes(enabledFeatures()));
+
+        if (ver.compareTo(VER_2_9_0) >= 0)
+            writer.writeBoolean(connProps.isUseExperimentalQueryEngine());
+
         if (!F.isEmpty(connProps.getUsername())) {
             assert ver.compareTo(VER_2_5_0) >= 0 : "Authentication is supported since 2.5";
 


[ignite] 01/02: Merge branch 'master' into ignite-12248

Posted by gv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gvvinblade pushed a commit to branch ignite-12248
in repository https://gitbox.apache.org/repos/asf/ignite.git

commit 32de6d8dabee6e18cfcb1d331ce0acf6a287042c
Merge: 39d090d cbe58f4
Author: Igor Seliverstov <gv...@gmail.com>
AuthorDate: Wed May 27 16:55:38 2020 +0300

    Merge branch 'master' into ignite-12248
    
    # Conflicts:
    #	modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/ConnectionProperties.java
    #	modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/ConnectionPropertiesImpl.java
    #	modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java
    #	modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcConnectionContext.java

 .../class_list_exploit_included.txt => .asf.yaml   |   37 +-
 .github/PULL_REQUEST_TEMPLATE.md                   |   25 +
 CONTRIBUTING.md                                    |    4 +-
 README.md                                          |    1 -
 RELEASE_NOTES.txt                                  |   82 ++
 .../cassandra/session/CassandraSessionImpl.java    |   60 +-
 .../ClientTcpUnreachableMultiNodeSelfTest.java     |    8 +
 .../internal/jdbc2/JdbcMetadataSelfTest.java       |    3 +-
 .../rest/JettyRestProcessorAbstractSelfTest.java   |   74 +-
 .../rest/TcpRestUnmarshalVulnerabilityTest.java    |   11 -
 .../apache/ignite/jdbc/JdbcAuthorizationTest.java  |  372 +++++++
 .../jdbc/suite/IgniteJdbcDriverTestSuite.java      |    2 +
 .../JdbcThinComplexDmlDdlCustomSchemaSelfTest.java |    3 +-
 .../jdbc/thin/JdbcThinConnectionSelfTest.java      |   81 +-
 .../jdbc/thin/JdbcThinDefaultTimeoutTest.java      |    3 +-
 .../ignite/jdbc/thin/JdbcThinMetadataSelfTest.java |    5 +-
 ...ThinPartitionAwarenessTransactionsSelfTest.java |    4 +-
 .../thin/JdbcThinPreparedStatementSelfTest.java    |  310 +++++-
 .../jdbc/thin/JdbcThinResultSetSelfTest.java       |   49 +-
 .../thin/JdbcThinStreamingAbstractSelfTest.java    |   68 ++
 .../apache/ignite/jdbc/thin/JdbcThinTcpIoTest.java |    4 +-
 .../src/main/java/org/apache/ignite/Ignite.java    |    3 +
 .../main/java/org/apache/ignite/IgniteCache.java   |    2 +-
 .../org/apache/ignite/IgniteSystemProperties.java  |    9 +
 .../java/org/apache/ignite/cache/CacheMetrics.java |    6 +
 .../apache/ignite/cache/PartitionLossPolicy.java   |   15 +-
 .../apache/ignite/client/ClientClusterGroup.java   |  150 +++
 .../configuration/DataStorageConfiguration.java    |    5 +-
 .../DefaultCommunicationFailureResolver.java       |   11 +-
 .../ignite/configuration/IgniteConfiguration.java  |  112 +-
 .../ignite/configuration/SqlConfiguration.java     |  154 +++
 .../java/org/apache/ignite/events/EventType.java   |  140 +--
 .../ignite/events/PageReplacementStartedEvent.java |   53 +
 .../org/apache/ignite/internal/IgnitionEx.java     |    7 +-
 .../ignite/internal/MarshallerContextImpl.java     |   83 +-
 .../ignite/internal/MarshallerPlatformIds.java     |   31 +
 .../ignite/internal/binary/BinaryContext.java      |   14 +-
 .../ignite/internal/binary/BinaryMarshaller.java   |    2 +-
 .../ignite/internal/binary/BinaryReaderExImpl.java |   18 +-
 .../apache/ignite/internal/binary/BinaryUtils.java |   27 +-
 .../internal/binary/GridBinaryMarshaller.java      |    3 -
 .../ignite/internal/client/GridClientNode.java     |   17 +
 .../client/impl/GridClientComputeImpl.java         |   16 +-
 .../internal/client/impl/GridClientNodeImpl.java   |   14 +
 .../connection/GridClientNioTcpConnection.java     |   27 +-
 .../client/thin/ClientBinaryMarshaller.java        |    2 +-
 .../client/thin/ClientClusterGroupImpl.java        |  739 +++++++++++++-
 .../internal/client/thin/ClientClusterImpl.java    |   17 +-
 .../client/thin/ClientClusterNodeImpl.java         |  166 +++
 .../internal/client/thin/ClientOperation.java      |    2 +
 .../client/thin/ProtocolBitmaskFeature.java        |    8 +-
 .../internal/commandline/BaselineCommand.java      |    5 +-
 .../ignite/internal/commandline/CommandList.java   |    6 +-
 .../commandline/cache/CacheCommandList.java        |    5 +
 .../internal/commandline/cache/CacheCommands.java  |    1 +
 .../commandline/cache/CacheSubcommands.java        |    7 +-
 .../commandline/cache/CheckIndexInlineSizes.java   |  152 +++
 .../CheckIndexInlineSizesResult.java               |   96 ++
 .../CheckIndexInlineSizesTask.java                 |   99 ++
 .../commandline/snapshot/SnapshotCommand.java      |  100 ++
 .../snapshot/SnapshotSubcommand.java}              |   39 +-
 .../internal/events/DiscoveryCustomEvent.java      |    8 +
 .../internal/jdbc/thin/ConnectionProperties.java   |   32 +
 .../jdbc/thin/ConnectionPropertiesImpl.java        |   48 +
 .../ignite/internal/jdbc/thin/HandshakeResult.java |   20 +-
 .../internal/jdbc/thin/JdbcThinConnection.java     |  620 +++++++++--
 .../JdbcThinPartitionAwarenessMappingGroup.java    |   24 +-
 .../jdbc/thin/JdbcThinPreparedStatement.java       |   17 +-
 .../internal/jdbc/thin/JdbcThinResultSet.java      |    2 +-
 .../internal/jdbc/thin/JdbcThinStatement.java      |    2 +-
 .../ignite/internal/jdbc/thin/JdbcThinTcpIo.java   |   75 +-
 .../ignite/internal/jdbc2/JdbcResultSet.java       |    2 +-
 .../marshaller/optimized/OptimizedMarshaller.java  |   23 +-
 .../OptimizedObjectPooledStreamRegistry.java       |   89 ++
 .../OptimizedObjectSharedStreamRegistry.java       |  121 +++
 .../optimized/OptimizedObjectStreamRegistry.java   |  170 +---
 .../affinity/GridAffinityAssignmentCache.java      |    6 +-
 .../cache/CacheAffinitySharedManager.java          |   92 +-
 .../processors/cache/CacheGroupContext.java        |   28 +-
 .../processors/cache/ClusterCachesInfo.java        |    7 +-
 .../processors/cache/DynamicCacheChangeBatch.java  |    2 +-
 .../processors/cache/DynamicCacheDescriptor.java   |    6 +-
 .../cache/GridCachePartitionExchangeManager.java   |  122 ++-
 .../processors/cache/GridCachePreloader.java       |   16 +-
 .../cache/GridCachePreloaderAdapter.java           |   11 +-
 .../processors/cache/GridCacheProcessor.java       |   20 +-
 .../processors/cache/GridCacheSharedContext.java   |    9 +-
 .../cache/IgniteCacheOffheapManagerImpl.java       |    2 +-
 .../processors/cache/PartitionUpdateCounter.java   |    5 +
 .../cache/PartitionUpdateCounterDebugWrapper.java  |    5 +
 .../cache/PartitionUpdateCounterTrackingImpl.java  |   13 +
 .../cache/PartitionUpdateCounterVolatileImpl.java  |   10 +
 .../internal/processors/cache/WalStateManager.java |  178 ++--
 .../dht/ClientCacheDhtTopologyFuture.java          |    5 +-
 .../cache/distributed/dht/GridDhtCacheAdapter.java |    6 +-
 .../cache/distributed/dht/GridDhtGetFuture.java    |   13 -
 .../distributed/dht/GridDhtGetSingleFuture.java    |   13 -
 .../distributed/dht/GridDhtTopologyFuture.java     |    5 +-
 .../dht/GridDhtTopologyFutureAdapter.java          |  174 +---
 .../distributed/dht/GridDhtTxPrepareFuture.java    |   13 +-
 .../distributed/dht/GridPartitionedGetFuture.java  |   72 +-
 .../dht/GridPartitionedSingleGetFuture.java        |   50 +-
 .../cache/distributed/dht/NearTxResultHandler.java |    4 +
 .../distributed/dht/atomic/GridDhtAtomicCache.java |    6 +-
 .../dht/colocated/GridDhtColocatedCache.java       |    3 +-
 .../preloader/GridDhtPartitionDemandMessage.java   |   29 +-
 .../dht/preloader/GridDhtPartitionDemander.java    |  786 ++++++++------
 .../preloader/GridDhtPartitionsExchangeFuture.java |  297 ++++--
 .../preloader/GridDhtPartitionsFullMessage.java    |   89 +-
 .../dht/preloader/GridDhtPreloader.java            |   92 +-
 .../dht/preloader/GridDhtPreloaderAssignments.java |   17 +-
 .../dht/preloader/latch/ExchangeLatchManager.java  |   33 +-
 .../dht/topology/GridClientPartitionTopology.java  |  126 ++-
 .../dht/topology/GridDhtLocalPartition.java        |   33 +-
 .../dht/topology/GridDhtPartitionTopology.java     |   22 +-
 .../dht/topology/GridDhtPartitionTopologyImpl.java |  358 ++++---
 .../dht/topology/PartitionsEvictManager.java       |   19 +-
 .../GridCacheDatabaseSharedManager.java            |   66 +-
 .../persistence/file/FilePageStoreManager.java     |    4 +-
 .../cache/persistence/pagemem/PageMemoryImpl.java  |   37 +-
 .../pagemem/PagesWriteSpeedBasedThrottle.java      |    2 +-
 .../snapshot/IgniteSnapshotManager.java            |   63 +-
 .../persistence/snapshot/SnapshotMXBeanImpl.java   |   10 +-
 .../persistence/wal/scanner/PrintToLogHandler.java |    3 +-
 .../cache/query/GridCacheQueryAdapter.java         |   35 +-
 .../cache/query/GridCacheQueryManager.java         |   28 +-
 .../cache/transactions/IgniteTxHandler.java        |   19 +-
 .../cache/transactions/IgniteTxManager.java        |  141 ++-
 .../cache/transactions/IgniteTxStateImpl.java      |   20 +-
 .../cache/transactions/TxDeadlockDetection.java    |    8 +-
 .../verify/CollectConflictPartitionKeysTask.java   |   21 +-
 .../cache/verify/IdleVerifyResultV2.java           |   10 +-
 .../processors/cache/verify/IdleVerifyUtility.java |  202 +++-
 .../cache/verify/PartitionHashRecordV2.java        |   12 +-
 .../verify/VerifyBackupPartitionsDumpTask.java     |    6 +-
 .../cache/verify/VerifyBackupPartitionsTask.java   |   10 +-
 .../cache/verify/VerifyBackupPartitionsTaskV2.java |  165 ++-
 .../autoadjust/BaselineAutoAdjustScheduler.java    |    6 +-
 .../datastructures/GridCacheLockImpl.java          |    5 +-
 .../diagnostic/PageHistoryDiagnoster.java          |    6 +-
 .../processors/odbc/ClientListenerNioListener.java |    2 +-
 .../processors/odbc/ClientListenerProcessor.java   |    9 +-
 .../internal/processors/odbc/SqlListenerUtils.java |   34 +-
 .../odbc/jdbc/JdbcBatchExecuteRequest.java         |   30 +-
 .../odbc/jdbc/JdbcBatchExecuteResult.java          |   17 +-
 ...eRequest.java => JdbcBinaryTypeGetRequest.java} |   47 +-
 .../odbc/jdbc/JdbcBinaryTypeGetResult.java         |  107 ++
 ...uest.java => JdbcBinaryTypeNameGetRequest.java} |   75 +-
 ...quest.java => JdbcBinaryTypeNameGetResult.java} |   74 +-
 .../odbc/jdbc/JdbcBinaryTypeNamePutRequest.java    |  109 ++
 ...hRequest.java => JdbcBinaryTypePutRequest.java} |   78 +-
 .../odbc/jdbc/JdbcBulkLoadAckResult.java           |   17 +-
 .../odbc/jdbc/JdbcBulkLoadBatchRequest.java        |   17 +-
 .../odbc/jdbc/JdbcCachePartitionsRequest.java      |   17 +-
 .../odbc/jdbc/JdbcCachePartitionsResult.java       |   22 +-
 .../processors/odbc/jdbc/JdbcColumnMeta.java       |   13 +-
 .../processors/odbc/jdbc/JdbcColumnMetaV2.java     |   17 +-
 .../processors/odbc/jdbc/JdbcColumnMetaV3.java     |   17 +-
 .../processors/odbc/jdbc/JdbcColumnMetaV4.java     |   17 +-
 .../odbc/jdbc/JdbcConnectionContext.java           |   28 +-
 .../processors/odbc/jdbc/JdbcIndexMeta.java        |   13 +-
 .../processors/odbc/jdbc/JdbcMessageParser.java    |   28 +-
 .../odbc/jdbc/JdbcMetaColumnsRequest.java          |   17 +-
 .../odbc/jdbc/JdbcMetaColumnsResult.java           |   21 +-
 .../odbc/jdbc/JdbcMetaIndexesRequest.java          |   17 +-
 .../odbc/jdbc/JdbcMetaIndexesResult.java           |   21 +-
 .../odbc/jdbc/JdbcMetaParamsRequest.java           |   17 +-
 .../processors/odbc/jdbc/JdbcMetaParamsResult.java |   21 +-
 .../odbc/jdbc/JdbcMetaPrimaryKeysRequest.java      |   17 +-
 .../odbc/jdbc/JdbcMetaPrimaryKeysResult.java       |   21 +-
 .../odbc/jdbc/JdbcMetaSchemasRequest.java          |   17 +-
 .../odbc/jdbc/JdbcMetaSchemasResult.java           |   17 +-
 .../odbc/jdbc/JdbcMetaTablesRequest.java           |   23 +-
 .../processors/odbc/jdbc/JdbcMetaTablesResult.java |   21 +-
 .../odbc/jdbc/JdbcOrderedBatchExecuteRequest.java  |   15 +-
 .../odbc/jdbc/JdbcOrderedBatchExecuteResult.java   |   17 +-
 .../processors/odbc/jdbc/JdbcParameterMeta.java    |   13 +-
 .../processors/odbc/jdbc/JdbcPrimaryKeyMeta.java   |   13 +-
 .../processors/odbc/jdbc/JdbcProtocolContext.java  |  104 ++
 .../internal/processors/odbc/jdbc/JdbcQuery.java   |   18 +-
 .../odbc/jdbc/JdbcQueryCancelRequest.java          |   18 +-
 .../odbc/jdbc/JdbcQueryCloseRequest.java           |   17 +-
 .../JdbcQueryExecuteMultipleStatementsResult.java  |   25 +-
 .../odbc/jdbc/JdbcQueryExecuteRequest.java         |   33 +-
 .../odbc/jdbc/JdbcQueryExecuteResult.java          |   25 +-
 .../odbc/jdbc/JdbcQueryFetchRequest.java           |   17 +-
 .../processors/odbc/jdbc/JdbcQueryFetchResult.java |   21 +-
 .../odbc/jdbc/JdbcQueryMetadataRequest.java        |   17 +-
 .../odbc/jdbc/JdbcQueryMetadataResult.java         |   21 +-
 .../processors/odbc/jdbc/JdbcRawBinarylizable.java |   10 +-
 .../internal/processors/odbc/jdbc/JdbcRequest.java |   61 +-
 .../processors/odbc/jdbc/JdbcRequestHandler.java   |  124 +++
 .../processors/odbc/jdbc/JdbcResponse.java         |   23 +-
 .../internal/processors/odbc/jdbc/JdbcResult.java  |   47 +-
 .../processors/odbc/jdbc/JdbcResultInfo.java       |   13 +-
 .../processors/odbc/jdbc/JdbcTableMeta.java        |   18 +-
 .../jdbc/JdbcThinFeature.java}                     |   30 +-
 ...uest.java => JdbcUpdateBinarySchemaResult.java} |   69 +-
 .../internal/processors/odbc/jdbc/JdbcUtils.java   |   44 +-
 .../platform/client/ClientBitmaskFeature.java      |   10 +-
 .../platform/client/ClientMessageParser.java       |   17 +-
 .../cluster/ClientClusterGetStateRequest.java      |    2 +-
 ...lientClusterGroupGetNodesEndpointsRequest.java} |   24 +-
 ...lientClusterGroupGetNodesEndpointsResponse.java |  170 ++++
 .../cluster/ClientClusterGroupProjection.java      |    4 +-
 .../platform/client/compute/ClientComputeTask.java |    3 +
 .../client/compute/ClientExecuteTaskRequest.java   |   17 +-
 .../platform/services/PlatformAbstractService.java |    8 +-
 .../platform/services/PlatformService.java         |   13 +
 .../processors/platform/utils/PlatformUtils.java   |   18 +-
 .../processors/query/GridQueryIndexing.java        |   12 +
 .../processors/query/GridQueryProcessor.java       |  180 +++-
 .../processors/query/QueryHistoryTracker.java      |    4 +-
 .../processors/query/RunningQueryManager.java      |    6 +-
 .../schema/SchemaIndexCachePartitionWorker.java    |    3 +-
 .../client/message/GridClientAbstractMessage.java  |   58 --
 .../message/GridClientAuthenticationRequest.java   |   32 +-
 .../rest/client/message/GridClientMessage.java     |   15 -
 .../rest/protocols/tcp/GridMemcachedMessage.java   |   11 -
 .../rest/protocols/tcp/GridTcpRestNioListener.java |   22 +-
 .../rest/protocols/tcp/redis/GridRedisMessage.java |   11 -
 .../processors/service/GridServiceProcessor.java   |   10 +-
 .../processors/service/GridServiceProxy.java       |   81 +-
 .../processors/service/IgniteServiceProcessor.java |   50 +-
 .../internal/processors/service/ServiceInfo.java   |   13 +-
 .../ignite/internal/util/GridArgumentCheck.java    |    1 +
 .../ignite/internal/util/GridJavaProcess.java      |    2 +-
 .../ignite/internal/util/IgniteStopwatch.java      |   14 +-
 .../org/apache/ignite/internal/util/TimeBag.java   |   63 +-
 .../visor/snapshot/VisorSnapshotCreateTask.java    |   62 ++
 .../verify/ValidateIndexesPartitionResult.java     |   92 +-
 .../ignite/platform/PlatformServiceMethod.java     |   48 +
 .../org/apache/ignite/spi/IgniteSpiThread.java     |    5 +-
 .../spi/communication/tcp/TcpCommunicationSpi.java |    4 +-
 .../ignite/spi/discovery/tcp/ClientImpl.java       |    3 +-
 .../org/apache/ignite/thread/IgniteThread.java     |   10 +
 .../main/resources/META-INF/classnames.properties  |    5 +
 .../test/config/class_list_exploit_included.txt    |    3 +-
 .../ignite/cache/BreakRebalanceChainTest.java      |  176 ++++
 .../ClientCreateCacheGroupOnJoinNodeMapsTest.java  |   89 ++
 .../ignite/cache/NotOptimizedRebalanceTest.java    |  288 ++++++
 .../RebalanceAfterResettingLostPartitionTest.java  |  177 ++++
 .../ignite/cache/RebalanceCancellationTest.java    |  495 +++++++++
 .../ignite/cache/ResetLostPartitionTest.java       |   37 +-
 .../ignite/cache/affinity/PendingExchangeTest.java |  343 +++++++
 .../ignite/failure/SystemWorkersBlockingTest.java  |    3 +
 .../internal/GridJobMasterLeaveAwareSelfTest.java  |    8 +-
 .../internal/IgniteThreadGroupNodeRestartTest.java |   59 ++
 .../internal/TestDelayingCommunicationSpi.java     |    3 +-
 .../internal/binary/BinaryMarshallerSelfTest.java  |   96 ++
 .../internal/client/thin/ClusterGroupTest.java     |  429 ++++++++
 .../internal/client/thin/ComputeTaskTest.java      |  140 +--
 .../internal/client/thin/TestFailoverTask.java     |   65 ++
 .../ignite/internal/client/thin/TestJob.java       |   61 ++
 .../internal/client/thin/TestResultCacheTask.java  |   58 ++
 .../ignite/internal/client/thin/TestTask.java      |   59 ++
 .../commandline/CommandHandlerParsingTest.java     |    3 +-
 .../internal/encryption/MasterKeyChangeTest.java   |    7 +
 .../MessageDirectTypeIdConflictTest.java           |    3 +-
 .../optimized/OptimizedObjectStreamSelfTest.java   |   21 +-
 ...acheConfigurationSerializationAbstractTest.java |  218 ++++
 ...eConfigurationSerializationOnDiscoveryTest.java |  162 +--
 ...heConfigurationSerializationOnExchangeTest.java |  189 +---
 .../cache/CacheDataRegionConfigurationTest.java    |  128 ++-
 .../processors/cache/CacheMetricsManageTest.java   |    3 +
 .../cache/CacheValidatorMetricsTest.java           |   16 +-
 ...heWithDifferentDataRegionConfigurationTest.java |    2 -
 .../DataStorageConfigurationValidationTest.java    |   17 +
 .../IgniteCacheConfigurationTemplateTest.java      |    2 +-
 ...eCachePartitionMapUpdateSafeLossPolicyTest.java |   79 ++
 .../cache/IgniteCachePartitionMapUpdateTest.java   |   70 +-
 .../cache/IgniteClusterActivateDeactivateTest.java |    2 +
 .../cache/distributed/CacheExchangeMergeTest.java  |   95 +-
 .../CacheLateAffinityAssignmentTest.java           |   38 +-
 .../CachePartitionLossDetectionOnNodeLeftTest.java |  115 ---
 .../CachePartitionLossWithPersistenceTest.java     |  264 +++++
 .../CachePartitionLossWithRestartsTest.java        |  223 ++++
 ...CachePartitionLostAfterSupplierHasLeftTest.java |  409 ++++++++
 .../CachePartitionLostWhileClearingTest.java       |  168 ---
 .../CacheResultIsNotNullOnPartitionLossTest.java   |    4 +
 .../GridCachePartitionNotLoadedEventSelfTest.java  |   41 +-
 ...GridExchangeFreeCellularSwitchAbstractTest.java |  290 ++++++
 ...ngeFreeCellularSwitchComplexOperationsTest.java |  354 +++++++
 ...ridExchangeFreeCellularSwitchIsolationTest.java |  486 +++++++++
 .../distributed/GridExchangeFreeSwitchTest.java    |   28 +-
 ...gniteCacheClientNodePartitionsExchangeTest.java |   12 +-
 ...niteCacheGroupsPartitionLossPolicySelfTest.java |  316 +-----
 .../IgniteCachePartitionLossPolicySelfTest.java    | 1072 ++++++--------------
 .../distributed/IgniteCachePrimarySyncTest.java    |    3 +
 .../dht/topology/EvictPartitionInLogTest.java      |   48 +-
 .../cache/mvcc/CacheMvccTxFailoverTest.java        |   10 +-
 ...gniteLostPartitionsOnLeaveBaselineSelfTest.java |  167 +++
 .../IgnitePdsBinaryMetadataAsyncWritingTest.java   |   13 +-
 .../IgnitePdsCacheRebalancingAbstractTest.java     |    1 +
 .../persistence/IgnitePdsCorruptedIndexTest.java   |    6 +
 ...ocalWalModeChangeDuringRebalancingSelfTest.java |   25 +-
 .../PersistenceDirectoryWarningLoggingTest.java    |   25 +
 .../ClientAffinityAssignmentWithBaselineTest.java  |   37 +-
 .../IgniteAbsentEvictionNodeOutOfBaselineTest.java |    3 +
 .../persistence/db/IgnitePdsCacheRestoreTest.java  |    5 +-
 ...IgnitePdsCacheWalDisabledOnRebalancingTest.java |   15 +-
 ...itePdsPageEvictionDuringPartitionClearTest.java |  163 ---
 ...PdsPageReplacementDuringPartitionClearTest.java |  343 +++++++
 .../db/IgniteSequentialNodeCrashRecoveryTest.java  |    2 +
 .../CheckpointFailBeforeWriteMarkTest.java         |    2 +-
 .../persistence/db/wal/IgniteWalRebalanceTest.java |  171 ++--
 .../persistence/db/wal/WalCompactionTest.java      |    3 +
 .../IgnitePageMemReplaceDelayedWriteUnitTest.java  |   11 +
 .../pagemem/IgniteThrottlingUnitTest.java          |    2 +
 .../persistence/pagemem/PageMemoryImplTest.java    |    4 +
 .../snapshot/AbstractSnapshotSelfTest.java         |   43 +-
 .../snapshot/IgniteClusterSnapshotSelfTest.java    |   63 +-
 .../persistence/wal/scanner/WalScannerTest.java    |    4 +
 ...CacheContinuousWithTransformerFailoverTest.java |    3 +-
 ...coveryDataDeserializationFailureHanderTest.java |    3 +-
 ...AtomicPartitionCounterStateConsistencyTest.java |   10 +-
 .../TxCrossCacheMapOnInvalidTopologyTest.java      |    3 +-
 .../TxDeadlockDetectionNoHangsTest.java            |   12 +-
 .../TxPartitionCounterStateAbstractTest.java       |   19 +
 .../TxPartitionCounterStateConsistencyTest.java    |  140 ++-
 .../failure/FailureProcessorLoggingTest.java       |    7 +-
 .../FailureProcessorThreadDumpThrottlingTest.java  |    2 +-
 .../client/AdditionalSecurityCheckTest.java        |  137 +--
 .../client/AttributeSecurityCheckTest.java         |   94 ++
 ...CheckTest.java => CommonSecurityCheckTest.java} |  147 +--
 ...uthenticationContextSecurityPluginProvider.java |   82 ++
 ...GridServiceProxyTopologyInitializationTest.java |  249 +++++
 .../IgniteServiceProxyTimeoutInitializedTest.java  |   33 +
 .../platform/AbstractPlatformServiceCallTask.java  |  278 +++++
 .../platform/PlatformCacheAffinityVersionTask.java |   81 ++
 .../PlatformServiceCallCollectionsTask.java        |   93 ++
 .../ignite/platform/PlatformServiceCallTask.java   |   81 ++
 .../apache/ignite/testframework/GridTestUtils.java |   68 +-
 .../ignite/testframework/ListeningTestLogger.java  |   50 +-
 .../testframework/junits/GridAbstractTest.java     |   27 +-
 .../ignite/testframework/junits/IgniteMock.java    |    2 +-
 .../junits/common/GridCommonAbstractTest.java      |  157 ++-
 .../junits/logger/GridTestLog4jLogger.java         |    6 +
 .../junits/logger/GridTestLog4jLoggerSelfTest.java |   95 ++
 .../junits/multijvm/IgniteProcessProxy.java        |    3 +-
 .../ignite/testsuites/IgniteBasicTestSuite.java    |    5 +-
 .../testsuites/IgniteCacheMvccTestSuite5.java      |   11 +
 .../testsuites/IgniteCacheMvccTestSuite6.java      |    4 +
 .../testsuites/IgniteCacheMvccTestSuite7.java      |    2 +
 .../ignite/testsuites/IgniteCacheTestSuite2.java   |    2 +
 .../ignite/testsuites/IgniteCacheTestSuite5.java   |    5 +
 .../ignite/testsuites/IgniteCacheTestSuite6.java   |    6 +-
 .../ignite/testsuites/IgniteCacheTestSuite7.java   |    8 +-
 .../ignite/testsuites/IgniteCacheTestSuite8.java   |    2 +
 .../ignite/testsuites/IgniteLangSelfTestSuite.java |    3 +
 .../ignite/testsuites/IgnitePdsTestSuite4.java     |   10 +-
 .../ignite/testsuites/IgniteReproducingSuite.java  |    6 +-
 .../testsuites/IgniteServiceGridTestSuite.java     |    2 +
 .../ignite/testsuites/SecurityTestSuite.java       |    2 +
 .../util/GridCommandHandlerAbstractTest.java       |   57 +-
 .../apache/ignite/util/GridCommandHandlerTest.java |   65 +-
 ...mandHandlerClusterByClassTest_cache_help.output |    3 +
 ...ridCommandHandlerClusterByClassTest_help.output |    6 +
 ...dlerClusterByClassWithSSLTest_cache_help.output |    3 +
 ...andHandlerClusterByClassWithSSLTest_help.output |    6 +
 .../processors/query/h2/IgniteH2Indexing.java      |   19 +-
 .../query/h2/LongRunningQueryManager.java          |    2 +-
 .../internal/processors/query/h2/QueryParser.java  |    2 +-
 .../processors/query/h2/SchemaManager.java         |    6 +-
 .../processors/query/h2/opt/GridH2Table.java       |   33 +-
 .../processors/query/h2/opt/TableStatistics.java   |    2 +-
 .../query/h2/sql/GridSqlQueryParser.java           |   21 +-
 .../query/h2/twostep/AbstractReducer.java          |   14 +-
 .../query/h2/twostep/GridMapQueryExecutor.java     |    6 +-
 .../h2/twostep/PartitionReservationManager.java    |   36 +-
 .../query/h2/twostep/ReducePartitionMapper.java    |   65 +-
 .../visor/verify/ValidateIndexesClosure.java       |  236 +++--
 .../org/apache/ignite/client/ClientTestSuite.java  |    2 +
 ...eckIndexesInlineSizeOnNodeJoinMultiJvmTest.java |  245 +++++
 ...ockPartitionOnAffinityRunAtomicCacheOpTest.java |   11 +-
 ...cheLockPartitionOnAffinityRunTxCacheOpTest.java |    3 +-
 .../cache/IgniteDynamicSqlRestoreTest.java         |    3 +
 .../IndexingCachePartitionLossPolicySelfTest.java  |   57 +-
 ...acheDistributedQueryDefaultTimeoutSelfTest.java |    3 +-
 .../near/IgniteCacheQueryNodeRestartSelfTest.java  |   22 +-
 ...acheQueryReservationOnUnstableTopologyTest.java |  110 ++
 .../cache/index/H2DynamicTableSelfTest.java        |    3 +-
 ...gniteCacheLocalQueryDefaultTimeoutSelfTest.java |    3 +-
 .../cache/metric/SqlViewExporterSpiTest.java       |    4 +-
 .../db/IgniteCacheGroupsWithRestartsTest.java      |    2 +
 .../persistence/db/wal/IgniteWalRecoveryTest.java  |   74 +-
 .../IgniteClusterSnapshotWithIndexesTest.java      |   42 -
 .../processors/client/IgniteDataStreamerTest.java  |    6 +-
 .../processors/database/RebuildIndexTest.java      |    7 +-
 ...eLockPartitionOnAffinityRunAtomicCacheTest.java |    4 +-
 ...elineLockPartitionOnAffinityRunTxCacheTest.java |    4 +-
 ...ngingBaselineCacheQueryNodeRestartSelfTest.java |    5 +-
 ...ableBaselineCacheQueryNodeRestartsSelfTest.java |   34 +
 .../processors/query/AbstractCustomSchemaTest.java |    5 +-
 .../query/IgniteSqlCustomSchemaWithPdsEnabled.java |    5 +-
 .../IgniteSqlSchemasDiffConfigurationsTest.java    |   11 +-
 .../IgniteSqlSkipReducerOnUpdateDmlSelfTest.java   |    3 +-
 .../query/IgniteSqlSplitterSelfTest.java           |    4 +-
 .../processors/query/SqlQueryHistorySelfTest.java  |    3 +-
 .../processors/query/SqlSystemViewsSelfTest.java   |   14 +-
 .../h2/twostep/RetryCauseMessageSelfTest.java      |   28 +-
 .../org/apache/ignite/sqltests/BaseSqlTest.java    |    3 +-
 .../IgniteBinaryCacheQueryTestSuite.java           |    2 +
 .../IgniteBinaryCacheQueryTestSuite2.java          |    5 +-
 ...teCacheWithIndexingAndPersistenceTestSuite.java |    2 +
 ...idCommandHandlerCheckIndexesInlineSizeTest.java |  153 +++
 ...idCommandHandlerIndexingClusterByClassTest.java |   16 +
 .../util/GridCommandHandlerIndexingTest.java       |  151 ++-
 .../apache/ignite/stream/kafka/KafkaStreamer.java  |    3 +-
 .../java/org/apache/ignite/ml/math/Tracer.java     |   11 +-
 .../ignite/ml/util/plugin/MLPluginProvider.java    |    6 +-
 .../osgi/IgniteAbstractOsgiContextActivator.java   |    3 +-
 .../platforms/cpp/core-test/src/teamcity_boost.cpp |    2 +-
 .../cpp/odbc-test/src/teamcity/teamcity_boost.cpp  |    2 +-
 .../src/teamcity/teamcity_boost.cpp                |    2 +-
 .../Apache.Ignite.BenchmarkDotNet.csproj           |   18 +
 .../Program.cs}                                    |   21 +-
 .../ThinClient/ThinClientBenchmarkBase.cs}         |   34 +-
 .../ThinClient/ThinClientCacheGetBenchmark.cs      |   63 ++
 .../ThinClient/ThinClientComputeBenchmark.cs}      |   29 +-
 .../dotnet/Apache.Ignite.BenchmarkDotNet/Utils.cs  |   75 ++
 .../Apache.Ignite.Core.Tests.DotNetCore.csproj     |   73 +-
 .../Common/TestUtils.DotNetCore.cs                 |    4 +-
 .../Apache.Ignite.Core.Tests.csproj                |   10 +-
 .../Binary/BinaryDynamicRegistrationTest.cs        |    2 +-
 .../Cache/Affinity/AffinityFunctionSpringTest.cs   |    5 +-
 .../Cache/Affinity/AffinityTest.cs                 |    3 +-
 .../Cache/PartitionLossTest.cs                     |   20 +-
 .../Cache/Platform/PlatformCacheTest.cs            |    2 +-
 .../Cache/Query/Linq/CacheLinqTest.Misc.cs         |    3 +-
 .../Client/Cache/CacheTest.cs                      |   16 +
 .../Client/Cache/CacheTestSsl.cs                   |   38 +-
 .../Client/Cache/ClientCacheConfigurationTest.cs   |    4 +-
 .../Client/Cache/ListLogger.cs                     |    5 +
 .../Client/Cache/PartitionAwarenessTest.cs         |   39 +-
 .../Client/ClientConnectionTest.cs                 |    6 +-
 .../Client/ClientFeaturesTest.cs                   |   86 ++
 .../Client/ClientOpExtensionsTest.cs               |   59 --
 .../Client/ClientProtocolCompatibilityTest.cs      |   62 +-
 .../Client/ClientReconnectCompatibilityTest.cs     |    5 +-
 .../Client/ClientServerCompatibilityTest.cs        |   40 +-
 .../Client/ClientTestBase.cs                       |   37 +-
 .../Client/Cluster/ClientClusterDiscoveryTests.cs  |  176 ++++
 .../Cluster/ClientClusterDiscoveryTestsBase.cs     |  149 +++
 .../ClientClusterDiscoveryTestsBaselineTopology.cs |   74 ++
 .../ClientClusterDiscoveryTestsNoLocalhost.cs}     |   21 +-
 .../Cluster/ClientClusterDiscoveryTestsSsl.cs}     |   21 +-
 .../Client/Compute/ComputeClientDisabledTests.cs   |   46 +
 .../Client/Compute/ComputeClientTests.cs           |  476 +++++++++
 .../Compute/ComputeApiTest.JavaTask.cs             |    9 +-
 .../Compute/ComputeApiTest.cs                      |   12 +-
 .../EventsTestLocalListeners.cs                    |   41 +-
 .../IgniteConfigurationTest.cs                     |    6 +-
 .../dotnet/Apache.Ignite.Core.Tests/JavaServer.cs  |   24 +-
 .../Apache.Ignite.Core.Tests/ProjectFilesTest.cs   |    6 +-
 .../Services/CallPlatformServiceTest.cs            |  345 +++++++
 .../Apache.Ignite.Core.Tests/TestUtils.Common.cs   |   43 +
 .../Apache.Ignite.Core/Apache.Ignite.Core.csproj   |   13 +-
 .../Client/Cache/CacheClientConfiguration.cs       |    8 +-
 .../Client/Compute/IComputeClient.cs               |   85 ++
 .../Client/IClientClusterGroup.cs                  |    9 +
 .../IClientConnection.cs}                          |   37 +-
 .../Apache.Ignite.Core/Client/IIgniteClient.cs     |   12 +
 .../Apache.Ignite.Core/Impl/Binary/BinaryReader.cs |    8 +-
 .../Apache.Ignite.Core/Impl/Binary/BinaryTypeId.cs |    3 +
 .../IgniteBiTuple.cs}                              |   35 +-
 .../Apache.Ignite.Core/Impl/Binary/Marshaller.cs   |    1 +
 .../Impl/Client/Cache/CacheClient.cs               |    8 +-
 .../Cache/ClientCacheConfigurationSerializer.cs    |   29 +-
 .../{ClientFlags.cs => ClientBitmaskFeature.cs}    |   16 +-
 .../Impl/Client/ClientConnection.cs                |   71 ++
 .../Impl/Client/ClientContextBase.cs               |   31 +-
 ...entRequestContext.cs => ClientDiscoveryNode.cs} |   56 +-
 .../Impl/Client/ClientFailoverSocket.cs            |  395 ++++++--
 .../Impl/Client/ClientFeatures.cs                  |  228 +++++
 .../Apache.Ignite.Core/Impl/Client/ClientFlags.cs  |    3 +-
 .../Impl/Client/ClientNotificationHandler.cs       |  137 +++
 .../Apache.Ignite.Core/Impl/Client/ClientOp.cs     |   18 +-
 .../Impl/Client/ClientOpExtensions.cs              |   71 --
 .../Impl/Client/ClientRequestContext.cs            |    7 +-
 .../Impl/Client/ClientResponseContext.cs           |    7 +-
 .../Apache.Ignite.Core/Impl/Client/ClientSocket.cs |  262 ++++-
 .../Apache.Ignite.Core/Impl/Client/ClientUtils.cs  |   58 --
 .../Impl/Client/Cluster/ClientCluster.cs           |    7 +-
 .../Impl/Client/Cluster/ClientClusterGroup.cs      |   27 +-
 .../Impl/Client/Compute/ComputeClient.cs           |  220 ++++
 .../ComputeClientFlags.cs}                         |   17 +-
 .../Apache.Ignite.Core/Impl/Client/Endpoint.cs     |   43 +-
 .../Apache.Ignite.Core/Impl/Client/IgniteClient.cs |   30 +-
 .../platforms/dotnet/Apache.Ignite.DotNetCore.sln  |    6 +
 modules/platforms/dotnet/DEVNOTES.txt              |    4 +-
 modules/platforms/dotnet/build.ps1                 |    2 +-
 .../http/jetty/GridJettyObjectMapper.java          |   35 +-
 modules/yardstick/README.txt                       |    1 +
 .../benchmark-cache-pegereplacements.properties    |   83 ++
 .../config/ignite-localhost-persistence-config.xml |   15 +-
 .../cache/IgnitePutGetWithPageReplacements.java    |  172 ++++
 .../zk/internal/ZookeeperDiscoveryImpl.java        |    2 +-
 .../internal/ZookeeperDiscoverySpiSslTestBase.java |    7 +-
 packaging/deb/changelog                            |   12 +
 packaging/rpm/apache-ignite.spec                   |    8 +-
 parent/pom.xml                                     |    1 +
 502 files changed, 21567 insertions(+), 6578 deletions(-)

diff --cc modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/ConnectionProperties.java
index 6aea74b,d8ddfc2..b74da99
--- a/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/ConnectionProperties.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/ConnectionProperties.java
@@@ -528,14 -529,33 +529,45 @@@ public interface ConnectionProperties 
      public void setUserAttributesFactory(String sslFactory);
  
      /**
+      * Any JDBC features could be force disabled.
+      * See {@link JdbcThinFeature}.
+      * The string should contain enumeration of feature names, separated by the comma.
+      *
+      * @return disabled features.
+      */
+     public String disabledFeatures();
+ 
+     /**
+      * @param features Disabled features. See {@link JdbcThinFeature}.
+      *      The string should contain enumeration of feature names, separated by the comma.
+      */
+     public void disabledFeatures(String features);
+ 
+     /**
+      * Get keep binary configuration flag.
+      *
+      * @return Keep binary configuration flag.
+      */
+     public boolean isKeepBinary();
+ 
+     /**
+      * Set to {@code true} to keep binary objects in binary form.
+      *
+      * <p> Defaults is {@code false}.
+      **
+      * @param keepBinary Whether to keep binary objects in binary form.
+      */
+     public void setKeepBinary(boolean keepBinary);
++
++    /**
 +     * @return {@code True} if experimental query engine is enabled for a connection.
 +     */
 +    public boolean isUseExperimentalQueryEngine();
 +
 +    /**
 +     * Sets use experimental query engine flag.
 +     *
 +     * @param useExperimentalQueryEngine {@code True} if experimental query engine is enabled for a connection.
 +     */
 +    public void setUseExperimentalQueryEngine(boolean useExperimentalQueryEngine);
  }
diff --cc modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/ConnectionPropertiesImpl.java
index 501ec4e,d9000648..00ff3e0
--- a/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/ConnectionPropertiesImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/ConnectionPropertiesImpl.java
@@@ -233,10 -234,30 +234,35 @@@ public class ConnectionPropertiesImpl i
              " Zero means there is no limits.",
          0, false, 0, Integer.MAX_VALUE);
  
+     /** Disabled features. */
+     private StringProperty disabledFeatures = new StringProperty("disabledFeatures",
+         "Sets enumeration of features to force disable its.", null, null, false, new PropertyValidator() {
+         @Override public void validate(String val) throws SQLException {
+             if (val == null)
+                 return;
+ 
+             String[] features = val.split("\\W+");
+ 
+             for (String f : features) {
+                 try {
+                     JdbcThinFeature.valueOf(f.toUpperCase());
+                 }
+                 catch (IllegalArgumentException e) {
+                     throw new SQLException("Unknown feature: " + f);
+                 }
+             }
+         }
+     });
+ 
+     /** Keep binary objects in binary form. */
+     private BooleanProperty keepBinary = new BooleanProperty("keepBinary",
+         "Whether to keep binary objects in binary form.", false, false);
+ 
++
 +    /** Whether an experimental SQL engine enabled for a connection. */
 +    private BooleanProperty useExperimentalQueryEngine = new BooleanProperty("useExperimentalQueryEngine",
 +        "Enables experimental query engine.", false, false);
 +
      /** Properties array. */
      private final ConnectionProperty[] propsArray = {
          distributedJoins, enforceJoinOrder, collocated, replicatedOnly, autoCloseServerCursor,
@@@ -254,7 -275,8 +280,9 @@@
              partitionAwarenessPartDistributionsCacheSize,
          qryTimeout,
          connTimeout,
+         disabledFeatures,
 -        keepBinary
++        keepBinary,
 +        useExperimentalQueryEngine
      };
  
      /** {@inheritDoc} */
@@@ -644,15 -666,25 +672,35 @@@
      }
  
      /** {@inheritDoc} */
+     @Override public String disabledFeatures() {
+         return disabledFeatures.value();
+     }
+ 
+     /** {@inheritDoc} */
+     @Override public void disabledFeatures(String features) {
+         disabledFeatures.setValue(features);
+     }
+ 
+     /** {@inheritDoc} */
+     @Override public boolean isKeepBinary() {
+         return keepBinary.value();
+     }
+ 
+     /** {@inheritDoc} */
+     @Override public void setKeepBinary(boolean keepBinary) {
+         this.keepBinary.setValue(keepBinary);
+     }
+ 
++    /** {@inheritDoc} */
 +    @Override public boolean isUseExperimentalQueryEngine() {
 +        return useExperimentalQueryEngine.value();
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Override public void setUseExperimentalQueryEngine(boolean useExperimentalQueryEngine) {
 +        this.useExperimentalQueryEngine.setValue(useExperimentalQueryEngine);
 +    }
 +
      /**
       * @param url URL connection.
       * @param props Environment properties.
diff --cc modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java
index 735184f,9129666..6de4a41
--- a/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java
@@@ -89,11 -94,11 +94,14 @@@ public class JdbcThinTcpIo 
      /** Version 2.8.0. */
      private static final ClientListenerProtocolVersion VER_2_8_0 = ClientListenerProtocolVersion.create(2, 8, 0);
  
+     /** Version 2.8.1. Adds features flags support. */
+     private static final ClientListenerProtocolVersion VER_2_8_1 = ClientListenerProtocolVersion.create(2, 8, 1);
+ 
 +    /** Version 2.9.0. */
 +    private static final ClientListenerProtocolVersion VER_2_9_0 = ClientListenerProtocolVersion.create(2, 9, 0);
 +
      /** Current version. */
 -    private static final ClientListenerProtocolVersion CURRENT_VER = VER_2_8_1;
 +    private static final ClientListenerProtocolVersion CURRENT_VER = VER_2_9_0;
  
      /** Initial output stream capacity for handshake. */
      private static final int HANDSHAKE_MSG_SIZE = 13;
@@@ -291,9 -306,9 +309,6 @@@
              }
          }
  
-         if (ver.compareTo(VER_2_9_0) >= 0)
-             writer.writeBoolean(connProps.isUseExperimentalQueryEngine());
 -        if (ver.compareTo(VER_2_8_1) >= 0)
 -            writer.writeByteArray(ThinProtocolFeature.featuresAsBytes(enabledFeatures()));
--
          if (!F.isEmpty(connProps.getUsername())) {
              assert ver.compareTo(VER_2_5_0) >= 0 : "Authentication is supported since 2.5";
  
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcConnectionContext.java
index 6ec381c,0f8fdc1..7b4b62f
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcConnectionContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcConnectionContext.java
@@@ -64,11 -65,11 +65,14 @@@ public class JdbcConnectionContext exte
      /** Version 2.8.0: adds query id in order to implement cancel feature, partition awareness support: IEP-23.*/
      static final ClientListenerProtocolVersion VER_2_8_0 = ClientListenerProtocolVersion.create(2, 8, 0);
  
-     /** Version 2.8.0: adds experimental query engine support */
+     /** Version 2.8.1: adds features flags support.*/
+     static final ClientListenerProtocolVersion VER_2_8_1 = ClientListenerProtocolVersion.create(2, 8, 1);
+ 
++    /** Version 2.9.0: adds experimental query engine support */
 +    static final ClientListenerProtocolVersion VER_2_9_0 = ClientListenerProtocolVersion.create(2, 9, 0);
 +
      /** Current version. */
 -    public static final ClientListenerProtocolVersion CURRENT_VER = VER_2_8_1;
 +    public static final ClientListenerProtocolVersion CURRENT_VER = VER_2_9_0;
  
      /** Supported versions. */
      private static final Set<ClientListenerProtocolVersion> SUPPORTED_VERS = new HashSet<>();
@@@ -178,9 -183,12 +187,15 @@@
              userAttrs = reader.readMap();
          }
  
+         if (ver.compareTo(VER_2_8_1) >= 0) {
+             byte[] cliFeatures = reader.readByteArray();
+ 
+             features = JdbcThinFeature.enumSet(cliFeatures);
+         }
+ 
 +        if (ver.compareTo(VER_2_9_0) >= 0)
 +            useExperimentalQueryEngine = reader.readBoolean();
 +
          if (ver.compareTo(VER_2_5_0) >= 0) {
              String user = null;
              String passwd = null;
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcRequestHandler.java
index b0c80a2,a2270c8..7a49631
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcRequestHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcRequestHandler.java
@@@ -38,9 -38,11 +38,12 @@@ import org.apache.ignite.cache.query.Bu
  import org.apache.ignite.cache.query.FieldsQueryCursor;
  import org.apache.ignite.cache.query.QueryCancelledException;
  import org.apache.ignite.cluster.ClusterNode;
 +import org.apache.ignite.internal.GridComponent;
  import org.apache.ignite.internal.IgniteInterruptedCheckedException;
  import org.apache.ignite.internal.IgniteVersionUtils;
+ import org.apache.ignite.internal.ThinProtocolFeature;
+ import org.apache.ignite.internal.binary.BinaryContext;
+ import org.apache.ignite.internal.binary.BinaryTypeImpl;
  import org.apache.ignite.internal.binary.BinaryWriterExImpl;
  import org.apache.ignite.internal.jdbc.thin.JdbcThinPartitionAwarenessMappingGroup;
  import org.apache.ignite.internal.processors.affinity.AffinityAssignment;
@@@ -51,9 -53,9 +54,10 @@@ import org.apache.ignite.internal.proce
  import org.apache.ignite.internal.processors.cache.DynamicCacheDescriptor;
  import org.apache.ignite.internal.processors.cache.GridCacheContext;
  import org.apache.ignite.internal.processors.cache.QueryCursorImpl;
+ import org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl;
  import org.apache.ignite.internal.processors.cache.mvcc.MvccUtils;
  import org.apache.ignite.internal.processors.cache.query.IgniteQueryErrorCode;
 +import org.apache.ignite.internal.processors.cache.query.QueryCursorEx;
  import org.apache.ignite.internal.processors.cache.query.SqlFieldsQueryEx;
  import org.apache.ignite.internal.processors.odbc.ClientListenerProtocolVersion;
  import org.apache.ignite.internal.processors.odbc.ClientListenerRequest;