You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by tl...@apache.org on 2021/07/19 09:15:39 UTC

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

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

tledkov pushed a commit to branch sql-calcite
in repository https://gitbox.apache.org/repos/asf/ignite.git

commit 3a081e8267c55c2a8ab5ac8028030edbeef0efb3
Merge: 48dbf69 15bc764
Author: tledkov <tl...@gridgain.com>
AuthorDate: Mon Jul 19 11:17:09 2021 +0300

    Merge branch 'master' into sql-calcite
    
    # Conflicts:
    #	modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
    #	modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/CommandProcessor.java
    #	modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/QueryParser.java
    #	modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/SchemaManager.java

 .gitignore                                         |   10 +
 .travis.yml                                        |   22 +-
 RELEASE_NOTES.txt                                  |  105 +-
 bin/control.sh                                     |    2 +-
 bin/ignite-cdc.sh                                  |   27 +
 bin/include/build-classpath.sh                     |   26 +-
 bin/index-reader.bat                               |  222 +++
 bin/index-reader.sh                                |  152 ++
 config/ignite-log4j2.xml                           |    4 +-
 config/java.util.logging.properties                |    2 +-
 docs/_data/toc.yaml                                |    2 +
 docs/_docs/code-snippets/java/pom.xml              |    2 +-
 .../org/apache/ignite/snippets/JavaThinClient.java |   44 +-
 .../ignite/snippets/ReplacementPolicies.java       |   65 +
 .../java/org/apache/ignite/snippets/Snapshots.java |   11 +-
 docs/_docs/code-snippets/xml/log4j2-config.xml     |    4 +-
 .../memory-configuration/eviction-policies.adoc    |    2 +-
 .../memory-configuration/replacement-policies.adoc |   96 ++
 docs/_docs/monitoring-metrics/new-metrics.adoc     |   60 +
 .../monitoring-metrics/performance-statistics.adoc |   36 +-
 docs/_docs/monitoring-metrics/system-views.adoc    |   43 +
 docs/_docs/persistence/native-persistence.adoc     |    2 +
 docs/_docs/snapshots/snapshots.adoc                |   74 +-
 docs/_docs/thin-client-comparison.csv              |    3 +-
 docs/_docs/thin-clients/dotnet-thin-client.adoc    |    6 -
 docs/_docs/thin-clients/java-thin-client.adoc      |   23 +
 docs/_docs/tools/control-script.adoc               |   34 +
 examples/pom-standalone-lgpl.xml                   |    6 +
 examples/pom-standalone.xml                        |    6 +
 modules/azure/pom.xml                              |    7 -
 .../JmhPageLockTrackerBenchmark.java               |   18 +-
 .../benchmarks/jmh/tree/BPlusTreeBenchmark.java    |   39 +-
 .../ignite/common/NodeSslConnectionMetricTest.java |  448 ++++++
 .../client/suite/IgniteClientTestSuite.java        |    4 +-
 .../internal/jdbc2/JdbcMetadataSelfTest.java       |    6 +-
 .../ignite/jdbc/thin/JdbcThinMetadataSelfTest.java |   45 +-
 .../SystemViewRowAttributeWalkerGenerator.java     |   17 +
 .../persistence/FoldersReuseCompatibilityTest.java |   12 +-
 .../compress/CompressionProcessorTest.java         |    4 +-
 .../internal/commandline/ProgressPrinter.java      |  152 ++
 .../commandline/StringBuilderOutputStream.java     |   69 +
 .../commandline/argument/parser/CLIArgument.java   |   98 ++
 .../argument/parser/CLIArgumentParser.java         |  188 +++
 .../commandline/indexreader/CacheAwareLink.java    |   39 +
 .../commandline/indexreader/CountOnlyStorage.java  |   51 +
 .../commandline/indexreader/IgniteIndexReader.java | 1666 ++++++++++++++++++++
 .../IgniteIndexReaderFilePageStoreFactory.java     |  115 ++
 .../IgniteIndexReaderFilePageStoreFactoryImpl.java |  103 ++
 .../commandline/indexreader/IndexReaderUtils.java  |   95 ++
 .../commandline/indexreader/ItemCallback.java      |   26 +
 .../commandline/indexreader/ItemStorage.java       |   33 +
 .../commandline/indexreader/ItemsListStorage.java  |   52 +
 .../commandline/indexreader/LinkStorage.java       |   89 ++
 .../commandline/indexreader/PageCallback.java      |   26 +
 .../commandline/indexreader/PageContent.java       |   47 +
 .../commandline/indexreader/PageListsInfo.java     |   58 +
 .../internal/commandline/indexreader/TreeNode.java |   47 +
 .../commandline/indexreader/TreeTraversalInfo.java |   59 +
 .../indexreader/TreeTraverseContext.java           |   75 +
 .../commandline/snapshot/SnapshotCommand.java      |   77 +-
 .../commandline/snapshot/SnapshotSubcommand.java   |    8 +-
 .../indexreader/IgniteIndexReaderTest.java         | 1187 ++++++++++++++
 .../testsuites/IgniteControlUtilityTestSuite.java  |    5 +-
 .../util/GridCommandHandlerAbstractTest.java       |    8 +-
 .../util/GridCommandHandlerClusterByClassTest.java |    3 +-
 .../util/GridCommandHandlerIndexingTest.java       |    2 +-
 .../util/GridCommandHandlerMetadataTest.java       |  291 +++-
 .../apache/ignite/util/GridCommandHandlerTest.java |  184 ++-
 .../apache/ignite/util/SystemViewCommandTest.java  |   10 +-
 modules/core/pom.xml                               |    7 +
 .../main/java/org/apache/ignite/IgniteBinary.java  |    9 +
 .../java/org/apache/ignite/IgniteSnapshot.java     |    9 +
 .../org/apache/ignite/IgniteSystemProperties.java  |   34 +-
 .../org/apache/ignite/cache/CacheEntryVersion.java |   67 +
 .../rendezvous/RendezvousAffinityFunction.java     |    2 +
 .../org/apache/ignite/cdc/CdcConfiguration.java    |  101 ++
 .../java/org/apache/ignite/cdc/CdcConsumer.java    |   77 +
 .../main/java/org/apache/ignite/cdc/CdcEvent.java  |   79 +
 .../main/java/org/apache/ignite/cdc/CdcLoader.java |   75 +
 .../ignite/configuration/ClientConfiguration.java  |   20 +-
 .../configuration/DataStorageConfiguration.java    |  127 +-
 .../org/apache/ignite/internal/IgniteKernal.java   |    6 +-
 .../org/apache/ignite/internal/IgnitionEx.java     |   92 +-
 .../internal/binary/BinaryEnumObjectImpl.java      |    2 +-
 .../ignite/internal/binary/BinaryObjectImpl.java   |    2 +-
 .../query/index/sorted/inline/InlineIndexImpl.java |   15 +-
 .../ignite/internal/cdc/CdcConsumerState.java      |  114 ++
 .../apache/ignite/internal/cdc/CdcEventImpl.java   |  106 ++
 .../ignite/internal/cdc/CdcFileLockHolder.java     |   55 +
 .../org/apache/ignite/internal/cdc/CdcMain.java    |  556 +++++++
 .../ignite/internal/cdc/WalRecordsConsumer.java    |  174 ++
 .../GridClientConnectionManagerAdapter.java        |    2 +-
 .../client/router/impl/GridTcpRouterImpl.java      |    2 +-
 .../ignite/internal/client/thin/ClientBinary.java  |    8 +
 .../GridNioClientConnectionMultiplexer.java        |    2 +-
 .../commandline/meta/tasks/MetadataInfoTask.java   |   13 +-
 .../internal/dto/IgniteDataTransferObject.java     |    2 +-
 .../managers/discovery/GridDiscoveryManager.java   |   98 +-
 .../managers/encryption/CacheGroupPageScanner.java |    2 +
 .../managers/encryption/GridEncryptionManager.java |   22 +-
 .../managers/indexing/IndexesRebuildTask.java      |    4 +
 .../walker/BaselineNodeAttributeViewWalker.java    |   67 +
 .../systemview/walker/BaselineNodeViewWalker.java  |   46 +
 .../systemview/walker/CacheGroupIoViewWalker.java  |   50 +
 .../systemview/walker/NodeAttributeViewWalker.java |   68 +
 .../systemview/walker/NodeMetricsViewWalker.java   |  158 ++
 .../systemview/walker/SqlQueryViewWalker.java      |   12 +-
 .../ignite/internal/pagemem/PageIdAllocator.java   |   19 +-
 .../ignite/internal/pagemem/PageIdUtils.java       |   25 +-
 .../apache/ignite/internal/pagemem/PageMemory.java |    6 +
 .../pagemem/impl/PageMemoryNoStoreImpl.java        |  123 +-
 .../pagemem/store/IgnitePageStoreManager.java      |    6 +-
 .../pagemem/wal/IgniteWriteAheadLogManager.java    |    7 +-
 .../internal/pagemem/wal/record/DataEntry.java     |   60 +-
 .../internal/pagemem/wal/record/DataRecord.java    |    2 +-
 .../wal/record/IndexRenameRootPageRecord.java      |  158 ++
 .../internal/pagemem/wal/record/LazyDataEntry.java |    6 +-
 .../internal/pagemem/wal/record/MvccDataEntry.java |    2 +-
 .../pagemem/wal/record/UnwrapDataEntry.java        |    6 +-
 .../internal/pagemem/wal/record/WALRecord.java     |   29 +-
 .../wal/record/delta/InitNewPageRecord.java        |    8 +-
 .../wal/record/delta/MetaPageInitRecord.java       |    5 +-
 .../wal/record/delta/NewRootInitRecord.java        |    5 +-
 .../record/delta/PagesListInitNewPageRecord.java   |    5 +-
 .../processors/cache/CacheGroupContext.java        |    8 +-
 .../processors/cache/CacheGroupMetricsImpl.java    |   72 +-
 .../internal/processors/cache/CacheObject.java     |    3 +
 .../processors/cache/CacheObjectAdapter.java       |   23 +-
 .../processors/cache/CacheObjectByteArrayImpl.java |    2 +-
 .../processors/cache/GridCacheAdapter.java         |   13 +-
 .../processors/cache/GridCacheEntryEx.java         |   14 +-
 .../processors/cache/GridCacheMapEntry.java        |   39 +-
 .../processors/cache/GridCacheProcessor.java       |  133 +-
 .../internal/processors/cache/GridCacheUtils.java  |   14 +-
 .../cache/IgniteCacheOffheapManager.java           |   17 +
 .../cache/IgniteCacheOffheapManagerImpl.java       |   10 +
 .../binary/CacheObjectBinaryProcessorImpl.java     |    8 +
 .../processors/cache/binary/IgniteBinaryImpl.java  |   12 +
 .../distributed/GridCacheTxRecoveryFuture.java     |    7 +-
 .../GridDistributedTxRemoteAdapter.java            |    7 +-
 .../cache/distributed/dht/GridDhtCacheAdapter.java |    1 +
 .../cache/distributed/dht/GridDhtLockFuture.java   |   11 +-
 .../distributed/dht/GridDhtTxPrepareFuture.java    |   20 +-
 .../dht/colocated/GridDhtColocatedLockFuture.java  |    7 +-
 .../dht/colocated/GridDhtDetachedCacheEntry.java   |    6 +-
 .../dht/preloader/GridDhtForceKeysFuture.java      |    1 +
 .../dht/preloader/GridDhtPartitionDemander.java    |   28 +-
 .../dht/preloader/GridDhtPartitionSupplier.java    |    3 +-
 .../preloader/GridDhtPartitionsExchangeFuture.java |   28 +-
 .../dht/preloader/GridDhtPreloader.java            |   16 +-
 .../cache/distributed/near/GridNearCacheEntry.java |    7 +-
 .../cache/distributed/near/GridNearLockFuture.java |    7 +-
 ...dNearOptimisticSerializableTxPrepareFuture.java |    7 +-
 .../near/GridNearOptimisticTxPrepareFuture.java    |   21 +-
 .../near/GridNearPessimisticTxPrepareFuture.java   |    7 +-
 .../distributed/near/GridNearTxFinishFuture.java   |   19 +-
 .../near/GridNearTxQueryEnlistFuture.java          |   13 +-
 .../processors/cache/mvcc/MvccProcessorImpl.java   |    8 +-
 .../processors/cache/mvcc/txlog/TxLog.java         |   17 +-
 .../processors/cache/persistence/DataRegion.java   |   12 +-
 .../cache/persistence/DataRegionMetricsImpl.java   |  289 +++-
 .../persistence/DataRegionMetricsMXBeanImpl.java   |   11 +-
 .../cache/persistence/DataStructure.java           |    8 +
 .../cache/persistence/FileLockHolder.java          |  202 +++
 .../GridCacheDatabaseSharedManager.java            |  408 ++---
 .../cache/persistence/GridCacheOffheapManager.java |   35 +-
 .../IgniteCacheDatabaseSharedManager.java          |  116 +-
 .../processors/cache/persistence/IndexStorage.java |   17 +
 .../cache/persistence/IndexStorageImpl.java        |   74 +-
 .../persistence/checkpoint/CheckpointHistory.java  |    2 +-
 .../checkpoint/CheckpointHistoryResult.java        |   25 +-
 .../cache/persistence/checkpoint/Checkpointer.java |    4 +-
 .../persistence/defragmentation/PageStoreMap.java  |    2 +-
 .../diagnostic/pagelocktracker/DumpProcessor.java  |   41 -
 .../diagnostic/pagelocktracker/DumpSupported.java  |    9 -
 .../pagelocktracker/LockTrackerFactory.java        |  112 --
 .../pagelocktracker/MemoryCalculator.java          |   70 +
 .../diagnostic/pagelocktracker/PageLockDump.java   |   54 +-
 .../pagelocktracker/PageLockThreadState.java       |   58 +
 .../pagelocktracker/PageLockTracker.java           |    8 -
 .../pagelocktracker/PageLockTrackerFactory.java    |  111 ++
 .../pagelocktracker/PageLockTrackerMXBeanImpl.java |    2 -
 .../pagelocktracker/PageLockTrackerManager.java    |   65 +-
 .../pagelocktracker/SharedPageLockTracker.java     |  143 +-
 .../pagelocktracker/SharedPageLockTrackerDump.java |   52 +
 .../pagelocktracker/ThreadPageLockState.java       |   51 +
 .../pagelocktracker/ThreadPageLocksDumpLock.java   |   96 --
 .../dumpprocessors/ToFileDumpProcessor.java        |   12 +-
 .../dumpprocessors/ToStringDumpHelper.java         |   58 +
 .../dumpprocessors/ToStringDumpProcessor.java      |  436 +++--
 .../diagnostic/pagelocktracker/log/LockLog.java    |   36 +-
 .../diagnostic/pagelocktracker/log/LogEntry.java   |   43 +
 .../pagelocktracker/log/PageLockLogSnapshot.java   |  112 +-
 .../pagelocktracker/stack/LockStack.java           |    8 +-
 .../stack/PageLockStackSnapshot.java               |   45 +-
 .../store/HeapPageMetaInfoStore.java               |   38 +-
 .../store/OffHeapPageMetaInfoStore.java            |   50 +-
 .../persistence/file/FilePageStoreManager.java     |   28 +-
 .../filename/PdsConsistentIdProcessor.java         |  481 +-----
 .../persistence/filename/PdsFolderResolver.java    |  528 +++++++
 .../persistence/filename/PdsFolderSettings.java    |   10 +-
 .../persistence/filename/PdsFoldersResolver.java   |    3 +-
 .../persistence/freelist/AbstractFreeList.java     |   18 +-
 .../cache/persistence/freelist/CacheFreeList.java  |   10 +-
 .../cache/persistence/freelist/PagesList.java      |   12 +-
 .../persistence/freelist/io/PagesListMetaIO.java   |    5 +-
 .../persistence/freelist/io/PagesListNodeIO.java   |    7 +-
 .../cache/persistence/metastorage/MetaStorage.java |   29 +-
 .../cache/persistence/pagemem/PageMemoryImpl.java  |  129 +-
 .../cache/persistence/pagemem/PageMetrics.java     |   40 +
 .../cache/persistence/pagemem/PageMetricsImpl.java |  134 ++
 .../pagemem/PagesWriteSpeedBasedThrottle.java      |   12 +-
 .../partstorage/PartitionMetaStorageImpl.java      |   10 +-
 .../snapshot/IgniteSnapshotManager.java            |  184 ++-
 .../snapshot/SnapshotPartitionsVerifyTask.java     |   34 +-
 .../snapshot/SnapshotPartitionsVerifyTaskArg.java  |   87 +
 .../SnapshotPartitionsVerifyTaskResult.java        |   94 ++
 .../snapshot/SnapshotRestoreCancelTask.java        |   47 +
 .../snapshot/SnapshotRestoreManagementTask.java    |   73 +
 .../snapshot/SnapshotRestoreProcess.java           |  204 ++-
 .../snapshot/SnapshotRestoreStatusTask.java        |   47 +
 .../cache/persistence/tree/BPlusTree.java          |    5 +-
 .../persistence/tree/io/AbstractDataPageIO.java    |    5 +-
 .../cache/persistence/tree/io/BPlusIO.java         |   10 +-
 .../cache/persistence/tree/io/BPlusInnerIO.java    |    6 +-
 .../cache/persistence/tree/io/PageIO.java          |   61 +-
 .../cache/persistence/tree/io/PageMetaIO.java      |    5 +-
 .../cache/persistence/tree/io/PageMetaIOV2.java    |    5 +-
 .../tree/io/PagePartitionCountersIO.java           |    5 +-
 .../persistence/tree/io/PagePartitionMetaIO.java   |    5 +-
 .../persistence/tree/io/PagePartitionMetaIOV2.java |    5 +-
 .../persistence/tree/io/PagePartitionMetaIOV3.java |    5 +-
 .../cache/persistence/tree/util/PageHandler.java   |    5 +-
 .../wal/AbstractWalRecordsIterator.java            |    3 +
 .../persistence/wal/FileWriteAheadLogManager.java  |  219 ++-
 .../wal/aware/SegmentArchiveSizeStorage.java       |  161 +-
 .../cache/persistence/wal/aware/SegmentAware.java  |   48 +-
 .../wal/aware/SegmentReservationStorage.java       |   50 +-
 .../wal/reader/StandaloneWalRecordsIterator.java   |    7 +-
 .../wal/serializer/RecordDataV1Serializer.java     |   62 +-
 .../wal/serializer/RecordDataV2Serializer.java     |   12 +-
 .../cache/store/GridCacheWriteBehindStore.java     |   25 +-
 .../cache/transactions/IgniteTxLocalAdapter.java   |    5 +-
 .../cache/transactions/IgniteTxManager.java        |   14 -
 .../processors/cache/tree/AbstractDataLeafIO.java  |    2 +-
 .../cache/tree/CacheIdAwareDataLeafIO.java         |    2 +-
 .../tree/mvcc/data/MvccCacheIdAwareDataLeafIO.java |    2 +-
 .../cache/verify/IdleVerifyResultV2.java           |   73 +-
 .../cache/verify/VerifyBackupPartitionsTaskV2.java |   53 +-
 .../processors/cache/version/GridCacheVersion.java |   31 +-
 .../cache/version/GridCacheVersionEx.java          |    6 +
 .../cache/version/GridCacheVersionManager.java     |    5 +
 .../cacheobject/IgniteCacheObjectProcessor.java    |   10 +
 .../processors/cacheobject/NoOpBinary.java         |    5 +
 .../cluster/GridClusterStateProcessor.java         |   96 ++
 .../processors/datastreamer/DataStreamerImpl.java  |   42 +-
 .../processors/metric/GridMetricManager.java       |   13 +
 .../internal/processors/metric/MetricRegistry.java |    5 +-
 .../processors/metric/impl/LongAdderMetric.java    |   13 +-
 .../metric/impl/LongAdderWithDelegateMetric.java   |   39 +-
 .../processors/metric/impl/MetricUtils.java        |    9 +
 .../processors/odbc/ClientListenerProcessor.java   |    6 +-
 .../processors/platform/PlatformProcessorImpl.java |    3 +
 .../platform/client/ClientMessageParser.java       |   15 +
 .../platform/client/ClientRequestHandler.java      |   31 +-
 .../processors/platform/client/ClientStatus.java   |    3 +
 .../platform/client/cache/ClientCacheRequest.java  |    2 +-
 .../client/cache/ClientCacheScanQueryRequest.java  |    2 +-
 .../streamer/ClientDataStreamerAddDataRequest.java |   85 +
 .../client/streamer/ClientDataStreamerFlags.java   |   38 +
 .../client/streamer/ClientDataStreamerHandle.java  |   56 +
 .../client/streamer/ClientDataStreamerReader.java  |   77 +
 .../client/streamer/ClientDataStreamerRequest.java |   47 +
 .../streamer/ClientDataStreamerStartRequest.java   |  178 +++
 .../platform/utils/PlatformConfigurationUtils.java |    4 +-
 .../processors/query/IndexRebuildAware.java        |  145 --
 .../query/aware/IndexBuildStatusHolder.java        |  174 ++
 .../query/aware/IndexBuildStatusStorage.java       |  352 +++++
 .../query/aware/IndexRebuildCacheInfo.java         |   80 +
 .../query/aware/IndexRebuildFutureStorage.java     |  145 ++
 .../schema/SchemaIndexCachePartitionWorker.java    |    9 +-
 .../query/stat/IgniteStatisticsManager.java        |   89 ++
 .../processors/query/stat/ObjectStatistics.java    |   23 +
 .../processors/query/stat/StatisticsKey.java       |   83 +
 .../processors/query/stat/StatisticsTarget.java    |  103 ++
 .../query/stat/StatisticsUsageState.java           |  104 ++
 .../stat/config/StatisticsColumnConfiguration.java |  208 +++
 .../stat/config/StatisticsColumnOverrides.java     |  112 ++
 .../stat/config/StatisticsObjectConfiguration.java |  278 ++++
 .../processors/resource/GridResourceIoc.java       |    2 +-
 .../rest/protocols/tcp/GridTcpRestProtocol.java    |   14 +-
 .../org/apache/ignite/internal/sql/SqlKeyword.java |    6 +
 .../org/apache/ignite/internal/sql/SqlParser.java  |   51 +
 .../internal/sql/command/SqlAnalyzeCommand.java    |  194 +++
 .../sql/command/SqlDropStatisticsCommand.java      |   25 +
 .../sql/command/SqlRefreshStatitsicsCommand.java   |   25 +
 .../sql/command/SqlStatisticsCommands.java         |  129 ++
 .../ignite/internal/util/GridJavaProcess.java      |   23 +-
 .../apache/ignite/internal/util/IgniteUtils.java   |  139 ++
 .../internal/util/collection/IntHashMap.java       |   20 +-
 .../ignite/internal/util/collection/IntMap.java    |    5 +-
 .../internal/util/collection/IntRWHashMap.java     |    3 +-
 .../internal/util/function/ThrowableFunction.java  |   37 +
 .../internal/util/future/GridCompoundFuture.java   |  117 +-
 .../ignite/internal/util/nio/GridNioServer.java    |   14 +
 .../internal/util/nio/ssl/GridNioSslFilter.java    |   56 +-
 .../internal/visor/VisorDataTransferObject.java    |    3 +
 .../visor/diagnostic/VisorPageLocksTask.java       |    4 +-
 .../visor/node/VisorDataStorageConfiguration.java  |   17 +-
 .../visor/node/VisorGridConfiguration.java         |    2 +-
 .../visor/node/VisorPersistenceMetrics.java        |    2 +-
 .../visor/snapshot/VisorSnapshotRestoreTask.java   |  121 ++
 .../snapshot/VisorSnapshotRestoreTaskAction.java   |   48 +
 .../snapshot/VisorSnapshotRestoreTaskArg.java      |   98 ++
 .../ignite/internal/visor/tx/VisorTxInfo.java      |    2 +-
 .../visor/verify/VisorIdleVerifyTaskArg.java       |    2 +-
 .../logger/LoggerNodeIdAndApplicationAware.java    |   39 +
 .../apache/ignite/logger/LoggerNodeIdAware.java    |    3 +
 .../org/apache/ignite/logger/java/JavaLogger.java  |    8 +-
 .../ignite/logger/java/JavaLoggerFileHandler.java  |   18 +-
 .../ignite/plugin/security/SecurityPermission.java |    8 +-
 .../security/SecurityPermissionSetBuilder.java     |    3 +-
 .../tcp/internal/GridNioServerWrapper.java         |    9 +-
 .../ignite/spi/discovery/tcp/ServerImpl.java       |    5 +-
 .../ignite/spi/discovery/tcp/TcpDiscoverySpi.java  |    2 +
 .../tcp/internal/TcpDiscoveryStatistics.java       |   15 +
 .../systemview/view/BaselineNodeAttributeView.java |   74 +
 .../spi/systemview/view/BaselineNodeView.java      |   58 +
 .../spi/systemview/view/CacheGroupIoView.java      |   82 +
 .../spi/systemview/view/NodeAttributeView.java     |   75 +
 .../spi/systemview/view/NodeMetricsView.java       |  556 +++++++
 .../startup/cmdline/CdcCommandLineStartup.java     |  164 ++
 .../ignite/startup/cmdline/CommandLineStartup.java |    2 +-
 .../main/resources/META-INF/classnames.properties  |    6 +
 modules/core/src/test/config/log4j2-test.xml       |    4 +-
 .../core/src/test/config/log4j2-verbose-test.xml   |    4 +-
 .../java/org/apache/ignite/TestStorageUtils.java   |    3 +-
 .../ReleaseSegmentOnHistoricalRebalanceTest.java   |  408 +++++
 .../org/apache/ignite/cdc/AbstractCdcTest.java     |  252 +++
 .../org/apache/ignite/cdc/CdcCacheVersionTest.java |  230 +++
 .../java/org/apache/ignite/cdc/CdcSelfTest.java    |  414 +++++
 .../apache/ignite/client/SslParametersTest.java    |   14 +-
 .../internal/ClusterNodeMetricsSelfTest.java       |    2 +-
 .../client/thin/AbstractThinClientTest.java        |    2 +-
 .../internal/client/thin/ReliableChannelTest.java  |    8 +-
 .../encryption/CacheGroupReencryptionTest.java     |   40 +
 .../internal/metric/CacheMetricsAddRemoveTest.java |   86 +-
 .../metric/MetricsClusterActivationTest.java       |  220 +++
 .../internal/metric/SystemViewComputeJobTest.java  |   14 +-
 .../ignite/internal/metric/SystemViewSelfTest.java |  204 ++-
 .../pagemem/impl/PageMemoryNoLoadSelfTest.java     |   12 +-
 .../DataStorageConfigurationValidationTest.java    |   72 +-
 .../processors/cache/GridCacheTestEntryEx.java     |    3 +-
 .../IgniteCachePutKeyAttachedBinaryObjectTest.java |  177 +++
 ...IgniteMarshallerCacheSeparateDirectoryTest.java |  214 +++
 .../binary/BinaryMetadataRegisterClassTest.java    |  165 ++
 .../cache/consistency/AbstractReadRepairTest.java  |    1 +
 .../IgniteSequenceInternalCleanupTest.java         |    4 +-
 .../distributed/CacheBaselineTopologyTest.java     |   11 +-
 ...ebalanceTwoPartsInDifferentCheckpointsTest.java |  158 ++
 ...acheRebalancingUnmarshallingFailedSelfTest.java |   22 +-
 .../eviction/paged/PageEvictionMetricTest.java     |    2 +-
 .../IgniteCacheDatabaseSharedManagerSelfTest.java  |   70 +
 .../IgnitePdsRecoveryAfterFileCorruptionTest.java  |    2 +-
 .../IgnitePdsSporadicDataRecordsOnBackupTest.java  |    2 +-
 .../persistence/IgnitePdsTaskCancelingTest.java    |    2 +-
 .../RestorePartitionStateDuringCheckpointTest.java |  139 ++
 .../db/IgniteLogicalRecoveryWithParamsTest.java    |    9 +-
 .../db/IgnitePdsDataRegionMetricsTest.java         |    4 +-
 ...CheckpointSimulationWithRealCpDisabledTest.java |   10 +-
 .../db/file/IgnitePdsPageReplacementTest.java      |    2 +-
 .../IgniteUidAsConsistentIdMigrationTest.java      |   14 +-
 .../IgniteWalIteratorExceptionDuringReadTest.java  |   35 +-
 .../persistence/db/wal/IgniteWalRebalanceTest.java |   52 +-
 .../db/wal/WalArchiveSizeConfigurationTest.java    |   59 +-
 .../persistence/db/wal/WalCompactionTest.java      |    2 +-
 .../db/wal/WalRecoveryTxLogicalRecordsTest.java    |   24 +-
 .../db/wal/reader/IgniteWalReaderTest.java         |  267 +++-
 .../persistence/defragmentation/LinkMapTest.java   |   18 +-
 .../PageLockTrackerManagerTest.java                |    8 +-
 .../pagelocktracker/SharedPageLockTrackerTest.java |   56 +-
 .../dumpprocessors/ToFileDumpProcessorTest.java    |   11 +-
 .../dumpprocessors/ToStringDumpHelperTest.java     |   75 +
 .../pagelocktracker/log/HeapArrayLockLogTest.java  |    6 +-
 .../pagelocktracker/log/OffHeapLockLogTest.java    |    6 +-
 .../pagelocktracker/log/PageLockLogTest.java       |    5 +-
 .../stack/HeapArrayLockStackTest.java              |    6 +-
 .../stack/OffHeapLockStackTest.java                |    6 +-
 .../pagelocktracker/stack/PageLockStackTest.java   |    6 +-
 .../pagemem/BPlusTreePageMemoryImplTest.java       |    7 +-
 .../BPlusTreeReuseListPageMemoryImplTest.java      |    7 +-
 .../IgnitePageMemReplaceDelayedWriteUnitTest.java  |   45 +-
 .../pagemem/IgniteThrottlingUnitTest.java          |   29 +-
 .../pagemem/IndexStoragePageMemoryImplTest.java    |   13 +-
 .../persistence/pagemem/NoOpPageStoreManager.java  |    3 +-
 .../cache/persistence/pagemem/NoOpWALManager.java  |    2 +-
 .../pagemem/PageMemoryImplNoLoadTest.java          |   20 +-
 .../persistence/pagemem/PageMemoryImplTest.java    |  138 +-
 .../pagemem/PageMemoryNoStoreLeakTest.java         |    8 +-
 .../snapshot/AbstractSnapshotSelfTest.java         |    2 +-
 .../snapshot/IgniteClusterSnapshotCheckTest.java   |  150 +-
 .../IgniteClusterSnapshotRestoreBaseTest.java      |    3 -
 .../snapshot/IgniteClusterSnapshotSelfTest.java    |    2 +-
 .../wal/FileWriteAheadLogManagerSelfTest.java      |   52 +
 .../persistence/wal/WalArchiveConsistencyTest.java |    4 +-
 .../persistence/wal/aware/SegmentAwareTest.java    |  328 +++-
 .../wal/memtracker/PageMemoryTracker.java          |   58 +-
 .../persistence/wal/scanner/WalScannerTest.java    |    2 +-
 .../cache/query/CacheDataPageScanQueryTest.java    |    2 +-
 .../store/GridCacheWriteBehindStoreSelfTest.java   |   42 +-
 .../TxRollbackAsyncWithPersistenceTest.java        |   14 -
 .../processors/cluster/BaselineAutoAdjustTest.java |    7 +-
 .../processors/database/BPlusTreeSelfTest.java     |    4 +-
 .../processors/database/CacheFreeListSelfTest.java |   18 +-
 .../database/DataRegionMetricsSelfTest.java        |   18 +-
 .../processors/database/IndexStorageSelfTest.java  |    5 +-
 .../DurableBackgroundTasksProcessorSelfTest.java   |   27 -
 .../metastorage/DistributedMetaStorageTest.java    |    4 +-
 .../persistence/ReadWriteMetaStorageMock.java      |    2 +-
 .../internal/sql/SqlParserAnalyzeSelfTest.java     |   97 ++
 .../sql/SqlParserDropStatisticsSelfTest.java       |   78 +
 .../sql/SqlParserRefreshStatisticsSelfTest.java    |   82 +
 .../ignite/internal/util/IgniteUtilsSelfTest.java  |   28 +
 .../internal/util/collection/IntHashMapTest.java   |   66 +-
 .../internal/util/nio/GridNioSslSelfTest.java      |    2 +-
 .../apache/ignite/logger/java/JavaLoggerTest.java  |   20 +-
 .../ignite/platform/PlatformStartIgniteUtils.java  |   76 +
 .../ignite/plugin/AbstractCachePluginProvider.java |   70 +
 .../security/SecurityPermissionSetBuilderTest.java |    4 +-
 .../apache/ignite/testframework/GridTestUtils.java |   17 +
 .../junits/common/GridCommonAbstractTest.java      |   46 +-
 .../logger/GridLog4jRollingFileAppender.java       |    8 +-
 .../junits/logger/GridTestLog4jLogger.java         |   10 +-
 .../testframework/wal/record/RecordUtils.java      |   27 +
 .../ignite/testsuites/IgniteBasicTestSuite.java    |    4 +
 .../testsuites/IgniteBinaryObjectsTestSuite.java   |    2 +
 .../ignite/testsuites/IgniteCacheTestSuite8.java   |    3 +
 .../ignite/testsuites/IgnitePdsMvccTestSuite4.java |    2 +
 .../ignite/testsuites/IgnitePdsTestSuite.java      |    5 +
 .../ignite/testsuites/IgnitePdsTestSuite2.java     |    9 +
 .../ignite/testsuites/IgnitePdsTestSuite4.java     |    4 +
 ...ridCommandHandlerClusterByClassTest_help.output |   19 +
 ...andHandlerClusterByClassWithSSLTest_help.output |   19 +
 .../ignite/development/utils/DataEntryWrapper.java |    3 +-
 .../apache/ignite/development/utils/WalStat.java   |    4 +-
 .../utils/IgniteWalConverterArgumentsTest.java     |    4 +-
 .../utils/IgniteWalConverterSensitiveDataTest.java |    3 +-
 .../development/utils/IgniteWalConverterTest.java  |    4 +-
 modules/ducktests/README.md                        |  126 ++
 modules/ducktests/licenses/apache-2.0.txt          |  202 +++
 modules/ducktests/pom.xml                          |  220 +++
 .../tests/ContinuousDataLoadApplication.java       |  170 ++
 .../authentication/UserModifyingApplication.java   |   61 +
 .../CellularAffinityBackupFilter.java              |   59 +
 .../CellularPreparedTxStreamer.java                |  153 ++
 .../cellular_affinity_test/CellularTxStreamer.java |  135 ++
 .../DistributionChecker.java                       |   55 +
 .../tests/client_test/IgniteCachePutClient.java    |   63 +
 .../LongRunningTransactionsGenerator.java          |  157 ++
 .../DataLoaderAndCheckerApplication.java           |  121 ++
 .../LongTxStreamerApplication.java                 |  113 ++
 .../SingleKeyTxStreamerApplication.java            |   74 +
 .../tests/rebalance/DataGenerationApplication.java |   90 ++
 .../tests/self_test/TestKillableApplication.java   |   39 +
 .../self_test/TestSelfKillableApplication.java     |   36 +
 .../tests/smoke_test/AssertionApplication.java     |   35 +
 .../tests/smoke_test/SimpleApplication.java        |   50 +
 .../tests/snapshot_test/DataLoaderApplication.java |   65 +
 .../ThinClientSelfTestApplication.java             |   44 +
 .../ducktest/utils/IgniteAwareApplication.java     |  322 ++++
 .../utils/IgniteAwareApplicationService.java       |  112 ++
 .../ducktests/src/main/resources/log4j.properties  |   25 +
 modules/ducktests/tests/MANIFEST.in                |   16 +
 modules/ducktests/tests/certs/functions.sh         |  110 ++
 modules/ducktests/tests/certs/mkcerts.sh           |   36 +
 .../ducktests/tests/checks/utils/check_cluster.py  |  106 ++
 .../tests/checks/utils/check_enum_constructible.py |   73 +
 .../utils/check_get_credentials_from_globals.py    |   51 +
 .../utils/check_get_ssl_params_from_globals.py     |  129 ++
 .../tests/checks/utils/check_jvm_settings.py       |   78 +
 .../tests/checks/utils/check_parametrized.py       |  269 ++++
 .../ducktests/tests/checks/utils/check_version.py  |  101 ++
 modules/ducktests/tests/docker/Dockerfile          |  100 ++
 modules/ducktests/tests/docker/clean_up.sh         |   19 +
 modules/ducktests/tests/docker/ducker-ignite       |  660 ++++++++
 .../ducktests/tests/docker/requirements-dev.txt    |   19 +
 modules/ducktests/tests/docker/requirements.txt    |   16 +
 modules/ducktests/tests/docker/run_tests.sh        |  164 ++
 modules/ducktests/tests/docker/ssh-config          |   21 +
 modules/ducktests/tests/docker/ssh/authorized_keys |   15 +
 modules/ducktests/tests/docker/ssh/config          |   21 +
 modules/ducktests/tests/docker/ssh/id_rsa          |   27 +
 modules/ducktests/tests/docker/ssh/id_rsa.pub      |    1 +
 modules/ducktests/tests/ignitetest/__init__.py     |   23 +
 .../tests/ignitetest/services/__init__.py          |   14 +
 .../ducktests/tests/ignitetest/services/ignite.py  |   33 +
 .../tests/ignitetest/services/ignite_app.py        |  113 ++
 .../services/ignite_execution_exception.py         |   24 +
 .../ducktests/tests/ignitetest/services/spark.py   |  177 +++
 .../tests/ignitetest/services/utils/__init__.py    |   31 +
 .../ignitetest/services/utils/auth/__init__.py     |   46 +
 .../ignitetest/services/utils/background_thread.py |  113 ++
 .../tests/ignitetest/services/utils/concurrent.py  |   90 ++
 .../ignitetest/services/utils/config_template.py   |   82 +
 .../ignitetest/services/utils/control_utility.py   |  457 ++++++
 .../tests/ignitetest/services/utils/decorators.py  |   40 +
 .../ignitetest/services/utils/ducktests_service.py |   58 +
 .../ignitetest/services/utils/ignite_aware.py      |  590 +++++++
 .../utils/ignite_configuration/__init__.py         |  156 ++
 .../ignite_configuration/binary_configuration.py   |   27 +
 .../services/utils/ignite_configuration/cache.py   |   29 +
 .../utils/ignite_configuration/communication.py    |   45 +
 .../utils/ignite_configuration/data_storage.py     |   39 +
 .../utils/ignite_configuration/discovery.py        |  146 ++
 .../tests/ignitetest/services/utils/ignite_spec.py |  292 ++++
 .../tests/ignitetest/services/utils/jmx_utils.py   |  203 +++
 .../tests/ignitetest/services/utils/jvm_utils.py   |  102 ++
 .../tests/ignitetest/services/utils/log_utils.py   |   42 +
 .../tests/ignitetest/services/utils/path.py        |  237 +++
 .../ignitetest/services/utils/ssl/__init__.py      |   14 +
 .../utils/ssl/client_connector_configuration.py    |   38 +
 .../services/utils/ssl/connector_configuration.py  |   32 +
 .../ignitetest/services/utils/ssl/ssl_params.py    |   98 ++
 .../services/utils/templates/cache_macro.j2        |   34 +
 .../utils/templates/communication_macro.j2         |   25 +
 .../utils/templates/connector_configuration.j2     |   30 +
 .../services/utils/templates/datastorage_macro.j2  |   49 +
 .../services/utils/templates/discovery_macro.j2    |   71 +
 .../services/utils/templates/ignite.xml.j2         |  135 ++
 .../services/utils/templates/log4j.xml.j2          |   63 +
 .../services/utils/templates/misc_macro.j2         |   46 +
 .../services/utils/templates/ssl_params_macro.j2   |   33 +
 .../utils/templates/thin_client_config.xml.j2      |   44 +
 .../tests/ignitetest/services/utils/time_utils.py  |   28 +
 .../tests/ignitetest/services/zk/__init__.py       |   14 +
 .../services/zk/templates/log4j.properties.j2      |   33 +
 .../services/zk/templates/zookeeper.properties.j2  |   29 +
 .../tests/ignitetest/services/zk/zookeeper.py      |  172 ++
 .../ducktests/tests/ignitetest/tests/__init__.py   |   71 +
 .../ducktests/tests/ignitetest/tests/auth_test.py  |  124 ++
 .../ignitetest/tests/cellular_affinity_test.py     |  334 ++++
 .../tests/ignitetest/tests/client_test.py          |  159 ++
 .../ignitetest/tests/control_utility/__init__.py   |   18 +
 .../tests/control_utility/baseline_test.py         |  206 +++
 .../ignitetest/tests/control_utility/tx_test.py    |  191 +++
 .../tests/ignitetest/tests/discovery_test.py       |  374 +++++
 .../ignitetest/tests/persistence_upgrade_test.py   |   66 +
 .../tests/ignitetest/tests/pme_free_switch_test.py |  136 ++
 .../tests/ignitetest/tests/rebalance/__init__.py   |   18 +
 .../ignitetest/tests/rebalance/in_memory_test.py   |  112 ++
 .../ignitetest/tests/rebalance/persistent_test.py  |  246 +++
 .../tests/ignitetest/tests/rebalance/util.py       |  324 ++++
 .../ducktests/tests/ignitetest/tests/self_test.py  |  164 ++
 .../ducktests/tests/ignitetest/tests/smoke_test.py |   87 +
 .../tests/ignitetest/tests/snapshot_test.py        |  101 ++
 .../ducktests/tests/ignitetest/tests/ssl_test.py   |   76 +
 .../tests/ignitetest/tests/suites/fast_suite.yml   |   34 +
 .../tests/ignitetest/tests/suites/slow_suite.yml   |   20 +
 .../tests/ignitetest/tests/thin_client_test.py     |   63 +
 .../ducktests/tests/ignitetest/utils/__init__.py   |   22 +
 modules/ducktests/tests/ignitetest/utils/_mark.py  |  233 +++
 modules/ducktests/tests/ignitetest/utils/enum.py   |   66 +
 .../tests/ignitetest/utils/ignite_test.py          |   76 +
 .../ducktests/tests/ignitetest/utils/version.py    |  101 ++
 modules/ducktests/tests/setup.py                   |   34 +
 modules/ducktests/tests/tox.ini                    |   65 +
 .../cache/PlatformTestCachePluginProvider.java     |   49 +-
 modules/extdata/uri/pom.xml                        |   59 +-
 .../HibernateL2CacheTransactionalSelfTest.java     |    3 +-
 .../HibernateL2CacheTransactionalSelfTest.java     |    3 +-
 .../HibernateL2CacheTransactionalSelfTest.java     |    3 +-
 modules/indexing/pom.xml                           |    7 +
 .../StatisticsColumnConfigurationViewWalker.java   |   87 +
 .../StatisticsColumnLocalDataViewWalker.java       |   90 ++
 .../StatisticsColumnPartitionDataViewWalker.java   |   96 ++
 .../processors/query/h2/IgniteH2Indexing.java      |   16 +
 .../query/h2/database/H2TreeIndexBase.java         |    2 +-
 .../query/h2/index/QueryIndexDefinition.java       |    6 +-
 .../processors/query/h2/opt/GridH2ProxyIndex.java  |    2 +-
 .../processors/query/h2/opt/GridH2Table.java       |   18 +
 .../processors/query/h2/opt/H2IndexCostedBase.java |  510 +++++-
 .../h2/sys/view/SqlSystemViewBaselineNodes.java    |   88 --
 .../view/SqlSystemViewCacheGroupsIOStatistics.java |  124 --
 .../h2/sys/view/SqlSystemViewNodeAttributes.java   |  108 --
 .../h2/sys/view/SqlSystemViewNodeMetrics.java      |  211 ---
 .../query/h2/twostep/GridMapQueryExecutor.java     |    9 +-
 .../query/h2/twostep/GridReduceQueryExecutor.java  |    4 +-
 .../h2/twostep/PartitionReservationManager.java    |    5 +-
 .../processors/query/stat/ColumnStatistics.java    |  182 +++
 .../query/stat/ColumnStatisticsCollector.java      |  274 ++++
 .../query/stat/GatherStatisticCancelException.java |   28 +
 .../internal/processors/query/stat/Hasher.java     |  233 +++
 .../stat/IgniteStatisticsConfigurationManager.java |  821 ++++++++++
 .../query/stat/IgniteStatisticsDummyStoreImpl.java |  127 ++
 .../query/stat/IgniteStatisticsHelper.java         |  212 +++
 .../stat/IgniteStatisticsInMemoryStoreImpl.java    |  213 +++
 .../query/stat/IgniteStatisticsManagerImpl.java    |  409 +++++
 .../stat/IgniteStatisticsPersistenceStoreImpl.java |  665 ++++++++
 .../query/stat/IgniteStatisticsRepository.java     |  657 ++++++++
 .../query/stat/IgniteStatisticsStore.java          |  120 ++
 .../stat/LocalStatisticsGatheringContext.java      |  109 ++
 .../query/stat/ObjectPartitionStatisticsImpl.java  |  100 ++
 .../ObjectPartitionStatisticsObsolescence.java     |   96 ++
 .../query/stat/ObjectStatisticsImpl.java           |  107 ++
 .../processors/query/stat/StatisticsGatherer.java  |  282 ++++
 .../processors/query/stat/StatisticsType.java      |   44 +
 .../processors/query/stat/StatisticsUtils.java     |  175 ++
 .../internal/processors/query/stat/hll/HLL.java    | 1159 ++++++++++++++
 .../processors/query/stat/hll/HLLType.java         |   29 +
 .../BigEndianAscendingWordDeserializer.java        |  168 ++
 .../BigEndianAscendingWordSerializer.java          |  170 ++
 .../query/stat/hll/serialization/HLLMetadata.java  |  147 ++
 .../query/stat/hll/serialization/IHLLMetadata.java |   71 +
 .../stat/hll/serialization/ISchemaVersion.java     |   87 +
 .../stat/hll/serialization/IWordDeserializer.java  |   41 +
 .../stat/hll/serialization/IWordSerializer.java    |   37 +
 .../stat/hll/serialization/SchemaVersionOne.java   |  153 ++
 .../stat/hll/serialization/SerializationUtil.java  |  281 ++++
 .../processors/query/stat/hll/util/BitUtil.java    |   71 +
 .../processors/query/stat/hll/util/BitVector.java  |  288 ++++
 .../processors/query/stat/hll/util/HLLUtil.java    |  203 +++
 .../query/stat/hll/util/LongIterator.java          |   35 +
 .../processors/query/stat/hll/util/NumberUtil.java |  178 +++
 .../query/stat/messages/StatisticsColumnData.java  |  338 ++++
 .../query/stat/messages/StatisticsKeyMessage.java  |  193 +++
 .../query/stat/messages/StatisticsObjectData.java  |  266 ++++
 .../query/stat/task/GatherPartitionStatistics.java |  196 +++
 .../view/StatisticsColumnConfigurationView.java    |  118 ++
 .../stat/view/StatisticsColumnLocalDataView.java   |  144 ++
 .../view/StatisticsColumnPartitionDataView.java    |  159 ++
 .../org/apache/ignite/internal/cdc/SqlCdcTest.java |  179 +++
 .../metric/AbstractIndexPageMetricsTest.java       |  207 +++
 .../ignite/internal/metric/IndexPageCounter.java   |  102 ++
 .../metric/IndexPagesMetricsInMemoryTest.java      |   47 +
 .../IndexPagesMetricsPageDisplacementTest.java     |  194 +++
 .../metric/IndexPagesMetricsPersistentTest.java    |   70 +
 ...ervationsOnDoneAfterTopologyUnlockFailTest.java |   75 +
 .../cache/index/AbstractRebuildIndexTest.java      |  336 ++++
 .../cache/index/ForceRebuildIndexTest.java         |  180 +--
 .../processors/cache/index/IgniteH2IndexingEx.java |  113 ++
 .../cache/index/IndexesRebuildTaskEx.java          |  102 +-
 .../processors/cache/index/IndexingTestUtils.java  |  179 +++
 .../cache/index/RenameIndexTreeTest.java           |  294 ++++
 .../cache/index/ResumeCreateIndexTest.java         |  492 ++++++
 .../cache/index/ResumeRebuildIndexTest.java        |  442 ++++++
 .../cache/index/StopRebuildIndexTest.java          |   90 +-
 ...gniteCacheLocalQueryDefaultTimeoutSelfTest.java |   20 +-
 .../cache/metric/SqlViewExporterSpiTest.java       |    6 +-
 .../IgnitePdsIndexingDefragmentationTest.java      |    2 +
 .../persistence/db/wal/IgniteWalRecoveryTest.java  |   26 +-
 .../IgniteClusterSnapshotCheckWithIndexesTest.java |    6 +-
 .../IgniteClusterSnapshotWithIndexesTest.java      |    2 +
 ...niteSqlSinglePartitionMultiParallelismTest.java |  157 ++
 .../processors/query/SqlSystemViewsSelfTest.java   |   65 +-
 .../inlinecolumn/InlineIndexColumnTest.java        |   76 +-
 .../ColumnStatisticsCollectorAggregationTest.java  |  124 ++
 .../query/stat/ColumnStatisticsCollectorTest.java  |  199 +++
 .../processors/query/stat/HasherSelfTest.java      |   79 +
 .../stat/IgniteStatisticsRepositoryStaticTest.java |  133 ++
 .../query/stat/IgniteStatisticsRepositoryTest.java |  249 +++
 .../query/stat/ManagerStatisticsTypesTest.java     |  290 ++++
 ...cValueDistributionTableStatisticsUsageTest.java |  271 ++++
 .../PSUCompositeIndexTableStatisticsUsageTest.java |  136 ++
 .../stat/PSUStatisticPartialGatheringTest.java     |   90 ++
 .../query/stat/PSUStatisticsStorageTest.java       |   95 ++
 .../query/stat/PSUStatisticsTypesTest.java         |  281 ++++
 ...UValueDistributionTableStatisticsUsageTest.java |  144 ++
 .../query/stat/SqlStatisticsCommandTests.java      |  313 ++++
 .../query/stat/StatisticsAbstractTest.java         |  706 +++++++++
 .../processors/query/stat/StatisticsClearTest.java |  205 +++
 .../query/stat/StatisticsConfigurationTest.java    |  635 ++++++++
 .../query/stat/StatisticsGatheringTest.java        |   99 ++
 .../query/stat/StatisticsObsolescenceTest.java     |  129 ++
 .../query/stat/StatisticsRestartAbstractTest.java  |   92 ++
 .../query/stat/StatisticsStorageAbstractTest.java  |   72 +
 .../query/stat/StatisticsStorageInMemoryTest.java  |   41 +
 .../stat/StatisticsStoragePersistenceTest.java     |   41 +
 .../query/stat/StatisticsStorageRestartTest.java   |  140 ++
 .../query/stat/StatisticsStorageTest.java          |  193 +++
 .../query/stat/StatisticsStorageUnitTest.java      |  146 ++
 .../query/stat/StatisticsTypesAbstractTest.java    |  206 +++
 .../query/stat/StatisticsViewsInMemoryTest.java    |   41 +
 .../query/stat/StatisticsViewsPersistenceTest.java |   41 +
 .../processors/query/stat/StatisticsViewsTest.java |  245 +++
 .../processors/query/stat/hll/FullHLLTest.java     |  445 ++++++
 .../query/stat/hll/ProbabilisticTestUtil.java      |   79 +
 .../timeout/AbstractDefaultQueryTimeoutTest.java   |   22 +-
 .../timeout/DefaultQueryTimeoutTestSuite.java      |    3 -
 .../DefaultQueryTimeoutThickJavaLazyTest.java      |   28 -
 .../timeout/DefaultQueryTimeoutThickJavaTest.java  |   61 +-
 ...DefaultQueryTimeoutThickJavaUpdateLazyTest.java |   28 -
 .../DefaultQueryTimeoutThickJavaUpdateTest.java    |   28 -
 .../IgniteBinaryCacheQueryTestSuite.java           |   10 +-
 .../testsuites/IgniteCacheQuerySelfTestSuite6.java |    4 +-
 ...teCacheWithIndexingAndPersistenceTestSuite.java |    6 +-
 .../IgniteCacheWithIndexingTestSuite.java          |    5 +-
 .../IgnitePdsWithIndexingCoreTestSuite.java        |    4 +-
 .../testsuites/IgnitePdsWithIndexingTestSuite.java |    8 +-
 .../testsuites/IgniteStatisticsTestSuite.java      |   99 ++
 modules/jta/pom.xml                                |    6 +
 .../cache/GridJtaTransactionManagerSelfTest.java   |    3 +-
 .../cache/jta/AbstractCacheJtaSelfTest.java        |    3 +-
 modules/kubernetes/pom.xml                         |    7 -
 .../apache/ignite/logger/log4j/Log4JLogger.java    |    8 +-
 .../ignite/logger/log4j/Log4jNodeIdFilePath.java   |   14 +-
 .../apache/ignite/logger/log4j2/Log4J2Logger.java  |   10 +-
 .../ignite/logger/log4j2/Log4j2LoggerSelfTest.java |   16 +-
 .../cluster-compute-example/CMakeLists.txt         |   13 +-
 .../src/network/ssl/secure_socket_client.cpp       |   20 +-
 .../platforms/cpp/odbc-test/src/sql_types_test.cpp |   48 +
 .../cpp/odbc/src/app/application_data_buffer.cpp   |    2 +-
 modules/platforms/cpp/odbc/src/connection.cpp      |    3 +-
 .../ignite/thin/ignite_client_configuration.h      |    2 +-
 modules/platforms/dotnet/.config/dotnet-tools.json |   12 +
 .../Apache.Ignite.BenchmarkDotNet.csproj           |    4 +
 .../DataStreamer/DataStreamerBatchSizeBenchmark.cs |   83 +
 .../DataStreamer/DataStreamerBenchmark.cs          |    2 +-
 .../ThinClient/ThinClientBenchmarkBase.cs          |    4 +-
 .../ThinClient/ThinClientDataStreamerBenchmark.cs  |   98 ++
 ...ThinClientDataStreamerBenchmarkMultithreaded.cs |   95 ++
 .../ThinClientDataStreamerFlushBenchmark.cs        |  121 ++
 .../dotnet/Apache.Ignite.BenchmarkDotNet/Utils.cs  |   13 +-
 .../Apache.Ignite.Benchmarks.DotNetCore.csproj     |    6 +-
 .../Apache.Ignite.Benchmarks/BenchmarkBase.cs      |   10 +-
 .../Apache.Ignite.Benchmarks/BenchmarkRunner.cs    |    2 +-
 .../Apache.Ignite.Benchmarks/BenchmarkUtils.cs     |    6 +-
 .../Result/BenchmarkFileResultWriter.cs            |    4 +-
 .../Apache.Ignite.Core.Tests.DotNetCore.csproj     |    5 +
 .../Apache.Ignite.Core.Tests.csproj                |    5 +
 .../Serializable/AdvancedSerializationTest.cs      |    2 +
 .../Platform/PlatformCacheTopologyChangeTest.cs    |    2 +-
 .../Cache/Query/CacheQueriesTest.cs                |    2 +-
 .../Continuous/ContinuousQueryAbstractTest.cs      |    8 +-
 .../Query/QueryEntityMetadataRegistrationTest.cs   |    4 +
 .../Client/Cache/CacheTest.cs                      |   18 +
 .../Client/Cache/ContinuousQueryTest.cs            |   12 +-
 .../Client/Cache/EmptyObject.cs                    |    2 +-
 .../Client/Cache/PartitionAwarenessTest.cs         |   60 +-
 .../Client/Cache/SerializableObjectsTest.cs        |   24 +-
 .../Client/ClientConnectionTest.cs                 |    3 +-
 .../Client/ClientSecurityPermissionsTest.cs        |  107 ++
 .../Client/ClientTestBase.cs                       |   19 +-
 .../Client/Cluster/ClientClusterDiscoveryTests.cs  |   18 +-
 .../Cluster/ClientClusterDiscoveryTestsBase.cs     |    3 +-
 .../Client/Datastream/DataStreamerClientTest.cs    |  825 ++++++++++
 .../DataStreamerClientTestPartitionAware.cs        |   38 +
 .../DataStreamerClientTopologyChangeTest.cs        |  344 ++++
 ...reamerClientTopologyChangeTestPartitionAware.cs |   37 +
 .../Client/IgniteClientConfigurationTest.cs        |    7 +-
 .../Config/full-config.xml                         |    1 +
 .../Dataload/DataStreamerTest.cs                   |   18 +-
 .../Apache.Ignite.Core.Tests/DisposeAction.cs      |    2 +-
 .../Examples/ProjectFilesTest.cs                   |    2 +-
 .../IgniteConfigurationSerializerTest.cs           |    2 +
 .../IgniteConfigurationTest.cs                     |    3 +
 .../Process/IgniteProcess.cs                       |    6 +-
 .../Process/IgniteProcessConsoleOutputReader.cs    |    4 +-
 .../Apache.Ignite.Core.Tests/ProjectFilesTest.cs   |    4 +-
 .../Services/PlatformTestService.cs                |    1 +
 .../dotnet/Apache.Ignite.Core.Tests/ShellTests.cs  |   54 +
 .../dotnet/Apache.Ignite.Core.Tests/TestUtils.cs   |   42 +-
 .../Apache.Ignite.Core.Tests/TestUtilsJni.cs       |   13 +
 .../Apache.Ignite.Core.DotNetCore.csproj           |   13 +-
 .../Apache.Ignite.Core/Apache.Ignite.Core.csproj   |   10 +-
 .../Apache.Ignite.Core/Apache.Ignite.Core.ruleset  |   26 -
 .../Binary/BinaryBasicNameMapper.cs                |    3 +
 .../Cache/Affinity/AffinityKeyMappedAttribute.cs   |    4 +-
 .../Cache/Configuration/MemoryConfiguration.cs     |    5 +-
 .../Apache.Ignite.Core/Client/ClientStatusCode.cs  |    5 +
 .../Client/Datastream/DataStreamerClientOptions.cs |  213 +++
 .../Client/Datastream/IDataStreamerClient.cs       |  102 ++
 .../Apache.Ignite.Core/Client/IIgniteClient.cs     |   33 +
 .../Client/IgniteClientConfiguration.cs            |   14 +-
 .../Apache.Ignite.Core/Client/SslStreamFactory.cs  |    9 +-
 .../Client/Transactions/ITransactionsClient.cs     |    2 +-
 .../Common/IgniteProductVersion.cs                 |   10 +-
 .../Configuration/DataStorageConfiguration.cs      |    9 +
 .../Configuration/LockConfiguration.cs             |    4 +
 .../Encryption/Keystore/KeystoreEncryptionSpi.cs   |   11 +-
 .../Apache.Ignite.Core/IgniteConfiguration.cs      |    2 +
 .../IgniteConfigurationSection.xsd                 |    5 +
 .../dotnet/Apache.Ignite.Core/Ignition.cs          |    1 +
 .../Impl/Binary/BinaryHashCodeUtils.cs             |  132 +-
 .../Apache.Ignite.Core/Impl/Binary/BinaryUtils.cs  |    2 +-
 .../Impl/Binary/Io/BinaryHeapStream.cs             |   18 +-
 .../Impl/Binary/Structure/BinaryStructureEntry.cs  |    3 +-
 .../Binary/Structure/BinaryStructureJumpTable.cs   |    2 +-
 .../Query/Continuous/ContinuousQueryHandleImpl.cs  |    7 +
 .../Impl/Client/Cache/CacheClient.cs               |   12 +-
 .../Impl/Client/ClientFailoverSocket.cs            |    7 +-
 .../Apache.Ignite.Core/Impl/Client/ClientOp.cs     |    6 +-
 .../Impl/Client/ClientPlatformId.cs                |   33 +
 .../Apache.Ignite.Core/Impl/Client/ClientSocket.cs |   36 +-
 .../Impl/Client/Compute/ComputeClient.cs           |   13 +-
 .../Impl/Client/Datastream/DataStreamerClient.cs   |  699 ++++++++
 .../Client/Datastream/DataStreamerClientBuffer.cs  |  346 ++++
 .../Client/Datastream/DataStreamerClientEntry.cs   |  102 ++
 .../Datastream/DataStreamerClientPerNodeBuffer.cs  |  154 ++
 .../Apache.Ignite.Core/Impl/Client/IgniteClient.cs |   23 +
 .../Apache.Ignite.Core/Impl/Common/Classpath.cs    |   14 +-
 .../Common/IgniteConfigurationXmlSerializer.cs     |   13 +-
 .../Apache.Ignite.Core/Impl/Common/TaskRunner.cs   |   19 +
 .../Impl/Datastream/DataStreamerImpl.cs            |    2 +
 .../Apache.Ignite.Core/Impl/IgniteManager.cs       |    2 +-
 .../Apache.Ignite.Core/Impl/PlatformJniTarget.cs   |   18 +-
 .../dotnet/Apache.Ignite.Core/Impl/Shell.cs        |   43 +-
 .../Impl/Unmanaged/Jni/JvmDll.cs                   |    7 +-
 .../dotnet/Apache.Ignite.Core/Impl/Unmanaged/Os.cs |    6 +-
 .../Impl/Unmanaged/UnmanagedCallbacks.cs           |    2 +
 .../Apache.Ignite.DotNetCore.sln.DotSettings       |    1 +
 .../Apache.Ignite.Linq.DotNetCore.csproj           |   17 +-
 .../Apache.Ignite.Linq/Apache.Ignite.Linq.csproj   |    1 -
 .../CacheClientLinqExtensions.cs                   |   28 +-
 .../Apache.Ignite.Linq/CacheLinqExtensions.cs      |   39 +-
 .../Impl/CacheQueryExpressionVisitor.cs            |   42 +-
 .../Impl/CacheQueryModelVisitor.cs                 |   28 +-
 .../Impl/Dml/RemoveAllExpressionNode.cs            |    4 +-
 .../Impl/Dml/UpdateAllExpressionNode.cs            |    9 +-
 .../Apache.Ignite.Linq/Impl/MethodVisitor.cs       |   14 +-
 .../platforms/dotnet/Apache.Ignite.Tests.ruleset   |  136 ++
 modules/platforms/dotnet/Apache.Ignite.ruleset     |   71 +
 .../Apache.Ignite/Apache.Ignite.DotNetCore.csproj  |   13 +
 .../Apache.Ignite/Config/ArgsConfigurator.cs       |    2 +-
 .../platforms/dotnet/Apache.Ignite/IgniteRunner.cs |   28 +-
 .../Service/IgniteService.DotNetCore.cs            |    3 +
 modules/platforms/dotnet/Directory.Build.props     |   23 +
 .../dotnet/examples/Directory.Build.props          |    4 +
 .../examples/Thick/Cache/DataStreamer/Program.cs   |    2 +-
 .../platforms/dotnet/release/Directory.Build.props |   23 +
 .../config/cdc/cdc-config-without-persistence.xml  |   30 +
 .../src/test/config/cdc/correct-cdc-config.xml     |   53 +
 .../src/test/config/cdc/double-cdc-config.xml      |   30 +
 .../src/test/config/cdc/double-ignite-config.xml   |   30 +
 .../apache/ignite/cdc/CdcConfigurationTest.java    |  140 ++
 .../ignite/testsuites/IgniteSpringTestSuite.java   |    6 +-
 modules/urideploy/pom.xml                          |    7 -
 .../org/apache/ignite/yardstick/cache/Loader.java  |    2 +-
 ...coverySegmentationAndConnectionRestoreTest.java |    3 -
 packaging/deb/changelog                            |   12 +
 packaging/rpm/apache-ignite.spec                   |    8 +-
 parent/pom.xml                                     |   12 +-
 pom.xml                                            |   18 +
 scripts/build-module.sh                            |   26 +
 scripts/build.sh                                   |   25 +
 844 files changed, 59212 insertions(+), 5390 deletions(-)

