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 2022/02/09 13:35:54 UTC
[ignite] 01/01: Merge branch '!master' into ignite-11402
This is an automated email from the ASF dual-hosted git repository.
tledkov pushed a commit to branch ignite-11402-old
in repository https://gitbox.apache.org/repos/asf/ignite.git
commit ad7c86b1e143df9c65ecdc57ddee274a966da691
Merge: c5b5622 f1d90ac
Author: tledkov <tl...@gridgain.com>
AuthorDate: Wed Feb 9 13:51:49 2022 +0300
Merge branch '!master' into ignite-11402
# Conflicts:
# modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/BasicIndexTest.java
.travis.yml | 15 +-
README.md | 4 +-
RELEASE_NOTES.txt | 146 +++++
bin/ignite-cdc.sh | 4 +
docs/_data/toc.yaml | 2 +
docs/_docs/SQL/ODBC/odbc-driver.adoc | 61 +-
docs/_docs/SQL/distributed-joins.adoc | 61 +-
docs/_docs/clustering/baseline-topology.adoc | 8 +-
.../ignite/snippets/services/ServiceExample.java | 33 +-
.../k8s/stateful/node-configuration.xml | 16 +-
.../k8s/stateless/node-configuration.xml | 9 +-
.../collocated-computations.adoc | 2 +-
.../hibernate-l2-cache.adoc | 4 +-
.../spring/spring-data.adoc | 2 +-
.../cpp-odbc-linux-build-prerequisites.adoc | 43 ++
docs/_docs/includes/starting-node.adoc | 4 +-
docs/_docs/key-value-api/transactions.adoc | 3 +-
docs/_docs/monitoring-metrics/metrics.adoc | 4 -
docs/_docs/monitoring-metrics/new-metrics.adoc | 14 +
docs/_docs/monitoring-metrics/system-views.adoc | 14 +
.../thread-pools-tuning.adoc | 8 +
docs/_docs/persistence/change-data-capture.adoc | 132 +++++
docs/_docs/persistence/native-persistence.adoc | 1 +
docs/_docs/quick-start/cpp.adoc | 42 +-
docs/_docs/quick-start/java.adoc | 2 +-
docs/_docs/services/services.adoc | 29 +
docs/_docs/setup.adoc | 2 +-
docs/_docs/snapshots/snapshots.adoc | 15 +-
docs/_docs/thin-clients/cpp-thin-client.adoc | 27 +-
docs/_docs/thin-clients/java-thin-client.adoc | 2 +-
docs/_docs/tools/control-script.adoc | 10 +-
docs/assets/images/integrations/CDC-design.svg | 4 +
.../rest/JettyRestProcessorAbstractSelfTest.java | 51 +-
.../ignite/jdbc/thin/JdbcThinMetadataSelfTest.java | 1 +
.../qa/query/WarningOnBigQueryResultsBaseTest.java | 15 +-
.../SystemViewRowAttributeWalkerGenerator.java | 2 +
modules/compatibility/pom.xml | 6 +
.../compatibility/IgniteReleasedVersion.java | 98 ++++
.../clients/AbstractClientCompatibilityTest.java | 31 +-
.../clients/JavaThinCompatibilityTest.java | 113 ++++
.../IgnitePKIndexesMigrationToUnwrapPkTest.java | 21 +-
.../persistence/IndexTypesCompatibilityTest.java | 10 +-
.../InlineJavaObjectCompatibilityTest.java | 33 +-
.../PersistenceBasicCompatibilityTest.java | 140 +----
.../testframework/util/MavenUtils.java | 53 +-
modules/control-utility/pom.xml | 7 +
.../consistency/ConsistencyCommand.java | 56 +-
.../util/GridCommandHandlerClusterByClassTest.java | 13 +-
.../util/GridCommandHandlerConsistencyTest.java | 99 +++-
.../util/GridCommandHandlerIndexingTest.java | 14 +-
.../apache/ignite/util/GridCommandHandlerTest.java | 118 +++-
.../ignite/util/KillCommandsCommandShTest.java | 12 +-
.../apache/ignite/util/SystemViewCommandTest.java | 14 +
.../main/java/org/apache/ignite/IgniteCache.java | 4 +-
.../java/org/apache/ignite/IgniteServices.java | 29 +-
.../org/apache/ignite/IgniteSystemProperties.java | 19 +
.../apache/ignite/cache/ReadRepairStrategy.java | 89 +++
.../java/org/apache/ignite/cdc/CdcConsumer.java | 2 +-
.../main/java/org/apache/ignite/cdc/CdcLoader.java | 26 +-
.../apache/ignite/client/ClientOperationType.java | 217 +++++++
.../ignite/client/ClientRetryAllPolicy.java} | 15 +-
.../ignite/client/ClientRetryNonePolicy.java} | 15 +-
.../apache/ignite/client/ClientRetryPolicy.java} | 24 +-
.../ClientRetryPolicyContext.java} | 33 +-
.../ignite/client/ClientRetryReadPolicy.java | 50 ++
.../ignite/client/ClientServiceDescriptor.java | 78 +++
.../org/apache/ignite/client/ClientServices.java | 53 ++
.../ignite/configuration/ClientConfiguration.java | 31 +
.../configuration/DataRegionConfiguration.java | 23 +
.../configuration/DataStorageConfiguration.java | 99 +++-
.../ignite/configuration/IgniteConfiguration.java | 34 +-
.../SystemDataRegionConfiguration.java | 93 +++
.../events/CacheConsistencyViolationEvent.java | 38 +-
.../apache/ignite/internal/GridJobResultImpl.java | 16 +-
.../ignite/internal/GridTaskSessionImpl.java | 81 ++-
.../org/apache/ignite/internal/IgniteKernal.java | 13 +-
.../apache/ignite/internal/IgniteServicesEx.java | 6 +-
.../apache/ignite/internal/IgniteServicesImpl.java | 45 +-
.../org/apache/ignite/internal/IgnitionEx.java | 12 +-
.../apache/ignite/internal/binary/BinaryArray.java | 286 +++++++++
.../internal/binary/BinaryClassDescriptor.java | 10 +-
.../ignite/internal/binary/BinaryContext.java | 4 +-
.../BinaryEnumArray.java} | 44 +-
.../ignite/internal/binary/BinaryMarshaller.java | 2 +-
.../ignite/internal/binary/BinaryObjectImpl.java | 17 +-
.../ignite/internal/binary/BinaryReaderExImpl.java | 14 +-
.../binary/BinarySerializedFieldComparator.java | 44 +-
.../apache/ignite/internal/binary/BinaryUtils.java | 105 +++-
.../ignite/internal/binary/BinaryWriterExImpl.java | 30 +-
.../binary/builder/BinaryBuilderSerializer.java | 33 +-
.../binary/builder/BinaryObjectBuilderImpl.java | 12 +-
.../binary/streams/BinaryHeapOutputStream.java | 24 +
.../cache/query/index/IndexQueryProcessor.java | 270 ++++++---
.../query/index/sorted/IndexKeyDefinition.java | 12 -
.../query/index/sorted/IndexRowComparator.java | 9 +-
.../query/index/sorted/IndexRowCompartorImpl.java | 32 +-
.../query/index/sorted/SortedSegmentedIndex.java | 24 +-
.../sorted/defragmentation/DefragIndexFactory.java | 4 +
.../index/sorted/inline/IndexQueryContext.java | 33 +-
.../query/index/sorted/inline/InlineIndexImpl.java | 15 +-
.../index/sorted/inline/InlineIndexKeyType.java | 8 +-
.../query/index/sorted/inline/InlineIndexTree.java | 40 +-
.../sorted/inline/InlineTreeFilterClosure.java | 39 +-
.../sorted/inline/io/AbstractInlineInnerIO.java | 3 +
.../sorted/inline/io/AbstractInlineLeafIO.java | 3 +
.../index/sorted/inline/io/AbstractInnerIO.java | 3 +
.../index/sorted/inline/io/AbstractLeafIO.java | 3 +
.../query/index/sorted/keys/BytesCompareUtils.java | 59 --
.../query/index/sorted/keys/BytesIndexKey.java | 20 +-
.../index/sorted/keys/JavaObjectIndexKey.java | 8 +-
.../index/sorted/keys/SignedBytesIndexKey.java | 4 +-
.../org/apache/ignite/internal/cdc/CdcMain.java | 8 +-
.../router/impl/GridRouterCommandLineStartup.java | 12 +-
.../internal/client/thin/ClientOperation.java | 141 ++++-
.../client/thin/ClientRetryPolicyContextImpl.java | 76 +++
.../client/thin/ClientServiceDescriptorImpl.java | 104 ++++
.../internal/client/thin/ClientServicesImpl.java | 120 +++-
.../ignite/internal/client/thin/ClientUtils.java | 4 +-
.../internal/client/thin/PayloadOutputChannel.java | 15 +-
.../client/thin/ProtocolBitmaskFeature.java | 9 +-
.../internal/client/thin/ReliableChannel.java | 57 +-
.../internal/client/thin/TcpClientChannel.java | 16 +-
.../internal/client/thin/io/ClientConnection.java | 4 +-
.../io/gridnioserver/GridNioClientConnection.java | 8 +-
.../graph/FullyConnectedComponentSearcher.java | 14 +-
.../managers/collision/GridCollisionManager.java | 14 +-
.../managers/discovery/GridDiscoveryManager.java | 2 +-
.../managers/encryption/CacheGroupPageScanner.java | 31 +-
.../eventstorage/GridEventStorageManager.java | 11 +-
.../managers/systemview/SystemViewMBean.java | 7 +-
.../systemview/walker/CacheViewWalker.java | 196 ++++---
.../systemview/walker/SnapshotViewWalker.java | 50 ++
.../unsafe/UnsafeMemoryAllocator.java} | 16 +-
.../internal/mem/unsafe/UnsafeMemoryProvider.java | 36 +-
.../ignite/internal/pagemem/wal/WALIterator.java | 6 +-
.../internal/pagemem/wal/record/DataRecord.java | 40 +-
.../processors/affinity/GridAffinityProcessor.java | 13 +-
.../IgniteAuthenticationProcessor.java | 4 +-
.../processors/bulkload/BulkLoadProcessor.java | 4 +-
.../cache/CacheEntryPredicateContainsValue.java | 4 +
.../processors/cache/CacheGroupContext.java | 45 +-
.../processors/cache/CacheObjectUtils.java | 12 +-
.../processors/cache/CacheOperationContext.java | 39 +-
.../processors/cache/ClusterCachesInfo.java | 2 +-
.../cache/GatewayProtectedCacheProxy.java | 14 +-
.../processors/cache/GridCacheAdapter.java | 128 ++--
.../processors/cache/GridCacheContext.java | 10 +-
.../processors/cache/GridCacheMapEntry.java | 6 +-
.../cache/GridCachePartitionExchangeManager.java | 19 +-
.../processors/cache/GridCacheProxyImpl.java | 8 +-
.../processors/cache/IgniteCacheProxyImpl.java | 3 +-
.../binary/CacheObjectBinaryProcessorImpl.java | 36 +-
.../cache/distributed/dht/GridDhtCacheAdapter.java | 7 +-
.../dht/GridDhtTopologyFutureAdapter.java | 9 +-
.../distributed/dht/atomic/GridDhtAtomicCache.java | 48 +-
.../dht/colocated/GridDhtColocatedCache.java | 15 +-
.../preloader/GridDhtPartitionsExchangeFuture.java | 13 +
.../dht/topology/GridDhtPartitionTopologyImpl.java | 4 +-
.../distributed/near/GridNearAtomicCache.java | 3 +-
.../near/GridNearTransactionalCache.java | 5 +-
.../cache/distributed/near/GridNearTxLocal.java | 72 ++-
.../near/GridNearTxQueryEnlistRequest.java | 13 +-
.../consistency/GridCompoundReadRepairFuture.java | 106 ++++
.../GridNearReadRepairAbstractFuture.java | 137 ++++-
.../GridNearReadRepairCheckOnlyFuture.java | 137 ++---
.../near/consistency/GridNearReadRepairFuture.java | 252 +++++++-
.../IgniteConsistencyViolationException.java | 25 +-
...teIrreparableConsistencyViolationException.java | 63 ++
.../cache/local/atomic/GridLocalAtomicCache.java | 7 +-
.../processors/cache/mvcc/MvccProcessorImpl.java | 4 +-
.../processors/cache/mvcc/txlog/TxLogInnerIO.java | 10 +
.../processors/cache/mvcc/txlog/TxLogLeafIO.java | 10 +
.../GridCacheDatabaseSharedManager.java | 22 +-
.../IgniteCacheDatabaseSharedManager.java | 20 +-
.../cache/persistence/IndexStorageImpl.java | 4 +
.../cache/persistence/RecoveryDebug.java | 7 +-
.../persistence/checkpoint/CheckpointEntry.java | 77 ++-
.../persistence/checkpoint/CheckpointHistory.java | 87 ++-
.../persistence/checkpoint/CheckpointManager.java | 21 +-
.../checkpoint/CheckpointMarkersStorage.java | 186 +++++-
.../checkpoint/EarliestCheckpointMapSnapshot.java | 177 ++++++
.../cache/persistence/defragmentation/LinkMap.java | 4 +
.../persistence/freelist/io/PagesListMetaIO.java | 4 +
.../persistence/freelist/io/PagesListNodeIO.java | 15 +
.../metastorage/MetastorageInnerIO.java | 4 +
.../persistence/metastorage/MetastorageLeafIO.java | 4 +
.../cache/persistence/pagemem/PageMemoryImpl.java | 6 +
.../snapshot/AbstractSnapshotVerificationTask.java | 42 +-
.../snapshot/IgniteSnapshotManager.java | 70 ++-
.../persistence/snapshot/SnapshotMXBeanImpl.java | 20 +
.../snapshot/SnapshotRestoreProcess.java | 243 ++++----
.../cache/persistence/tree/BPlusTree.java | 141 ++++-
.../persistence/tree/io/AbstractDataPageIO.java | 30 +-
.../cache/persistence/tree/io/BPlusIO.java | 56 ++
.../cache/persistence/tree/io/BPlusInnerIO.java | 8 +
.../cache/persistence/tree/io/BPlusLeafIO.java | 1 +
.../cache/persistence/tree/io/BPlusMetaIO.java | 12 +
.../cache/persistence/tree/io/DataPageIO.java | 18 +-
.../cache/persistence/tree/io/PageIO.java | 18 +
.../cache/persistence/tree/io/PageMetaIO.java | 16 +
.../cache/persistence/tree/io/PageMetaIOV2.java | 6 +
.../tree/io/PagePartitionCountersIO.java | 6 +
.../persistence/tree/io/PagePartitionMetaIO.java | 10 +
.../persistence/tree/io/PagePartitionMetaIOV2.java | 6 +
.../persistence/tree/io/PagePartitionMetaIOV3.java | 4 +
.../persistence/tree/io/SimpleDataPageIO.java | 4 +
.../cache/persistence/tree/io/TrackingPageIO.java | 14 +-
.../wal/AbstractWalRecordsIterator.java | 8 +-
.../wal/filehandle/FileWriteHandleImpl.java | 13 +
.../wal/reader/StandaloneWalRecordsIterator.java | 8 +-
.../wal/serializer/RecordDataV1Serializer.java | 45 +-
.../wal/serializer/RecordDataV2Serializer.java | 34 +-
.../processors/cache/query/GridCacheSqlQuery.java | 18 +-
.../cache/query/reducer/IndexQueryReducer.java | 25 +-
.../processors/cache/tree/AbstractDataInnerIO.java | 5 +
.../processors/cache/tree/AbstractDataLeafIO.java | 5 +
.../cache/tree/AbstractPendingEntryInnerIO.java | 3 +
.../cache/tree/AbstractPendingEntryLeafIO.java | 3 +
.../tree/mvcc/data/MvccCacheIdAwareDataLeafIO.java | 4 +
.../cache/tree/mvcc/data/MvccDataInnerIO.java | 2 +
.../cache/tree/mvcc/data/MvccDataLeafIO.java | 6 +
.../processors/cache/version/GridCacheVersion.java | 3 +-
.../cache/version/GridCacheVersionEx.java | 1 +
.../cache/version/GridCacheVersionManager.java | 5 +
.../cluster/GridClusterStateProcessor.java | 2 +-
.../datastructures/GridCacheQueueAdapter.java | 2 +-
.../processors/job/ComputeJobStatusEnum.java} | 29 +-
.../processors/job/GridJobEventListener.java | 11 +-
.../internal/processors/job/GridJobProcessor.java | 161 ++++-
.../internal/processors/job/GridJobWorker.java | 89 ++-
.../processors/odbc/ClientListenerNioListener.java | 5 +-
.../processors/platform/PlatformContextImpl.java | 4 +-
.../processors/platform/cache/PlatformCache.java | 6 +
.../platform/client/ClientBitmaskFeature.java | 9 +-
.../platform/client/ClientMessageParser.java | 16 +-
.../service/ClientServiceDescriptorResponse.java | 48 ++
.../service/ClientServiceDescriptorsResponse.java | 63 ++
.../service/ClientServiceGetDescriptorRequest.java | 49 ++
.../ClientServiceGetDescriptorsRequest.java} | 30 +-
.../client/service/ClientServiceInvokeRequest.java | 27 +-
.../platform/compute/PlatformCompute.java | 3 +-
.../platform/services/PlatformServices.java | 20 +-
.../platform/utils/PlatformConfigurationUtils.java | 38 ++
.../processors/platform/utils/PlatformUtils.java | 9 +-
.../internal/processors/pool/PoolProcessor.java | 66 +++
.../processors/query/GridQueryProcessor.java | 14 +-
.../processors/query/QueryTypeDescriptorImpl.java | 31 +-
.../processors/query/RunningQueryManager.java | 20 +-
.../query/property/QueryBinaryProperty.java | 6 +
.../resource/GridResourceServiceInjector.java | 7 +-
.../processors/service/GridServiceAssignments.java | 132 -----
.../service/GridServiceAssignmentsKey.java | 66 ---
.../processors/service/GridServiceDeployment.java | 97 ---
.../processors/service/GridServiceProxy.java | 158 +++--
.../processors/service/IgniteServiceProcessor.java | 128 ++--
.../service/LazyServiceConfiguration.java | 1 +
.../service/ServiceCallContextHolder.java | 7 +-
.../processors/service/ServiceCallContextImpl.java | 27 +-
.../processors/service/ServiceContextImpl.java | 35 +-
.../processors/service/ServiceDescriptorImpl.java | 120 ----
.../session/GridTaskSessionProcessor.java | 16 +-
.../processors/task/GridTaskEventListener.java | 19 +-
.../processors/task/GridTaskProcessor.java | 154 ++++-
.../internal/processors/task/GridTaskWorker.java | 84 ++-
.../task/monitor/ComputeGridMonitor.java} | 24 +-
.../processors/task/monitor/ComputeTaskStatus.java | 227 +++++++
.../task/monitor/ComputeTaskStatusEnum.java} | 20 +-
.../task/monitor/ComputeTaskStatusSnapshot.java | 89 +++
.../apache/ignite/internal/util/IgniteUtils.java | 67 ++-
.../util/distributed/SingleNodeMessage.java | 8 +-
.../ignite/internal/util/gridify/GridifyUtils.java | 3 +-
.../apache/ignite/internal/util/lang/GridFunc.java | 241 ++++++++
.../internal/util/nio/ssl/GridNioSslHandler.java | 3 +-
.../internal/util/spring/IgniteSpringHelper.java | 20 +-
.../consistency/VisorConsistencyRepairTask.java | 35 +-
.../consistency/VisorConsistencyRepairTaskArg.java | 16 +-
.../visor/node/VisorDataStorageConfiguration.java | 4 +-
.../visor/node/VisorMemoryConfiguration.java | 4 +-
.../visor/snapshot/VisorSnapshotRestoreTask.java | 2 +-
.../visor/systemview/VisorSystemViewTask.java | 2 +-
.../ignite/internal/visor/tx/TxVerboseId.java | 2 +-
.../org/apache/ignite/mem/MemoryAllocator.java} | 25 +-
.../org/apache/ignite/mxbean/SnapshotMXBean.java | 25 +
.../org/apache/ignite/platform/PlatformType.java} | 17 +-
.../plugin/CacheTopologyValidatorProvider.java | 42 ++
.../apache/ignite/services/ServiceCallContext.java | 3 +-
.../ignite/services/ServiceConfiguration.java | 36 ++
.../priorityqueue/PriorityQueueCollisionSpi.java | 92 ++-
.../ignite/spi/systemview/view/CacheView.java | 22 +-
.../ignite/spi/systemview/view/SnapshotView.java | 93 +++
.../view/SystemViewRowAttributeWalker.java | 3 +-
.../startup/cmdline/CdcCommandLineStartup.java | 23 -
.../ignite/startup/cmdline/CommandLineStartup.java | 4 +-
.../main/resources/META-INF/classnames.properties | 5 -
.../org/apache/ignite/cdc/CdcCacheVersionTest.java | 31 +
.../java/org/apache/ignite/cdc/CdcSelfTest.java | 46 +-
.../org/apache/ignite/client/FunctionalTest.java | 30 +-
.../org/apache/ignite/client/ReliabilityTest.java | 129 ++++
.../GridMultithreadedJobStealingSelfTest.java | 76 ++-
.../internal/binary/AbstractBinaryArraysTest.java | 56 ++
.../internal/binary/BinaryArraySelfTest.java | 650 +++++++++++++++++++++
.../internal/binary/BinaryEnumsSelfTest.java | 18 +-
.../binary/BinaryFieldExtractionSelfTest.java | 3 +-
.../binary/BinaryFieldsAbstractSelfTest.java | 6 +-
.../BinaryFooterOffsetsAbstractSelfTest.java | 3 +-
.../internal/binary/BinaryMarshallerSelfTest.java | 133 ++++-
.../BinaryObjectBuilderAdditionalSelfTest.java | 303 ++++------
.../BinaryObjectBuilderDefaultMappersSelfTest.java | 15 +-
.../internal/binary/BinaryObjectToStringTest.java | 12 +-
.../GridBinaryMarshallerCtxDisabledSelfTest.java | 3 +-
.../binary/GridBinaryWildcardsSelfTest.java | 3 +-
.../binary/mutabletest/GridBinaryTestClasses.java | 44 --
.../client/thin/ServicesBinaryArraysTests.java} | 20 +-
.../ignite/internal/client/thin/ServicesTest.java | 172 +++++-
.../direct/DirectMarshallingMessagesTest.java | 109 ++++
.../events/LifecycleAwareListenerTest.java | 80 +++
.../ignite/internal/metric/JmxExporterSpiTest.java | 6 +-
.../ignite/internal/metric/SystemViewSelfTest.java | 59 ++
.../AuthenticationConfigurationClusterTest.java | 22 +-
.../cache/AbstractDataTypesCoverageTest.java | 36 +-
.../cache/CacheAffinityCallSelfTest.java | 50 +-
.../cache/CacheTopologyValidatorProviderTest.java | 205 +++++++
.../processors/cache/GridCacheVersionSelfTest.java | 8 +
.../cache/IgniteCacheManyAsyncOperationsTest.java | 35 ++
.../IgniteTopologyValidatorAbstractCacheTest.java | 98 +++-
...TopologyValidatorAbstractTxCacheGroupsTest.java | 2 +
...IgniteTopologyValidatorAbstractTxCacheTest.java | 2 +
...teTopologyValidatorCacheGroupsAbstractTest.java | 66 ++-
.../GridBinaryCacheEntryMemorySizeSelfTest.java | 3 +-
.../consistency/AbstractFullSetReadRepairTest.java | 237 +++++---
.../cache/consistency/AbstractReadRepairTest.java | 519 +++++++++++-----
.../cache/consistency/AtomicReadRepairTest.java | 207 -------
.../AtomicReadRepairTest.java} | 13 +-
.../ExplicitTransactionalReadRepairTest.java | 105 ++--
.../ImplicitTransactionalReadRepairTest.java | 50 +-
...licatedExplicitTransactionalReadRepairTest.java | 2 +-
...licatedImplicitTransactionalReadRepairTest.java | 2 +-
...eBackupExplicitTransactionalReadRepairTest.java | 2 +-
...eBackupImplicitTransactionalReadRepairTest.java | 2 +-
.../PdsAtomicReadRepairTest.java} | 10 +-
.../PdsExplicitTransactionalReadRepairTest.java} | 10 +-
.../PdsImplicitTransactionalReadRepairTest.java} | 10 +-
.../OutOfMemoryVolatileRegionTest.java | 8 +-
...WaitForBackupsOnShutdownSystemPropertyTest.java | 92 +++
.../IgnitePdsCheckpointMapSnapshotTest.java | 222 +++++++
.../persistence/IgnitePdsDestroyCacheTest.java | 84 +++
.../IgnitePdsRecoveryAfterFileCorruptionTest.java | 42 +-
.../IgnitePdsSporadicDataRecordsOnBackupTest.java | 14 +-
...CheckpointSimulationWithRealCpDisabledTest.java | 4 +-
.../persistence/db/wal/IgniteWalRebalanceTest.java | 244 ++++++--
.../db/wal/reader/IgniteWalReaderTest.java | 27 +-
.../IgniteClusterSnapshotRestoreSelfTest.java | 16 +
.../snapshot/IgniteClusterSnapshotSelfTest.java | 8 +-
.../snapshot/IgniteSnapshotMXBeanTest.java | 104 +++-
.../snapshot/IgniteSnapshotManagerSelfTest.java | 28 +
.../IgniteSnapshotRestoreFromRemoteTest.java | 41 ++
.../IgniteSnapshotWithMetastorageTest.java | 3 +-
.../persistence/tree/io/TrackingPageIOTest.java | 2 +
.../reader/StandaloneWalRecordsIteratorTest.java | 150 ++++-
.../TxPartitionCounterStateConsistencyTest.java | 4 +-
.../cluster/ClusterReadOnlyModeSelfTest.java | 20 +-
.../processors/compute/ComputeGridMonitorTest.java | 381 ++++++++++++
.../compute/ComputeJobChangePriorityTest.java | 259 ++++++++
.../processors/compute/ComputeJobStatusTest.java | 457 +++++++++++++++
.../ComputeTaskWithWithoutFullSupportTest.java | 142 +++++
.../NoopJob.java} | 11 +-
.../database/BPlusTreeReplaceRemoveRaceTest.java | 144 +++--
.../processors/service/GridServiceMetricsTest.java | 323 ++++++++++
.../GridServiceProcessorAbstractSelfTest.java | 23 +-
.../service/GridServiceProcessorProxySelfTest.java | 184 ++++--
.../service/IgniteServiceCallContextTest.java | 15 +
.../processors/service/inner/MyService.java | 7 +
.../apache/ignite/internal/util/EchoServer.java | 139 +++++
.../ignite/internal/util/IgniteUtilsUnitTest.java | 72 +++
.../internal/util/nio/GridNioServerTest.java | 95 +++
.../ignite/platform/PlatformDeployServiceTask.java | 34 +-
.../platform/PlatformServiceCallThinTask.java | 10 +-
.../platform/PlatformSetUseBinaryArrayTask.java | 71 +++
.../platform/model/{Role.java => AccessLevel.java} | 20 +-
.../org/apache/ignite/platform/model/Role.java | 16 +-
.../session/GridSessionCheckpointSelfTest.java | 8 +-
.../collision/GridTestCollisionTaskSession.java | 140 ++---
.../apache/ignite/testframework/GridTestUtils.java | 33 ++
.../testframework/junits/GridAbstractTest.java | 2 +-
.../junits/GridTestBinaryMarshaller.java | 3 +-
.../testframework/junits/IgniteTestResources.java | 6 +-
.../junits/common/GridCommonAbstractTest.java | 16 +
.../junits/multijvm/IgniteCacheProcessProxy.java | 3 +-
.../testsuites/IgniteBinaryObjectsTestSuite.java | 2 +
.../IgniteCacheConsistencySelfTestSuite.java | 55 ++
.../IgniteCacheDataStructuresSelfTestSuite.java | 17 -
.../ignite/testsuites/IgniteCacheTestSuite7.java | 2 +
.../testsuites/IgniteComputeGridTestSuite.java | 11 +-
.../testsuites/IgniteKernalSelfTestSuite.java | 4 +-
.../testsuites/IgniteMarshallerSelfTestSuite.java | 4 +-
.../ignite/testsuites/IgnitePdsTestSuite4.java | 2 +
.../testsuites/IgniteServiceGridTestSuite.java | 2 +
.../IgniteTopologyValidatorTestSuite.java | 2 +
.../ignite/testsuites/IgniteUtilSelfTestSuite.java | 4 +
...mandHandlerClusterByClassTest_cache_help.output | 2 +-
...ridCommandHandlerClusterByClassTest_help.output | 2 +-
...dlerClusterByClassWithSSLTest_cache_help.output | 2 +-
...andHandlerClusterByClassWithSSLTest_help.output | 2 +-
.../development/utils/IgniteWalConverter.java | 8 +-
.../utils/IgniteWalConverterArguments.java | 2 +-
.../apache/ignite/development/utils/WalStat.java | 13 +-
.../utils/IgniteWalConverterArgumentsTest.java | 18 +-
modules/ducktests/pom.xml | 26 +
.../tests/ignitetest/services/utils/ignite_spec.py | 4 +-
.../tests/control_utility/consistency_test.py | 2 +-
.../managers/systemview/SystemViewLocal.java | 3 +-
.../cache/query/GridCacheTwoStepQuery.java | 1 +
.../cache/query/RegisteredQueryCursor.java | 6 +-
.../processors/query/h2/CommandProcessor.java | 4 +-
.../query/h2/GridSubqueryJoinOptimizer.java | 3 +
.../query/h2/H2QueryFetchSizeInterceptor.java | 4 +-
.../internal/processors/query/h2/H2QueryInfo.java | 45 +-
.../internal/processors/query/h2/H2Utils.java | 6 +-
.../processors/query/h2/IgniteH2Indexing.java | 81 ++-
.../processors/query/h2/MapH2QueryInfo.java | 18 +-
.../processors/query/h2/ReduceH2QueryInfo.java | 7 +-
.../processors/query/h2/database/H2TreeIndex.java | 6 +-
.../internal/processors/query/h2/dml/DmlUtils.java | 6 +-
.../processors/query/h2/index/H2RowComparator.java | 16 +-
.../query/h2/index/client/ClientInlineIndex.java | 17 +-
.../query/h2/sql/GridSqlQuerySplitter.java | 6 +-
.../processors/query/h2/sql/SqlAstTraverser.java | 15 +
.../query/h2/twostep/GridMapQueryExecutor.java | 27 +-
.../query/h2/twostep/GridReduceQueryExecutor.java | 189 +++---
.../query/h2/twostep/msg/GridH2DmlRequest.java | 3 +-
.../query/h2/twostep/msg/GridH2DmlResponse.java | 3 +-
.../query/h2/twostep/msg/GridH2QueryRequest.java | 43 +-
.../IndexQueryCacheKeyValueEscapedFieldsTest.java} | 20 +-
.../query/IndexQueryCacheKeyValueFieldsTest.java | 168 ++++++
.../cache/query/IndexQueryInlineSizesTest.java | 206 +++++++
.../ignite/cache/query/IndexQueryTestSuite.java | 3 +
.../cache/query/MultifieldIndexQueryTest.java | 10 +
.../org/apache/ignite/client/ClientTestSuite.java | 2 +
.../IgniteCacheAbstractSqlDmlQuerySelfTest.java | 4 +-
...gniteCacheJoinPartitionedAndReplicatedTest.java | 101 ++++
.../cache/IgniteCacheUpdateSqlQuerySelfTest.java | 6 +
.../processors/cache/index/ArrayIndexTest.java | 67 ++-
.../processors/cache/index/BasicIndexTest.java | 68 +++
.../cache/index/BasicSqlTypesIndexTest.java | 24 +-
.../cache/index/H2DynamicTableSelfTest.java | 62 ++
.../cache/index/PojoIndexLocalQueryTest.java | 521 +++++++++++++++++
.../cache/metric/SqlViewExporterSpiTest.java | 26 +
.../persistence/db/wal/IgniteWalRecoveryTest.java | 7 +-
.../IgniteClusterSnapshotRestoreMetricsTest.java | 253 ++++++++
...niteClusterSnapshotRestoreWithIndexingTest.java | 2 +-
.../query/IgniteSqlSplitterSelfTest.java | 1 -
.../processors/query/SqlSystemViewsSelfTest.java | 62 ++
.../h2/GridSubqueryJoinOptimizerSelfTest.java | 47 ++
.../internal/systemview/JmxExporterSpiTest.java | 73 +++
.../apache/ignite/sqltests/SqlByteArrayTest.java | 79 +++
.../ignite/sqltests/SqlDataTypesCoverageTests.java | 10 +-
.../IgniteBinaryCacheQueryTestSuite.java | 2 +
.../IgniteBinaryCacheQueryTestSuite2.java | 2 +
.../testsuites/IgnitePdsWithIndexingTestSuite.java | 2 -
.../IgniteSnapshotWithIndexingTestSuite.java | 6 +-
.../testsuites/IgniteStatisticsTestSuite.java | 4 +-
.../apache/ignite/logger/log4j2/Log4J2Logger.java | 26 +-
modules/mesos/pom.xml | 2 +-
.../ignite/mesos/IgniteSchedulerSelfTest.java | 16 +
modules/ml/pom.xml | 2 +-
modules/ml/spark-model-parser/pom.xml | 6 +
modules/numa-allocator/README.md | 141 +++++
modules/numa-allocator/pom.xml | 210 +++++++
modules/numa-allocator/src/main/cpp/CMakeLists.txt | 45 ++
.../src/main/cpp/include/numa/numa_alloc.h | 110 ++++
.../org_apache_ignite_internal_mem_NumaAllocUtil.h | 38 ++
.../src/main/cpp/src/numa/numa_alloc.cpp | 214 +++++++
...rg_apache_ignite_internal_mem_NumaAllocUtil.cpp | 129 ++++
.../apache/ignite/internal/mem/NumaAllocUtil.java | 151 +++++
.../mem/InterleavedNumaAllocationStrategy.java | 78 +++
.../ignite/mem/LocalNumaAllocationStrategy.java} | 30 +-
.../apache/ignite/mem/NumaAllocationStrategy.java} | 16 +-
.../java/org/apache/ignite/mem/NumaAllocator.java | 53 ++
.../ignite/mem/SimpleNumaAllocationStrategy.java | 77 +++
.../internal/mem/NumaAllocatorBasicTest.java | 177 ++++++
.../ignite/internal/mem/NumaAllocatorUnitTest.java | 121 ++++
.../ignite/testsuites/NumaAllocatorTestSuite.java} | 14 +-
modules/platforms/cpp/CMakeLists.txt | 31 +-
.../include/ignite/impl/binary/binary_utils.h | 4 +-
.../ignite/impl/interop/interop_input_stream.h | 31 +-
.../include/ignite/impl/interop/interop_memory.h | 6 +-
.../ignite/impl/interop/interop_output_stream.h | 53 +-
.../cpp/binary/src/binary/binary_type.cpp | 1 +
.../cpp/binary/src/impl/binary/binary_schema.cpp | 1 +
.../cpp/binary/src/impl/binary/binary_utils.cpp | 21 +-
.../src/impl/interop/interop_input_stream.cpp | 155 ++---
.../cpp/binary/src/impl/interop/interop_memory.cpp | 2 +-
.../src/impl/interop/interop_output_stream.cpp | 140 ++---
modules/platforms/cpp/common/CMakeLists.txt | 1 +
.../cpp/common/include/ignite/common/bits.h | 22 +-
.../cpp/common/include/ignite/common/concurrent.h | 3 +-
.../include/ignite/common/factory.h} | 38 +-
.../common/include/ignite/common/platform_utils.h | 7 +
.../cpp/common/include/ignite/common/promise.h | 92 +++
.../common/include/ignite/common/shared_state.h | 174 ++++++
.../cpp/common/include/ignite/common/thread_pool.h | 214 +++++++
.../cpp/common/include/ignite/common/utils.h | 104 +++-
.../platforms/cpp/common/include/ignite/future.h | 125 ++++
.../common/os/linux/include/ignite/common/common.h | 12 +
.../os/linux/include/ignite/common/concurrent_os.h | 52 ++
.../common/os/linux/src/common/concurrent_os.cpp | 42 ++
.../common/os/linux/src/common/platform_utils.cpp | 22 +-
.../common/os/win/include/ignite/common/common.h | 3 +
.../os/win/include/ignite/common/concurrent_os.h | 52 ++
.../cpp/common/os/win/src/common/concurrent_os.cpp | 41 ++
.../common/os/win/src/common/platform_utils.cpp | 23 +-
.../cpp/common/src/common/big_integer.cpp | 2 +-
modules/platforms/cpp/common/src/common/bits.cpp | 74 ++-
.../cpp/common/src/common/thread_pool.cpp | 216 +++++++
modules/platforms/cpp/common/src/common/utils.cpp | 62 +-
modules/platforms/cpp/common/src/guid.cpp | 15 +-
modules/platforms/cpp/core-test/CMakeLists.txt | 12 +-
.../cpp/core-test/config/cache-query-schema-32.xml | 52 ++
.../config/cache-query-schema-default.xml | 60 ++
.../cpp/core-test/config/cache-query-schema.xml | 34 ++
.../cpp/core-test/src/cache_query_schema_test.cpp | 312 ++++++++++
.../cpp/core-test/src/continuous_query_test.cpp | 36 +-
.../include/ignite/cache/event/cache_entry_event.h | 67 ++-
.../cache/query/continuous/continuous_query_impl.h | 6 +-
modules/platforms/cpp/examples/CMakeLists.txt | 6 +
modules/platforms/cpp/network/CMakeLists.txt | 32 +-
.../include/ignite/network/async_client_pool.h | 81 +++
.../network/include/ignite/network/async_handler.h | 87 +++
.../cpp/network/include/ignite/network/codec.h | 79 +++
.../include/ignite/network/codec_data_filter.h | 112 ++++
.../network/include/ignite/network/data_buffer.h | 139 +++++
.../network/include/ignite/network/data_filter.h | 105 ++++
.../include/ignite/network/data_filter_adapter.h | 147 +++++
.../cpp/network/include/ignite/network/data_sink.h | 65 +++
.../cpp/network/include/ignite/network/end_point.h | 15 +
.../include/ignite/network/length_prefix_codec.h | 115 ++++
.../cpp/network/include/ignite/network/network.h | 30 +-
.../network/include/ignite/network/socket_client.h | 16 +-
.../{utils.h => ssl/secure_configuration.h} | 27 +-
.../ignite/network/ssl/secure_data_filter.h | 245 ++++++++
.../cpp/network/include/ignite/network/tcp_range.h | 34 +-
.../cpp/network/include/ignite/network/utils.h | 11 +
.../os/linux/src/network/connecting_context.cpp | 110 ++++
.../os/linux/src/network/connecting_context.h | 96 +++
.../os/linux/src/network/linux_async_client.cpp | 198 +++++++
.../os/linux/src/network/linux_async_client.h | 249 ++++++++
.../linux/src/network/linux_async_client_pool.cpp | 212 +++++++
.../os/linux/src/network/linux_async_client_pool.h | 205 +++++++
.../src/network/linux_async_worker_thread.cpp | 348 +++++++++++
.../linux/src/network/linux_async_worker_thread.h | 163 ++++++
.../cpp/network/os/linux/src/network/sockets.cpp | 68 ++-
.../cpp/network/os/linux/src/network/sockets.h | 21 +-
.../os/linux/src/network/tcp_socket_client.cpp | 48 +-
.../cpp/network/os/win/src/network/sockets.cpp | 98 +++-
.../cpp/network/os/win/src/network/sockets.h | 26 +
.../os/win/src/network/tcp_socket_client.cpp | 91 +--
.../cpp/network/os/win/src/network/utils.cpp | 1 +
.../os/win/src/network/win_async_client.cpp | 185 ++++++
.../network/os/win/src/network/win_async_client.h | 279 +++++++++
.../os/win/src/network/win_async_client_pool.cpp | 239 ++++++++
.../os/win/src/network/win_async_client_pool.h | 211 +++++++
.../src/network/win_async_connecting_thread.cpp | 252 ++++++++
.../win/src/network/win_async_connecting_thread.h | 127 ++++
.../os/win/src/network/win_async_worker_thread.cpp | 145 +++++
.../os/win/src/network/win_async_worker_thread.h | 76 +++
.../src/network/async_client_pool_adapter.cpp | 75 +++
.../src/network/async_client_pool_adapter.h | 111 ++++
.../cpp/network/src/network/codec_data_filter.cpp | 108 ++++
.../cpp/network/src/network/data_buffer.cpp | 126 ++++
.../network/src/network/error_handling_filter.cpp | 86 +++
.../network/src/network/error_handling_filter.h | 83 +++
.../network/src/network/length_prefix_codec.cpp | 94 +++
.../platforms/cpp/network/src/network/network.cpp | 35 +-
.../network/src/network/ssl/secure_data_filter.cpp | 296 ++++++++++
.../src/network/ssl/secure_socket_client.cpp | 180 ++----
.../network/src/network/ssl/secure_socket_client.h | 54 +-
.../cpp/network/src/network/ssl/secure_utils.cpp | 206 +++++++
.../cpp/network/src/network/ssl/secure_utils.h | 92 +++
.../cpp/network/src/network/ssl/ssl_gateway.cpp | 299 ++++++++--
.../cpp/network/src/network/ssl/ssl_gateway.h | 69 ++-
.../cpp/network/src/network/tcp_socket_client.h | 11 -
modules/platforms/cpp/odbc-test/CMakeLists.txt | 13 +-
.../cpp/odbc-test/config/queries-schema-32.xml | 39 +-
.../odbc-test/config/queries-schema-default.xml | 68 +++
.../cpp/odbc-test/config/queries-schema.xml | 31 +-
.../cpp/odbc-test/src/sql_schema_test.cpp | 337 +++++++++++
.../platforms/cpp/odbc-test/src/sql_types_test.cpp | 4 +-
.../platforms/cpp/odbc-test/src/streaming_test.cpp | 116 ++--
.../cpp/odbc/include/ignite/odbc/connection.h | 2 +-
.../include/ignite/odbc/query/internal_query.h | 10 -
.../cpp/odbc/include/ignite/odbc/query/query.h | 7 +-
.../include/ignite/odbc/query/streaming_query.h | 7 -
.../cpp/odbc/include/ignite/odbc/utility.h | 8 -
.../cpp/odbc/src/app/application_data_buffer.cpp | 28 +-
modules/platforms/cpp/odbc/src/connection.cpp | 16 +-
.../cpp/odbc/src/query/streaming_query.cpp | 5 -
modules/platforms/cpp/odbc/src/utility.cpp | 15 -
.../platforms/cpp/thin-client-test/CMakeLists.txt | 12 +-
.../config/cache-query-continuous-32.xml | 35 +-
.../config/cache-query-continuous-default.xml | 98 ++++
.../config/cache-query-continuous.xml | 27 +-
.../config/ssl-no-client-auth-32.xml | 33 +-
.../config/ssl-no-client-auth-default.xml | 84 +++
.../thin-client-test/config/ssl-no-client-auth.xml | 24 +-
.../cpp/thin-client-test/src/cache_client_test.cpp | 40 +-
.../thin-client-test/src/continuous_query_test.cpp | 528 +++++++++++++++++
.../thin-client-test/src/ignite_client_test.cpp | 56 +-
.../thin-client-test/src/sql_fields_query_test.cpp | 1 +
.../cpp/thin-client-test/src/ssl_test.cpp | 208 ++++++-
.../cpp/thin-client-test/src/test_utils.cpp | 2 +-
modules/platforms/cpp/thin-client/CMakeLists.txt | 1 +
.../ignite/impl/thin/cache/cache_client_proxy.h | 11 +
.../continuous/continuous_query_client_holder.h | 182 ++++++
.../thin/cache/query/query_fields_cursor_impl.h | 147 -----
.../impl/thin/cache/query/query_fields_row_impl.h | 197 -------
.../include/ignite/impl/thin/writable_key.h | 1 +
.../include/ignite/thin/cache/cache_client.h | 21 +-
.../include/ignite/thin/cache/cache_entry.h | 168 ++++++
.../ignite/thin/cache/event/cache_entry_event.h | 221 +++++++
.../thin/cache/event/cache_entry_event_listener.h | 82 +++
.../query/continuous/continuous_query_client.h | 232 ++++++++
.../query/continuous/continuous_query_handle.h | 78 +++
.../ignite/thin/ignite_client_configuration.h | 39 +-
.../src/impl/cache/cache_client_impl.cpp | 68 ++-
.../thin-client/src/impl/cache/cache_client_impl.h | 18 +-
.../src/impl/cache/cache_client_proxy.cpp | 15 +-
.../continuous/continuous_query_handle_impl.h | 90 +++
.../continuous_query_notification_handler.cpp | 63 ++
.../continuous_query_notification_handler.h | 96 +++
.../thin-client/src/impl/cache/query/cursor_page.h | 5 +-
.../thin-client/src/impl/channel_state_handler.h | 68 +++
.../src/impl/compute/compute_client_impl.cpp | 86 ++-
.../cpp/thin-client/src/impl/data_channel.cpp | 414 +++++++------
.../cpp/thin-client/src/impl/data_channel.h | 327 ++++-------
.../cpp/thin-client/src/impl/data_router.cpp | 386 ++++++++----
.../cpp/thin-client/src/impl/data_router.h | 288 ++++-----
.../thin-client/src/impl/ignite_client_impl.cpp | 6 +-
.../platforms/cpp/thin-client/src/impl/message.cpp | 105 ++--
.../platforms/cpp/thin-client/src/impl/message.h | 445 +++++++++++---
.../thin-client/src/impl/notification_handler.h | 284 +++++++++
.../src/impl/transactions/transaction_impl.cpp | 2 +-
.../src/impl/transactions/transaction_impl.h | 2 +-
.../platforms/cpp/thin-client/src/impl/utility.cpp | 1 +
.../Apache.Ignite.Core.Tests/Binary/EnumsTest.cs | 144 +++++
.../Platform/PlatformCacheWithPersistenceTest.cs | 239 ++++++++
.../Cache/Query/CacheDmlQueriesTestSchema.cs | 255 ++++++++
.../Client/ClientConnectionTest.cs | 211 +++++++
.../Client/ClientTestBase.cs | 10 +-
.../ClientProtocolCompatibilityTest.cs | 2 +-
.../Client/Compute/ComputeClientTests.cs | 2 +-
.../Client/IgniteClientConfigurationTest.cs | 2 -
.../Client/Services/ITestService.cs | 6 +
.../Client/Services/ServicesClientTest.cs | 122 +++-
.../Client/Services/TestService.cs | 24 +-
.../Client/TestRetryPolicy.cs | 57 ++
.../Compute/ComputeApiTest.cs | 9 -
.../Compute/IgniteExceptionTaskSelfTest.cs | 48 +-
.../Config/full-config.xml | 4 +-
.../IgniteConfigurationSerializerTest.cs | 13 +-
.../IgniteConfigurationTest.cs | 20 +-
.../Apache.Ignite.Core.Tests/IgnitionStartTest.cs | 3 +-
.../PlatformComputeBinarizable.cs} | 19 +-
.../Services/CallPlatformServiceTest.cs | 32 +-
.../Services/IJavaService.cs | 9 +-
.../Services/JavaServiceDynamicProxy.cs | 12 +-
.../Apache.Ignite.Core.Tests/Services/Model.cs | 13 +-
.../Services/PlatformTestService.cs | 24 +-
.../Services/ServiceProxyTest.cs | 2 +-
.../Services/ServicesTest.cs | 265 ++++++---
.../Services/ServicesTestAsync.cs | 22 +
.../Services/ServicesTestFullFooter.cs | 22 +
.../Services/ServicesTypeAutoResolveTest.cs | 205 +++++--
.../dotnet/Apache.Ignite.Core.Tests/TestUtils.cs | 34 +-
.../Client/ClientOperationType.cs | 219 +++++++
.../ClientRetryAllPolicy.cs} | 22 +-
.../Client/ClientRetryReadPolicy.cs | 55 ++
.../IClientRetryPolicy.cs} | 23 +-
.../IClientRetryPolicyContext.cs} | 28 +-
.../Client/IgniteClientConfiguration.cs | 22 +
.../Client/Services/IClientServiceDescriptor.cs | 71 +++
.../Client/Services/IServicesClient.cs | 30 +
.../Configuration/DataStorageConfiguration.cs | 66 ++-
.../Configuration/SystemDataRegionConfiguration.cs | 84 +++
.../IgniteClientConfigurationSection.xsd | 17 +
.../IgniteConfigurationSection.xsd | 21 +-
.../Apache.Ignite.Core/Impl/Cache/CacheImpl.cs | 8 +-
.../Apache.Ignite.Core/Impl/Cache/CacheOp.cs | 3 +-
.../Impl/Cache/Platform/PlatformCache.cs | 15 +-
.../Impl/Client/ClientBitmaskFeature.cs | 3 +-
.../Impl/Client/ClientFailoverSocket.cs | 172 +++++-
.../Apache.Ignite.Core/Impl/Client/ClientOp.cs | 2 +
.../Impl/Client/ClientOpExtensions.cs | 158 +++++
.../Impl/Client/ClientRetryPolicyContext.cs | 59 ++
.../Client/Services/ClientServiceDescriptor.cs | 68 +++
.../Impl/Client/Services/ServicesClient.cs | 65 ++-
.../Apache.Ignite.Core/Impl/Common/TypeCaster.cs | 38 +-
.../Impl/Services/ServiceDescriptor.cs | 4 +-
.../Impl/Services/ServiceProxyInvoker.cs | 25 +-
.../Impl/Services/ServiceProxySerializer.cs | 33 +-
.../Apache.Ignite.Core/Impl/Services/Services.cs | 28 +-
.../{Impl/Common => Platform}/PlatformType.cs | 8 +-
modules/rest-http/README.txt | 3 +
modules/rest-http/pom.xml | 7 +-
.../http/jetty/GridJettyObjectMapper.java | 15 +
.../util/spring/IgniteSpringHelperImpl.java | 47 +-
.../resource/GridServiceInjectionSelfTest.java | 6 -
modules/zookeeper/pom.xml | 59 +-
.../ipfinder/zk/TcpDiscoveryZookeeperIpFinder.java | 398 -------------
.../discovery/tcp/ipfinder/zk/package-info.java | 22 -
.../tcp/ipfinder/zk/ZookeeperIpFinderTest.java | 409 -------------
packaging/deb/changelog | 6 +
packaging/rpm/apache-ignite.spec | 5 +-
parent/pom.xml | 10 +-
pom.xml | 8 +
714 files changed, 33955 insertions(+), 7768 deletions(-)
diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/BasicIndexTest.java
index adf264c,81586bd..9bfac4d
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/BasicIndexTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/BasicIndexTest.java
@@@ -23,18 -23,19 +23,21 @@@ import java.util.Collection
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Objects;
+ import java.util.UUID;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
-
import javax.cache.CacheException;
+
import org.apache.ignite.IgniteCache;
import org.apache.ignite.IgniteCheckedException;
+ import org.apache.ignite.binary.BinaryObjectBuilder;
+import org.apache.ignite.cache.CacheKeyConfiguration;
import org.apache.ignite.cache.QueryEntity;
import org.apache.ignite.cache.QueryIndex;
+ import org.apache.ignite.cache.QueryIndexType;
import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction;
import org.apache.ignite.cache.query.FieldsQueryCursor;
import org.apache.ignite.cache.query.SqlFieldsQuery;
@@@ -1523,104 -1521,73 +1526,169 @@@ public class BasicIndexTest extends Abs
assertNull(GridTestUtils.getFieldValue(tblDesc1, "luceneIdx"));
}
-
+
+ /**
+ * Checks that part of the composite key assembled in BinaryObjectBuilder can pass the validation correctly
+ * if you specify Object type when creating the index.
+ *
+ * @throws Exception If failed.
+ */
+ @Test
+ public void testCacheSecondaryCompositeIndex() throws Exception {
+ inlineSize = 70;
-
++
+ startGrid();
-
++
+ String cacheName = "TEST";
+
+ List<QueryIndex> indexes = Collections.singletonList(
+ new QueryIndex("val_obj", QueryIndexType.SORTED).setInlineSize(inlineSize)
+ );
+
+ grid().createCache(new CacheConfiguration<>()
+ .setName(cacheName)
+ .setSqlSchema(cacheName)
+ .setAffinity(new RendezvousAffinityFunction(false, 4))
+ .setQueryEntities(Collections.singleton(new QueryEntity()
+ .setTableName(cacheName)
+ .setKeyType(Integer.class.getName())
+ .setKeyFieldName("id")
+ .setValueType("TEST_VAL_SECONDARY_COMPOSITE")
+ .addQueryField("id", Integer.class.getName(), null)
+ .addQueryField("val_obj", Object.class.getName(), null)
+ .setIndexes(indexes)
+ ))
+ );
-
++
+ BinaryObjectBuilder bob = grid().binary().builder("TEST_VAL_SECONDARY_COMPOSITE");
+ BinaryObjectBuilder bobInner = grid().binary().builder("inner");
-
++
+ bobInner.setField("inner_k", 0);
+ bobInner.setField("inner_uuid", UUID.randomUUID());
-
++
+ bob.setField("val_obj", bobInner.build());
-
++
+ IgniteCache<Object, Object> cache = grid().cache(cacheName);
+
+ cache.put(0, bob.build());
+
+ BinaryObjectBuilder alice = grid().binary().builder("TEST_VAL_SECONDARY_COMPOSITE");
+ BinaryObjectBuilder aliceInner = grid().binary().builder("inner2");
+
+ aliceInner.setField("inner_k2", 0);
+ aliceInner.setField("inner_uuid2", UUID.randomUUID());
+
+ alice.setField("val_obj", aliceInner.build());
+
+ cache.put(1, alice.build());
+
+ List<List<?>> rows = execSql(cache.withKeepBinary(), "SELECT id, val_obj FROM " + cacheName);
+
+ assertEquals(2, rows.size());
+
+ for (List<?> row : rows) {
+ assertNotNull(row.get(0));
+ assertNotNull("id = " + row.get(0), row.get(1));
+ }
+ }
+
/** */
+ @Test
+ public void testCreateSystemIndexWithSpecifiedInlineSizeByApi() throws Exception {
+ inlineSize = 10;
+
+ final int pkInlineSize = 22;
+ final int affInlineSize = 23;
+
+ IgniteEx ign = startGrid();
+
+ ign.createCache(
+ new CacheConfiguration<>()
+ .setName("test")
+ .setQueryEntities(Collections.singleton(
+ new QueryEntityEx(
+ new QueryEntity()
+ .setKeyType("TestKeyType")
+ .setValueType("TestValType")
+ .addQueryField("ID", String.class.getName(), null)
+ .addQueryField("ID_AFF", Integer.class.getName(), null)
+ .addQueryField("VAL", Integer.class.getName(), null)
+ .setKeyFields(new LinkedHashSet<>(Arrays.asList("ID", "ID_AFF")))
+ .setTableName("TEST")
+ )
+ .setPrimaryKeyInlineSize(pkInlineSize)
+ .setAffinityKeyInlineSize(affInlineSize)
+ ))
+ .setSqlSchema("PUBLIC")
+ .setKeyConfiguration(new CacheKeyConfiguration("TestKeyType", "ID_AFF"))
+ );
+
+ GridH2Table tbl = ((IgniteH2Indexing)ign.context().query().getIndexing()).schemaManager().dataTable("PUBLIC", "TEST");
+
+ assertEquals(pkInlineSize, ((H2TreeIndex)tbl.getIndex("_key_PK")).inlineSize());
+ assertEquals(affInlineSize, ((H2TreeIndex)tbl.getIndex("AFFINITY_KEY")).inlineSize());
+ }
+
+ /** */
+ @Test
+ public void testCreateSystemIndexWithSpecifiedInlineSizeByDdl() throws Exception {
+ inlineSize = 10;
+
+ final int pkInlineSize = 22;
+ final int affInlineSize = 23;
+
+ IgniteEx ign = startGrid();
+
+ sql("CREATE TABLE TEST (ID VARCHAR, ID_AFF INT, VAL INT, "
+ + "PRIMARY KEY (ID, ID_AFF)) WITH"
+ + "\""
+ + "AFFINITY_KEY=ID_AFF,"
+ + "PK_INLINE_SIZE=" + pkInlineSize + ","
+ + "AFFINITY_INDEX_INLINE_SIZE=" + affInlineSize
+ + "\""
+ );
+
+ GridH2Table tbl = ((IgniteH2Indexing)ign.context().query().getIndexing()).schemaManager().dataTable("PUBLIC", "TEST");
+
+ assertEquals(pkInlineSize, ((H2TreeIndex)tbl.getIndex("_key_PK")).inlineSize());
+ assertEquals(affInlineSize, ((H2TreeIndex)tbl.getIndex("AFFINITY_KEY")).inlineSize());
+ }
+
+ /** */
+ @Test
+ public void testCreateWrappedPkIndexByDdl() throws Exception {
+ inlineSize = 10;
+
+ IgniteEx ign = startGrid();
+
+ sql("CREATE TABLE TEST_WRAP (ID0 VARCHAR, ID1 INT, VAL INT, "
+ + "PRIMARY KEY (ID0, ID1)) WITH"
+ + "\""
+ + "PK_INDEX_UNWRAP_FILEDS=false"
+ + "\""
+ );
+
+ sql("CREATE TABLE TEST_UNWRAP_EXPLICIT (ID0 VARCHAR, ID1 INT, VAL INT, "
+ + "PRIMARY KEY (ID0, ID1)) WITH"
+ + "\""
+ + "PK_INDEX_UNWRAP_FILEDS=true"
+ + "\""
+ );
+
+ GridH2Table tblWrap = ((IgniteH2Indexing)ign.context().query().getIndexing()).schemaManager()
+ .dataTable("PUBLIC", "TEST_WRAP");
+ GridH2Table tblUnwrapExplicit = ((IgniteH2Indexing)ign.context().query().getIndexing()).schemaManager()
+ .dataTable("PUBLIC", "TEST_UNWRAP_EXPLICIT");
+
+ assertEquals(1, tblWrap.getIndex("_key_PK").getColumns().length);
+ assertEquals("_KEY", tblWrap.getIndex("_key_PK").getColumns()[0].getName());
+
+ assertEquals(2, tblUnwrapExplicit.getIndex("_key_PK").getColumns().length);
+ assertEquals("ID0", tblUnwrapExplicit.getIndex("_key_PK").getColumns()[0].getName());
+ assertEquals("ID1", tblUnwrapExplicit.getIndex("_key_PK").getColumns()[1].getName());
+ }
+
+ /** */
private void checkAll() {
IgniteCache<Key, Val> cache = grid(0).cache(DEFAULT_CACHE_NAME);