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 <[email protected]>
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;

Reply via email to