diff --cc modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
index 5086f3e,e149dbe..5d10b4b
--- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
@@@ -124,8 -124,8 +124,9 @@@ import static org.apache.ignite.interna
  import static org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsWriter.DFLT_CACHED_STRINGS_THRESHOLD;
  import static org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsWriter.DFLT_FILE_MAX_SIZE;
  import static org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsWriter.DFLT_FLUSH_SIZE;
 +import static org.apache.ignite.internal.processors.query.GridQueryProcessor.DFLT_IGNITE_EXPERIMENTAL_SQL_ENGINE;
  import static org.apache.ignite.internal.processors.query.QueryUtils.DFLT_INDEXING_DISCOVERY_HISTORY_SIZE;
+ import static org.apache.ignite.internal.processors.query.schema.SchemaIndexCachePartitionWorker.DFLT_IGNITE_INDEX_REBUILD_BATCH_SIZE;
  import static org.apache.ignite.internal.processors.rest.GridRestProcessor.DFLT_SES_TIMEOUT;
  import static org.apache.ignite.internal.processors.rest.GridRestProcessor.DFLT_SES_TOKEN_INVALIDATE_INTERVAL;
  import static org.apache.ignite.internal.processors.rest.handlers.task.GridTaskCommandHandler.DFLT_MAX_TASK_RESULTS;
@@@ -2013,11 -1994,15 +1995,19 @@@ public final class IgniteSystemProperti
          "stopped when the threshold is exceeded", type = Integer.class, defaults = "" + DFLT_CACHED_STRINGS_THRESHOLD)
      public static final String IGNITE_PERF_STAT_CACHED_STRINGS_THRESHOLD = "IGNITE_PERF_STAT_CACHED_STRINGS_THRESHOLD";
  
 +    @SystemProperty(value = "Determines whether to use the experimental sql, calcite based, engine.",
 +        defaults = "" + DFLT_IGNITE_EXPERIMENTAL_SQL_ENGINE)
 +    public static final String IGNITE_EXPERIMENTAL_SQL_ENGINE = "IGNITE_EXPERIMENTAL_SQL_ENGINE";
 +
      /**
+      * Count of rows, being processed within a single checkpoint lock when indexes are rebuilt.
+      * The default value is {@link SchemaIndexCachePartitionWorker#DFLT_IGNITE_INDEX_REBUILD_BATCH_SIZE}.
+      */
+     @SystemProperty(value = "Count of rows, being processed within a single checkpoint lock when indexes are rebuilt",
+         type = Integer.class, defaults = "" + DFLT_IGNITE_INDEX_REBUILD_BATCH_SIZE)
+     public static final String IGNITE_INDEX_REBUILD_BATCH_SIZE = "IGNITE_INDEX_REBUILD_BATCH_SIZE";
+ 
+     /**
       * Enforces singleton.
       */
      private IgniteSystemProperties() {