This is an automated email from the ASF dual-hosted git repository. mpochatkin pushed a commit to branch IGNITE-22394 in repository https://gitbox.apache.org/repos/asf/ignite-3.git
commit 1c4eb2b9ce88f4fa21303fc37083ff543e00d901 Merge: b25868f982 9d7bc87c1b Author: Mikhail Pochatkin <[email protected]> AuthorDate: Wed Jun 26 16:03:31 2024 +0300 Merge branch 'main' into IGNITE-22394 .../generate-version-file.gradle | 29 +- buildscripts/java-core.gradle | 1 + buildscripts/sql-parser-generator.gradle | 1 + .../config/storage/persistent.adoc | 1 - .../config/storage/rocksdb.adoc | 1 - .../config/storage/volatile.adoc | 1 - docs/_docs/general-tips.adoc | 3 - .../ignite/example/sql/ItSqlExamplesTest.java | 2 - .../apache/ignite/example/sql/SqlApiExample.java | 108 +- gradle/libs.versions.toml | 12 +- .../ignite/internal/affinity/Assignments.java | 20 + .../internal/affinity/TokenizedAssignments.java} | 17 +- .../affinity/TokenizedAssignmentsImpl.java | 62 + .../org/apache/ignite/catalog/IgniteCatalog.java | 55 + .../catalog/definitions/TableDefinition.java | 8 + ...ExecutionContext.java => AnyNodeJobTarget.java} | 34 +- .../apache/ignite/compute/ColocatedJobTarget.java | 59 + .../java/org/apache/ignite/compute/ComputeJob.java | 8 +- .../org/apache/ignite/compute/IgniteCompute.java | 139 +- .../org/apache/ignite/compute/JobExecution.java | 20 +- .../apache/ignite/compute/JobExecutionContext.java | 6 +- .../java/org/apache/ignite/compute/JobState.java | 46 +- .../java/org/apache/ignite/compute/JobStatus.java | 209 +- .../java/org/apache/ignite/compute/JobTarget.java | 109 + .../{ComputeJobRunner.java => MapReduceJob.java} | 11 +- .../apache/ignite/compute/task/MapReduceTask.java | 12 +- .../ignite/compute/{ => task}/TaskExecution.java | 18 +- .../ignite/compute/task/TaskExecutionContext.java | 7 + .../java/org/apache/ignite/lang/ErrorGroups.java | 20 +- .../apache/ignite/lang/MarshallerException.java | 5 +- .../ignite/lang/UnexpectedNullValueException.java | 2 +- .../apache/ignite/lang/util/IgniteNameUtils.java | 40 +- .../org/apache/ignite/sql/BatchedArguments.java | 152 +- .../org/apache/ignite/sql/SqlBatchException.java | 14 + .../apache/ignite/table/DataStreamerReceiver.java | 4 +- .../apache/ignite/table/DataStreamerTarget.java | 11 +- .../java/org/apache/ignite/table/KeyValueView.java | 1 + .../apache/ignite/table/ReceiverDescriptor.java | 126 + .../apache/ignite/sql/BatchedArgumentsTest.java | 107 + .../internal/catalog/sql/IgniteCatalogSqlImpl.java | 53 + .../catalog/sql/InvalidDefinitionTest.java | 26 + .../commands/AlterTableAddColumnCommand.java | 1 + .../internal/catalog/commands/CatalogUtils.java | 12 + .../catalog/commands/CreateTableCommand.java | 2 + .../SchemaSynchronizationConfigurationSchema.java | 3 +- .../internal/catalog/storage/UpdateLogImpl.java | 8 +- .../serialization/CatalogMarshallerException.java} | 30 +- .../serialization/UpdateLogMarshallerImpl.java | 5 +- .../ignite/internal/catalog/CatalogTableTest.java | 8 +- ...AlterTableAlterColumnCommandValidationTest.java | 64 +- .../commands/CreateTableCommandValidationTest.java | 59 + .../ignite/internal/cli/CliIntegrationTest.java | 12 + .../cli/call/metric/ItEnabledMetricCallsTest.java | 20 +- .../cli/call/metric/ItMetricCallsTest.java | 34 +- ...liCommandTestNotInitializedIntegrationBase.java | 7 + .../cli/commands/ItNonInitializedClusterTest.java | 161 ++ ...t.java => ItReplNonInitializedClusterTest.java} | 22 +- .../metric/ItEnabledNodeMetricCommandTest.java | 19 +- .../commands/metric/ItNodeMetricCommandTest.java | 8 +- .../reset}/ItResetPartitionsCommandTest.java | 6 +- .../reset}/ItResetPartitionsReplCommandTest.java | 5 +- .../reset}/ItResetPartitionsTest.java | 2 +- .../restart/ItRestartPartitionsCommandTest.java | 5 +- .../restart/ItRestartPartitionsTest.java | 2 +- .../states}/ItPartitionStatesCommandTest.java | 6 +- .../states}/ItPartitionStatesReplCommandTest.java | 5 +- .../states}/ItPartitionStatesTest.java | 2 +- .../internal/rest/ItGeneratedRestClientTest.java | 16 +- .../call/recovery/PartitionStatesCallInput.java | 2 +- .../recovery/reset/ResetPartitionsCallInput.java | 2 +- .../restart/RestartPartitionsCallInput.java | 2 +- .../cluster/config/ClusterConfigShowCommand.java | 4 +- .../config/ClusterConfigShowReplCommand.java | 2 +- .../cluster/config/ClusterConfigUpdateCommand.java | 4 +- .../config/ClusterConfigUpdateReplCommand.java | 2 +- .../cluster/topology/LogicalTopologyCommand.java | 4 +- .../topology/LogicalTopologyReplCommand.java | 2 +- .../cluster/unit/ClusterUnitDeployCommand.java | 2 +- .../cluster/unit/ClusterUnitDeployReplCommand.java | 2 +- .../cluster/unit/ClusterUnitListCommand.java | 2 +- .../cluster/unit/ClusterUnitListReplCommand.java | 2 +- .../cluster/unit/ClusterUnitUndeployCommand.java | 2 +- .../unit/ClusterUnitUndeployReplCommand.java | 2 +- .../node/metric/NodeMetricSetListCommand.java | 2 + .../node/metric/NodeMetricSetListReplCommand.java | 2 + .../metric/NodeMetricSourceDisableCommand.java | 2 +- .../metric/NodeMetricSourceDisableReplCommand.java | 2 +- .../node/metric/NodeMetricSourceEnableCommand.java | 2 +- .../metric/NodeMetricSourceEnableReplCommand.java | 2 +- .../node/metric/NodeMetricSourceListCommand.java | 2 +- .../metric/NodeMetricSourceListReplCommand.java | 2 +- .../commands/node/unit/NodeUnitListCommand.java | 2 +- .../node/unit/NodeUnitListReplCommand.java | 2 +- .../cli/commands/recovery/RecoveryCommand.java | 10 +- .../cli/commands/recovery/RecoveryReplCommand.java | 10 +- .../PartitionsCommand.java} | 20 +- .../PartitionsReplCommand.java} | 20 +- .../reset/ResetPartitionsCommand.java | 6 +- .../reset/ResetPartitionsMixin.java | 2 +- .../reset/ResetPartitionsReplCommand.java | 6 +- .../restart/RestartPartitionsCommand.java | 6 +- .../restart/RestartPartitionsMixin.java | 2 +- .../restart/RestartPartitionsReplCommand.java | 6 +- .../{ => states}/PartitionStatesCommand.java | 6 +- .../{ => states}/PartitionStatesMixin.java | 2 +- .../{ => states}/PartitionStatesReplCommand.java | 6 +- .../ClusterNotInitializedExceptionHandler.java | 18 + .../recovery/restart/RestartPartitionsTest.java | 33 +- .../internal/client/proto/ClientMessagePacker.java | 34 + .../client/proto/ClientMessageUnpacker.java | 27 +- .../ignite/internal/client/proto/ClientOp.java | 4 +- modules/client-handler/build.gradle | 1 + .../apache/ignite/client/handler/TestServer.java | 1 + .../ignite/client/handler/ClientHandlerModule.java | 15 +- .../handler/ClientInboundMessageHandler.java | 6 +- .../ClientConnectorConfigurationSchema.java | 2 +- .../ClientComputeExecuteColocatedRequest.java | 4 +- .../ClientComputeExecuteMapReduceRequest.java | 24 +- .../compute/ClientComputeExecuteRequest.java | 10 +- ...uest.java => ClientComputeGetStateRequest.java} | 26 +- .../requests/sql/ClientSqlExecuteBatchRequest.java | 14 +- ...ClientStreamerWithReceiverBatchSendRequest.java | 6 +- .../requests/table/ClientHandlerTupleTests.java | 5 +- .../ignite/client/handler/FakePlacementDriver.java | 12 +- .../apache/ignite/client/ClientOperationType.java | 8 +- .../org/apache/ignite/client/RetryReadPolicy.java | 2 +- .../apache/ignite/internal/client/ClientUtils.java | 4 +- .../internal/client/compute/ClientCompute.java | 114 +- .../client/compute/ClientJobExecution.java | 41 +- .../client/compute/ClientTaskExecution.java | 55 +- .../internal/client/sql/ClientAsyncResultSet.java | 7 +- .../ignite/internal/client/sql/ClientSql.java | 107 +- .../client/table/ClientKeyValueBinaryView.java | 15 +- .../internal/client/table/ClientKeyValueView.java | 82 +- .../client/table/ClientRecordBinaryView.java | 14 +- .../client/table/ClientRecordSerializer.java | 49 +- .../internal/client/table/ClientRecordView.java | 23 +- .../apache/ignite/client/AbstractClientTest.java | 9 +- .../apache/ignite/client/ClientComputeTest.java | 58 +- .../org/apache/ignite/client/ConnectionTest.java | 69 + .../org/apache/ignite/client/DataStreamerTest.java | 56 +- .../client/ObservableTimestampPropagationTest.java | 2 +- .../ignite/client/PartitionAwarenessTest.java | 28 +- .../java/org/apache/ignite/client/TestServer.java | 22 +- .../apache/ignite/client/fakes/FakeCompute.java | 144 +- .../management/ClusterManagementGroupManager.java | 4 +- .../topology/api/LogicalTopologyService.java | 2 +- .../cluster/management/ClusterInitializerTest.java | 2 +- .../ignite/internal/compute/ItComputeBaseTest.java | 100 +- .../internal/compute/ItComputeErrorsBaseTest.java | 8 +- .../internal/compute/ItComputeTestEmbedded.java | 118 +- .../internal/compute/ItComputeTestStandalone.java | 14 +- .../internal/compute/ItExecutionsCleanerTest.java | 4 +- .../compute/ItFailoverCandidateNotFoundTest.java | 4 +- .../ignite/internal/compute/ItMapReduceTest.java | 148 +- .../internal/compute/ItWorkerShutdownTest.java | 10 +- .../threading/ItComputeApiThreadingTest.java | 35 +- .../internal/compute/utils/InteractiveJobs.java | 14 +- .../internal/compute/utils/InteractiveTasks.java | 78 +- .../compute/utils/TestingJobExecution.java | 36 +- .../apache/ignite/internal/compute/ConcatJob.java | 9 +- .../apache/ignite/internal/compute/FailingJob.java | 3 +- .../ignite/internal/compute/GetNodeNameJob.java | 7 +- .../apache/ignite/internal/compute/MapReduce.java | 18 +- .../internal/compute/NonEmptyConstructorJob.java | 7 +- .../apache/ignite/internal/compute/SleepJob.java | 3 +- .../internal/compute/AntiHijackIgniteCompute.java | 55 +- .../internal/compute/AntiHijackJobExecution.java | 6 +- .../ignite/internal/compute/ComputeComponent.java | 18 +- .../internal/compute/ComputeComponentImpl.java | 20 +- .../internal/compute/ComputeJobFailover.java | 2 +- .../internal/compute/ComputeMessageTypes.java | 24 +- .../ignite/internal/compute/ComputeUtils.java | 26 +- .../internal/compute/DelegatingJobExecution.java | 6 +- .../ignite/internal/compute/ExecutionManager.java | 28 +- .../internal/compute/FailSafeJobExecution.java | 60 +- .../ignite/internal/compute/FailedExecution.java | 4 +- .../ignite/internal/compute/IgniteComputeImpl.java | 142 +- .../internal/compute/IgniteComputeInternal.java | 14 +- .../internal/compute/JobExecutionContextImpl.java | 2 +- .../compute/JobExecutionFutureWrapper.java | 6 +- .../internal/compute/JobExecutionWrapper.java | 6 +- .../compute/NextColocatedWorkerSelector.java | 2 +- .../internal/compute/TaskExecutionWrapper.java | 8 +- .../compute/executor/ComputeExecutorImpl.java | 9 +- .../compute/executor/JobExecutionInternal.java | 8 +- .../internal/compute/loader/JobContextManager.java | 2 +- ...{JobStatusRequest.java => JobStateRequest.java} | 6 +- ...obStatusResponse.java => JobStateResponse.java} | 18 +- ...bStatusesRequest.java => JobStatesRequest.java} | 6 +- ...tatusesResponse.java => JobStatesResponse.java} | 10 +- .../compute/messaging/ComputeMessaging.java | 129 +- .../compute/messaging/RemoteJobExecution.java | 6 +- .../compute/queue/PriorityQueueExecutor.java | 5 +- .../ignite/internal/compute/queue/QueueEntry.java | 25 +- .../internal/compute/queue/QueueExecution.java | 10 +- .../internal/compute/queue/QueueExecutionImpl.java | 19 +- .../compute/state/ComputeStateMachine.java | 32 +- ...sition.java => IllegalJobStatusTransition.java} | 24 +- .../compute/state/InMemoryComputeStateMachine.java | 97 +- .../compute/task/AntiHijackTaskExecution.java | 8 +- .../compute/task/DelegatingTaskExecution.java | 12 +- .../ignite/internal/compute/task/JobSubmitter.java | 4 +- .../TaskExecutionContextImpl.java} | 34 +- .../compute/task/TaskExecutionInternal.java | 107 +- .../internal/compute/ComputeComponentImplTest.java | 93 +- .../internal/compute/IgniteComputeImplTest.java | 27 +- .../compute/JobExecutionContextImplTest.java | 4 +- .../compute/executor/ComputeExecutorTest.java | 76 +- .../compute/loader/JobClassLoaderFactoryTest.java | 15 +- .../compute/queue/PriorityQueueExecutorTest.java | 67 +- .../state/InMemoryComputeStateMachineTest.java | 62 +- .../TaskExecutionContextImplTest.java} | 20 +- .../apache/ignite/internal/compute/UnitJob.java | 7 +- .../apache/ignite/internal/compute/UnitJob.java | 7 +- .../ignite/internal/compute/JobStateImpl.java} | 78 +- .../internal/replicator/ZonePartitionId.java | 122 + .../apache/ignite/internal/util/ArrayUtils.java | 4 + .../ignite/internal/util/CompletableFutures.java | 12 +- .../ignite/internal/hlc/HybridClockTest.java | 15 +- .../ignite/internal/hlc/HybridClockTestUtils.java | 47 - .../internal/util/CompletableFuturesTest.java | 54 +- .../ignite/internal/util/IgniteNameUtilsTest.java | 8 +- .../testframework/matchers/JobStateMatcher.java | 218 ++ .../testframework/matchers/JobStatusMatcher.java | 219 -- .../distributionzones/rebalance/RebalanceUtil.java | 207 +- ...istributionZoneManagerScaleUpScaleDownTest.java | 5 +- .../DistributionZonesTestUtil.java | 2 +- .../ignite/internal/network/file/TestCluster.java | 2 +- .../network/file/FileTransferServiceImpl.java | 4 +- .../internal/network/file/TestTopologyService.java | 2 +- modules/index/build.gradle | 3 + .../internal/index/ItBuildIndexOneNodeTest.java | 2 +- .../ignite/internal/index/ItBuildIndexTest.java | 2 +- .../index/ItDropIndexMultipleNodesTest.java | 2 +- .../index/ItRwTransactionAndIndexesTest.java | 2 +- .../internal/index/IndexBuildController.java | 6 +- .../ignite/internal/index/IndexBuildTask.java | 14 +- .../apache/ignite/internal/index/IndexBuilder.java | 14 +- .../index/ChangeIndexStatusTaskControllerTest.java | 2 +- .../internal/index/ChangeIndexStatusTaskTest.java | 2 +- .../IndexAvailabilityControllerRestorerTest.java | 2 +- .../index/IndexAvailabilityControllerTest.java | 17 +- .../internal/index/IndexBuildControllerTest.java | 37 +- .../ignite/internal/index/IndexBuilderTest.java | 10 +- .../internal/index/IndexManagementUtilsTest.java | 2 +- .../ignite/internal/index/TestPlacementDriver.java | 11 + .../ignite/internal/marshaller/FieldAccessor.java | 1 + .../ignite/internal/marshaller/Marshaller.java | 1 + .../internal/marshaller/FieldAccessorTest.java | 1 + .../impl/ItIdempotentCommandCacheTest.java | 2 +- .../metastorage/impl/MetaStorageManagerImpl.java | 15 +- .../server/raft/MetaStorageListener.java | 5 +- .../server/raft/MetaStorageWriteHandler.java | 21 +- .../impl/MetaStorageManagerRecoveryTest.java | 2 +- .../impl/StandaloneMetaStorageManager.java | 2 +- .../internal/network/processor/MessageClass.java | 7 + .../processor/messages/MessageImplGenerator.java | 17 + .../serialization/MessageSerializerGenerator.java | 16 +- .../SerializationFactoryGenerator.java | 2 +- modules/network-api/build.gradle | 1 + .../internal/network/AbstractClusterService.java | 1 - .../internal/network/AbstractTopologyService.java | 2 - .../internal}/network/ClusterNodeResolver.java | 3 +- .../ignite/internal/network/ClusterService.java | 1 - .../ignite/internal/network/NetworkMessage.java | 6 + .../internal}/network/TopologyEventHandler.java | 4 +- .../ignite/internal}/network/TopologyService.java | 4 +- .../internal/network/annotations/Transferable.java | 2 + .../network/SingleClusterNodeResolver.java | 4 +- .../scalecube/ItScaleCubeNetworkMessagingTest.java | 2 +- .../internal/network/DefaultMessagingService.java | 88 +- .../network/direct/DirectMessageWriter.java | 119 +- .../network/direct/state/DirectMessageState.java | 7 +- .../stream/DirectByteBufferStreamImplV1.java | 272 +- .../scalecube/ScaleCubeClusterServiceFactory.java | 2 +- .../scalecube/ScaleCubeTopologyService.java | 4 +- .../serialization/ClassDescriptorRegistry.java | 3 +- .../PerSessionSerializationService.java | 95 +- .../network/DefaultMessagingServiceTest.java | 1 - .../MessageSerializationRegistryImplTest.java | 5 + .../tree/AbstractBplusTreePageMemoryTest.java | 2 +- .../tree/AbstractBplusTreeReusePageMemoryTest.java | 16 +- .../tree/ItBplusTreeReplaceRemoveRaceTest.java | 2 +- .../internal/pagememory/PageIdAllocator.java | 89 +- .../PageMemoryLocalConfigurationModule.java | 7 +- .../schema/MemoryAllocatorConfigurationSchema.java | 32 - ...istentPageMemoryProfileConfigurationSchema.java | 4 - .../UnsafeMemoryAllocatorConfigurationSchema.java | 30 - ...latilePageMemoryProfileConfigurationSchema.java | 5 - .../pagememory/datastructure/DataStructure.java | 47 +- .../internal/pagememory/freelist/FreeListImpl.java | 6 +- .../pagememory/inmemory/VolatilePageMemory.java | 25 +- .../pagememory/mem/IgniteOutOfMemoryException.java | 2 +- .../persistence/PersistentPageMemory.java | 7 +- .../internal/pagememory/reuse/ReuseListImpl.java | 146 - .../pagememory/freelist/FreeListImplTest.java | 3 +- .../AbstractPageMemoryNoLoadSelfTest.java | 2 +- .../{index => partition-replicator}/build.gradle | 87 +- .../replicator/ItReplicaLifecycleTest.java | 936 +++++++ .../replicator/utils/TestPlacementDriver.java | 104 + .../PartitionReplicaLifecycleManager.java | 424 +++ .../replicator/ZonePartitionRaftListener.java | 57 + .../replicator/ZonePartitionReplicaListener.java | 47 + .../marshaller/PartitionCommandsMarshaller.java} | 28 +- .../PartitionCommandsMarshallerImpl.java | 4 +- .../ThreadLocalPartitionCommandsMarshaller.java | 58 + .../network/PartitionReplicationMessageGroup.java} | 83 +- .../replicator/network}/TimedBinaryRow.java | 4 +- .../network}/command/BuildIndexCommand.java | 9 +- .../network}/command/CatalogVersionAware.java | 4 +- .../network}/command/FinishTxCommand.java | 6 +- .../network}/command/PartitionCommand.java | 2 +- .../network}/command/TablePartitionIdMessage.java | 4 +- .../network}/command/TimedBinaryRowMessage.java | 8 +- .../network}/command/UpdateAllCommand.java | 8 +- .../replicator/network}/command/UpdateCommand.java | 6 +- .../network}/command/WriteIntentSwitchCommand.java | 6 +- .../network}/disaster/LocalPartitionStateEnum.java | 4 +- .../disaster}/LocalPartitionStateMessage.java | 7 +- .../disaster}/LocalPartitionStatesRequest.java | 4 +- .../disaster}/LocalPartitionStatesResponse.java | 4 +- .../replicator/network}/message/DataPresence.java | 2 +- .../network}/message/HasDataRequest.java | 6 +- .../network}/message/HasDataResponse.java | 6 +- .../network/raft}/SnapshotMetaRequest.java | 6 +- .../network/raft}/SnapshotMetaResponse.java | 6 +- .../network/raft}/SnapshotMvDataRequest.java | 6 +- .../network/raft}/SnapshotMvDataResponse.java | 13 +- .../network/raft}/SnapshotRequestMessage.java | 2 +- .../network/raft}/SnapshotTxDataRequest.java | 6 +- .../network/raft}/SnapshotTxDataResponse.java | 6 +- .../network/replication}/BinaryRowMessage.java | 6 +- .../network/replication}/BinaryTupleMessage.java | 6 +- .../replication}/BuildIndexReplicaRequest.java | 9 +- .../replication}/MultipleRowPkReplicaRequest.java | 3 +- .../replication}/MultipleRowReplicaRequest.java | 3 +- .../ReadOnlyDirectMultiRowReplicaRequest.java | 6 +- .../ReadOnlyDirectSingleRowReplicaRequest.java | 6 +- .../ReadOnlyMultiRowPkReplicaRequest.java | 6 +- .../replication}/ReadOnlyReplicaRequest.java | 2 +- .../ReadOnlyScanRetrieveBatchReplicaRequest.java | 6 +- .../ReadOnlySingleRowPkReplicaRequest.java | 6 +- .../ReadWriteMultiRowPkReplicaRequest.java | 6 +- .../ReadWriteMultiRowReplicaRequest.java | 6 +- .../replication}/ReadWriteReplicaRequest.java | 4 +- .../ReadWriteScanRetrieveBatchReplicaRequest.java | 6 +- .../ReadWriteSingleRowPkReplicaRequest.java | 6 +- .../ReadWriteSingleRowReplicaRequest.java | 6 +- .../ReadWriteSwapRowReplicaRequest.java | 6 +- .../network/replication}/RequestType.java | 2 +- .../replication}/ScanCloseReplicaRequest.java | 6 +- .../ScanRetrieveBatchReplicaRequest.java | 2 +- .../replication}/SingleRowPkReplicaRequest.java | 3 +- .../replication}/SingleRowReplicaRequest.java | 3 +- .../replication}/SwapRowReplicaRequest.java | 3 +- .../snapshot/FailFastSnapshotStorageFactory.java | 84 + modules/placement-driver-api/build.gradle | 2 + .../AssignmentsPlacementDriver.java | 43 + ...cementDriver.java => LeasePlacementDriver.java} | 16 +- .../internal/placementdriver/PlacementDriver.java | 52 +- .../placementdriver/TestPlacementDriver.java | 9 + .../placementdriver/AssignmentsTracker.java | 34 +- .../internal/placementdriver/LeaseUpdater.java | 13 +- .../placementdriver/PlacementDriverManager.java | 65 +- .../placementdriver/leases/LeaseTracker.java | 7 +- .../placementdriver/LeaseNegotiationTest.java | 5 +- .../internal/placementdriver/LeaseTrackerTest.java | 2 +- .../internal/placementdriver/LeaseUpdaterTest.java | 3 +- .../placementdriver/PlacementDriverTest.java | 257 +- .../platforms/cpp/Apache_Ignite_logo_128x128.png | Bin 0 -> 18667 bytes modules/platforms/cpp/CMakeLists.txt | 5 +- modules/platforms/cpp/DEVNOTES.md | 4 +- modules/platforms/cpp/Doxyfile | 2915 ++++++++++++++++++++ modules/platforms/cpp/cmake/dependencies.cmake | 53 +- .../platforms/cpp/ignite/client/compute/compute.h | 2 +- .../cpp/ignite/client/compute/job_execution.h | 2 +- .../client/detail/compute/job_execution_impl.h | 2 +- .../cpp/ignite/client/detail/node_connection.h | 2 +- .../client/detail/transaction/transaction_impl.h | 2 +- .../client/detail/transaction/transactions_impl.h | 2 +- .../platforms/cpp/ignite/client/detail/utils.cpp | 2 +- .../platforms/cpp/ignite/client/ignite_client.h | 2 +- .../platforms/cpp/ignite/client/sql/result_set.h | 2 +- modules/platforms/cpp/ignite/client/sql/sql.h | 2 +- .../cpp/ignite/client/table/key_value_view.h | 2 +- .../cpp/ignite/client/table/record_view.h | 2 +- modules/platforms/cpp/ignite/client/table/table.h | 2 +- modules/platforms/cpp/ignite/client/table/tables.h | 2 +- .../cpp/ignite/client/transaction/transaction.h | 2 +- .../cpp/ignite/client/transaction/transactions.h | 2 +- modules/platforms/cpp/ignite/common/CMakeLists.txt | 17 +- .../platforms/cpp/ignite/common/big_decimal.cpp | 220 +- modules/platforms/cpp/ignite/common/big_decimal.h | 152 +- .../platforms/cpp/ignite/common/big_integer.cpp | 681 +---- modules/platforms/cpp/ignite/common/big_integer.h | 212 +- .../platforms/cpp/ignite/common/bignum_test.cpp | 300 +- modules/platforms/cpp/ignite/common/bits_test.cpp | 432 --- .../cpp/ignite/common/{ => detail}/bits.h | 4 +- .../cpp/ignite/common/detail/bits_test.cpp | 434 +++ .../cpp/ignite/common/{ => detail}/bytes.h | 4 +- .../cpp/ignite/common/{ => detail}/bytes_test.cpp | 80 +- .../cpp/ignite/common/{ => detail}/config.h | 0 .../cpp/ignite/common/{ => detail}/factory.h | 4 +- .../ignite/common/detail/ignite_mbedtls_config.h} | 13 +- modules/platforms/cpp/ignite/common/detail/mpi.cpp | 312 +++ modules/platforms/cpp/ignite/common/detail/mpi.h | 217 ++ .../ignite/common/{ => detail}/server_version.h | 2 +- .../cpp/ignite/common/{ => detail}/utils.h | 4 +- modules/platforms/cpp/ignite/common/error_codes.h | 9 +- modules/platforms/cpp/ignite/network/codec.h | 2 +- .../cpp/ignite/network/codec_data_filter.cpp | 2 +- .../cpp/ignite/network/codec_data_filter.h | 4 +- .../cpp/ignite/network/length_prefix_codec.cpp | 4 +- .../cpp/ignite/network/length_prefix_codec.h | 2 +- modules/platforms/cpp/ignite/network/network.cpp | 2 +- .../ignite/odbc/app/application_data_buffer.cpp | 20 +- modules/platforms/cpp/ignite/odbc/common_types.cpp | 7 +- .../cpp/ignite/odbc/config/config_tools.cpp | 2 - .../cpp/ignite/odbc/config/connection_info.cpp | 6 +- modules/platforms/cpp/ignite/odbc/entry_points.cpp | 2 +- .../platforms/cpp/ignite/odbc/meta/column_meta.cpp | 2 +- .../platforms/cpp/ignite/odbc/query/data_query.cpp | 4 +- .../cpp/ignite/odbc/query/table_metadata_query.cpp | 2 +- .../platforms/cpp/ignite/odbc/sql_connection.cpp | 4 +- .../platforms/cpp/ignite/odbc/sql_statement.cpp | 4 +- modules/platforms/cpp/ignite/odbc/sql_statement.h | 2 +- modules/platforms/cpp/ignite/odbc/string_utils.h | 2 +- modules/platforms/cpp/ignite/odbc/type_traits.cpp | 2 +- .../cpp/ignite/protocol/buffer_adapter.cpp | 4 +- .../cpp/ignite/protocol/protocol_context.h | 8 +- modules/platforms/cpp/ignite/protocol/utils.cpp | 4 +- modules/platforms/cpp/ignite/protocol/utils.h | 2 +- modules/platforms/cpp/ignite/protocol/writer.h | 6 +- .../cpp/ignite/tuple/binary_tuple_builder.cpp | 78 +- .../cpp/ignite/tuple/binary_tuple_builder.h | 4 +- .../cpp/ignite/tuple/binary_tuple_parser.cpp | 8 +- modules/platforms/cpp/ignite/tuple/tuple_test.cpp | 28 +- .../cpp/tests/client-test/compute_test.cpp | 7 +- .../cpp/tests/odbc-test/api_robustness_test.cpp | 2 +- .../cpp/tests/odbc-test/connection_test.cpp | 8 +- .../platforms/cpp/tests/odbc-test/queries_test.cpp | 18 +- .../cpp/tests/test-common/ignite_runner.cpp | 2 +- .../platforms/cpp/tests/test-common/test_utils.cpp | 2 +- .../Apache.Ignite.Tests/BasicAuthenticatorTests.cs | 4 +- .../Compute/ComputeClusterAwarenessTests.cs | 11 +- .../Compute/ComputeTestExtensions.cs | 65 - .../Apache.Ignite.Tests/Compute/ComputeTests.cs | 129 +- .../PartitionAwarenessRealClusterTests.cs | 4 +- .../Apache.Ignite.Tests/PartitionAwarenessTests.cs | 9 +- .../Proto/BinaryTuple/BinaryTupleTests.cs | 8 +- .../Proto/ColocationHashTests.cs | 7 +- .../Apache.Ignite.Tests/Table/DataStreamerTests.cs | 261 +- .../Table/SchemaSynchronizationTest.cs | 7 +- .../dotnet/Apache.Ignite/Compute/ICompute.cs | 32 +- .../dotnet/Apache.Ignite/Compute/JobDescriptor.cs} | 22 +- .../platforms/dotnet/Apache.Ignite/ErrorCodes.g.cs | 17 +- .../Apache.Ignite/Internal/Compute/Compute.cs | 93 +- .../Proto/BinaryTuple/BinaryTupleBuilder.cs | 15 + .../Proto/BinaryTuple/BinaryTupleReader.cs | 37 + .../Internal/Table/DataStreamerWithReceiver.cs | 77 +- .../Apache.Ignite/Internal/Table/RecordView.cs | 108 +- .../Apache.Ignite/Table/IDataStreamerTarget.cs | 7 +- .../java/org/apache/ignite/internal/raft/Loza.java | 3 +- .../internal/raft/util/DefaultByteBuffersPool.java | 57 +- .../internal/raft/util/OptimizedMarshaller.java | 2 +- .../ignite/internal/raft/util/OptimizedStream.java | 96 +- .../apache/ignite/raft/jraft/core/NodeImpl.java | 4 +- .../raft/jraft/core/ReadOnlyServiceImpl.java | 8 +- .../apache/ignite/raft/jraft/core/Replicator.java | 12 +- .../apache/ignite/raft/jraft/rpc/RpcClient.java | 2 +- .../apache/ignite/raft/jraft/rpc/RpcRequests.java | 19 +- .../raft/jraft/rpc/impl/AbstractClientService.java | 2 +- .../raft/jraft/rpc/impl/IgniteRpcClient.java | 2 +- .../raft/jraft/rpc/impl/IgniteRpcServer.java | 3 +- .../ignite/raft/jraft/storage/FileService.java | 6 +- .../jraft/storage/snapshot/remote/CopySession.java | 5 +- .../ignite/raft/jraft/util/AsciiStringUtil.java | 9 - .../apache/ignite/raft/jraft/util/ByteString.java | 103 - .../apache/ignite/raft/jraft/util/BytesUtil.java | 30 + .../raft/jraft/util/RecyclableByteBufferList.java | 4 +- .../org/apache/ignite/internal/raft/LozaTest.java | 2 +- .../ignite/internal/raft/RaftGroupServiceTest.java | 2 +- .../raft/jraft/core/ReadOnlyServiceTest.java | 11 +- .../raft/jraft/core/ReplicatorGroupTest.java | 4 +- .../ignite/raft/jraft/core/ReplicatorTest.java | 28 +- .../raft/jraft/rpc/AppendEntriesBenchmark.java | 7 +- .../ignite/raft/jraft/storage/FileServiceTest.java | 5 +- .../raft/jraft/storage/SnapshotExecutorTest.java | 10 +- .../snapshot/local/LocalSnapshotCopierTest.java | 5 +- .../storage/snapshot/remote/CopySessionTest.java | 6 +- modules/replica-lifecycle/build.gradle | 30 - .../datareplication/ReplicaLifecycleManager.java | 58 - .../apache/ignite/internal/replicator/Replica.java | 275 +- .../replicator/{Replica.java => ReplicaImpl.java} | 31 +- .../ignite/internal/replicator/ReplicaManager.java | 151 +- .../replicator/ZonePartitionReplicaImpl.java | 70 + .../replicator/PlacementDriverReplicaSideTest.java | 2 +- .../internal/replicator/ReplicaManagerTest.java | 2 +- .../internal/rest/api/compute/ComputeApi.java | 24 +- .../ignite/internal/rest/api/compute/JobState.java | 88 +- .../internal/rest/api/compute/JobStatus.java | 88 +- .../rest/api/recovery/DisasterRecoveryApi.java | 8 +- modules/rest/build.gradle | 1 + .../rest/compute/ItComputeControllerTest.java | 94 +- ...asterRecoveryControllerResetPartitionsTest.java | 17 +- ...terRecoveryControllerRestartPartitionsTest.java | 18 +- .../recovery/ItDisasterRecoveryControllerTest.java | 10 +- .../rest/cluster/ClusterManagementRestFactory.java | 2 +- .../internal/rest/cluster/TopologyController.java | 2 +- .../internal/rest/compute/ComputeController.java | 38 +- ...ception.java => ComputeJobStatusException.java} | 10 +- ....java => ComputeJobStatusExceptionHandler.java} | 10 +- ...StatusMatcher.java => RestJobStateMatcher.java} | 118 +- modules/runner/build.gradle | 4 +- .../runner/app/AbstractSchemaChangeTest.java | 4 +- .../runner/app/ItIgniteNodeRestartTest.java | 12 +- .../ItRaftCommandLeftInLogUntilRestartTest.java | 3 +- .../runner/app/PlatformTestNodeRunner.java | 58 +- .../runner/app/client/ItThinClientComputeTest.java | 308 ++- .../client/ItThinClientPartitionAwarenessTest.java | 12 +- .../streamer/ItAbstractDataStreamerTest.java | 16 +- .../internal/table/ItThinClientColocationTest.java | 4 +- .../org/apache/ignite/internal/app/IgniteImpl.java | 66 +- .../apache/ignite/internal/app/IgnitionImpl.java | 17 +- .../internal/schema/marshaller/KvMarshaller.java | 2 +- .../schema/marshaller/RecordMarshaller.java | 2 +- .../marshaller/asm/AsmMarshallerGenerator.java | 8 +- .../marshaller/reflection/KvMarshallerImpl.java | 2 +- .../reflection/RecordMarshallerImpl.java | 15 +- .../schema/marshaller/KvMarshallerTest.java | 2 +- .../schema/marshaller/RecordMarshallerTest.java | 2 +- .../RecordMarshallerValidationsTest.java | 2 +- modules/sql-engine/build.gradle | 4 +- .../sql/api/ItSqlClientAsynchronousApiTest.java | 18 - .../internal/sql/api/ItSqlClientMetricsTest.java | 26 +- .../sql/api/ItSqlClientSynchronousApiTest.java | 18 - .../internal/sql/engine/ItCreateTableDdlTest.java | 61 + .../integrationTest/sql/cast/test_cast_bigint.test | 145 + .../integrationTest/sql/cast/test_cast_binary.test | 67 + ...st_boolean_cast.test => test_cast_boolean.test} | 14 +- .../integrationTest/sql/cast/test_cast_date.test | 71 + .../sql/cast/test_cast_decimal.test | 232 ++ .../integrationTest/sql/cast/test_cast_double.test | 152 + .../integrationTest/sql/cast/test_cast_float.test | 139 + .../integrationTest/sql/cast/test_cast_int.test | 146 + .../sql/cast/test_cast_interval_day.test | 205 ++ .../sql/cast/test_cast_interval_year.test | 139 + .../integrationTest/sql/cast/test_cast_null.test | 14 + .../integrationTest/sql/cast/test_cast_real.test | 143 + .../sql/cast/test_cast_smallint.test | 146 + ...test_string_cast.test => test_cast_string.test} | 14 +- .../integrationTest/sql/cast/test_cast_time.test | 71 + .../sql/cast/test_cast_timestamp.test | 72 + .../sql/cast/test_cast_tinyint.test | 146 + .../integrationTest/sql/cast/test_cast_uuid.test | 64 + .../sql/cast/test_exponent_in_cast.test_ignore | 45 - .../identifiers/test_delimited_identifiers.test | 173 ++ .../ignite/internal/sql/api/IgniteSqlImpl.java | 20 +- .../sql/engine/ExecutionTargetProviderImpl.java | 173 ++ .../internal/sql/engine/SqlQueryProcessor.java | 95 +- .../internal/sql/engine/exec/ExchangeService.java | 2 +- .../sql/engine/exec/ExchangeServiceImpl.java | 2 +- .../sql/engine/exec/ExecutionServiceImpl.java | 7 +- .../sql/engine/exec/MailboxRegistryImpl.java | 2 +- .../sql/engine/exec/UpdatableTableImpl.java | 10 +- .../sql/engine/exec/exp/ExpressionFactoryImpl.java | 62 +- .../sql/engine/exec/mapping/ExecutionTarget.java | 10 + .../exec/mapping/ExecutionTargetFactory.java | 5 +- .../exec/mapping/ExecutionTargetProvider.java | 10 +- .../sql/engine/exec/mapping/FragmentMapper.java | 317 ++- .../sql/engine/exec/mapping/FragmentMapping.java | 11 +- .../sql/engine/exec/mapping/FragmentSplitter.java | 2 +- .../sql/engine/exec/mapping/MappingParameters.java | 20 +- .../engine/exec/mapping/MappingServiceImpl.java | 217 +- .../exec/mapping/smallcluster/AllOfTarget.java | 5 + .../exec/mapping/smallcluster/OneOfTarget.java | 15 + .../mapping/smallcluster/PartitionedTarget.java | 51 + .../mapping/smallcluster/SmallClusterFactory.java | 29 +- .../exec/mapping/smallcluster/SomeOfTarget.java | 15 + .../ignite/internal/sql/engine/exec/rel/Inbox.java | 2 +- .../internal/sql/engine/exec/rel/Outbox.java | 6 +- .../sql/engine/message/QueryBatchMessage.java | 2 +- .../internal/sql/engine/prepare/Fragment.java | 10 + .../sql/engine/prepare/PrepareServiceImpl.java | 1 + .../prepare/ddl/DdlSqlToCommandConverter.java | 13 + .../internal/sql/engine/util/NodeLeaveHandler.java | 2 +- .../sql/engine/exec/ExecutionServiceImplTest.java | 52 +- .../engine/exec/exp/ExpressionFactoryImplTest.java | 93 +- .../engine/exec/mapping/FragmentMappingTest.java | 97 +- .../exec/mapping/MappingServiceImplTest.java | 31 +- .../sql/engine/exec/mapping/MappingTestRunner.java | 12 +- .../exec/rel/TableScanNodeExecutionTest.java | 4 +- .../engine/framework/ClusterServiceFactory.java | 2 +- .../sql/engine/framework/TestBuilders.java | 48 +- .../internal/sql/engine/framework/TestNode.java | 2 +- .../planner/datatypes/BaseTypeCoercionTest.java | 21 +- .../NumericComparisonTypeCoercionTest.java | 128 +- ...rcionTest.java => SetOperatorCoercionTest.java} | 598 ++-- .../sql/engine/planner/datatypes/utils/Types.java | 12 + .../prepare/ddl/DdlSqlToCommandConverterTest.java | 67 + .../pruning/PartitionPruningPredicateSelfTest.java | 80 +- .../sql/metrics/PlanningCacheMetricsTest.java | 28 +- .../src/test/resources/mapping/correlated.test | 136 +- .../src/test/resources/mapping/hash_join.test | 31 +- .../src/test/resources/mapping/merge_join.test | 66 +- .../src/test/resources/mapping/set_ops.test | 18 +- .../src/test/resources/mapping/table_identity.test | 68 +- .../resources/mapping/table_identity_single.test | 60 +- .../src/test/resources/mapping/table_single.test | 80 +- .../resources/mapping/test_backup_mapping.test | 162 ++ .../resources/mapping/test_partition_pruning.test | 72 +- .../src/test/resources/mapping/union.test | 30 +- .../internal/sql/engine/util/SqlTestUtils.java | 76 + .../internal/storage/BaseMvStoragesTest.java | 19 +- .../PersistentPageMemoryTableStorage.java | 9 +- .../pagememory/VolatilePageMemoryDataRegion.java | 7 +- .../pagememory/VolatilePageMemoryTableStorage.java | 10 +- .../storage/pagememory/mv/IndexStorageFactory.java | 2 +- .../VolatilePageMemoryMvTableStorageTest.java | 13 + ...yStorageEngineLocalConfigurationModuleTest.java | 7 +- .../storage/pagememory/mv/BlobStorageTest.java | 8 +- .../storage/rocksdb/RocksDbStorageProfile.java | 2 +- .../schema/RocksDbProfileConfigurationSchema.java | 5 - modules/table/build.gradle | 9 +- .../ItInternalTableReadOnlyOperationsTest.java | 4 +- ...xDistributedTestSingleNodeNoCleanupMessage.java | 7 +- .../ignite/distributed/ReplicaUnavailableTest.java | 14 +- .../ReplicasSafeTimePropagationTest.java | 4 +- .../ItDisasterRecoveryReconfigurationTest.java | 211 +- .../disaster/ItDisasterRecoverySystemViewTest.java | 2 +- .../raftsnapshot/ItTableRaftSnapshotsTest.java | 2 +- .../rebalance/ItRebalanceDistributedTest.java | 20 +- .../ignite/internal/rebalance/ItRebalanceTest.java | 3 +- .../ignite/internal/table/ItColocationTest.java | 25 +- .../table/ItTransactionPrimaryChangeTest.java | 2 +- .../internal/table/ItTransactionRecoveryTest.java | 2 +- .../schema/marshaller/TupleMarshaller.java | 13 +- .../marshaller/TupleMarshallerException.java | 36 - .../schema/marshaller/TupleMarshallerImpl.java | 13 +- .../internal/table/KeyValueBinaryViewImpl.java | 19 +- ...aluePojoStreamerPartitionAwarenessProvider.java | 24 +- .../ignite/internal/table/KeyValueViewImpl.java | 113 +- .../PojoStreamerPartitionAwarenessProvider.java | 22 +- .../internal/table/PublicApiThreadingViewBase.java | 13 +- .../internal/table/RecordBinaryViewImpl.java | 27 +- .../ignite/internal/table/RecordViewImpl.java | 141 +- .../apache/ignite/internal/table/TableImpl.java | 21 +- .../internal/table/TableViewRowConverter.java | 12 +- .../PartitionReplicatorNodeRecovery.java | 16 +- .../table/distributed/StorageUpdateHandler.java | 2 +- .../internal/table/distributed/TableManager.java | 267 +- .../internal/table/distributed/TableUtils.java | 28 - .../disaster/DisasterRecoveryManager.java | 51 +- .../distributed/disaster/GlobalPartitionState.java | 12 + .../distributed/disaster/LocalPartitionState.java | 13 + .../disaster/LocalPartitionStateByNode.java | 9 +- .../LocalPartitionStateEnumWithLogIndex.java | 7 +- .../disaster/LocalPartitionStateMessageByNode.java | 7 +- .../disaster/ManualGroupUpdateRequest.java | 221 +- .../disaster/PartitionStatesMetricSource.java | 11 +- .../exceptions/DisasterRecoveryException.java | 6 +- .../table/distributed/index/IndexMeta.java | 84 +- .../table/distributed/index/IndexMetaStorage.java | 208 +- .../table/distributed/raft/PartitionListener.java | 85 +- .../raft/snapshot/PartitionSnapshotStorage.java | 2 +- .../snapshot/PartitionSnapshotStorageFactory.java | 2 +- .../snapshot/incoming/IncomingSnapshotCopier.java | 16 +- .../raft/snapshot/outgoing/OutgoingSnapshot.java | 20 +- .../outgoing/OutgoingSnapshotsManager.java | 18 +- .../replicator/PartitionReplicaListener.java | 126 +- .../distributed/replicator/ReplicatorUtils.java | 2 +- .../replicator/TransactionStateResolver.java | 2 +- .../schema/CheckCatalogVersionOnAppendEntries.java | 2 +- .../schema/PartitionCommandsMarshallerImpl.java | 2 +- .../distributed/storage/InternalTableImpl.java | 42 +- .../distributed/storage/TableRaftServiceImpl.java | 2 +- .../wrappers/DelegatingPlacementDriver.java | 9 + .../table/partition/HashPartitionManagerImpl.java | 23 +- .../TupleMarshallerFixlenOnlyBenchmark.java | 3 +- .../TupleMarshallerVarlenOnlyBenchmark.java | 3 +- .../UpdateCommandsMarshalingMicroBenchmark.java | 162 ++ .../table/ColocationHashCalculationTest.java | 5 +- .../internal/table/MutableRowTupleAdapterTest.java | 48 +- .../internal/table/distributed/IndexBaseTest.java | 7 +- .../table/distributed/StorageCleanupTest.java | 2 +- .../distributed/StorageUpdateHandlerTest.java | 2 +- .../distributed/TableManagerRecoveryTest.java | 9 +- .../table/distributed/TableManagerTest.java | 6 +- .../PartitionRaftCommandsSerializationTest.java | 16 +- .../index/BaseIndexMetaStorageTest.java | 23 + .../index/IndexMetaStorageRecoveryTest.java | 95 +- .../distributed/index/IndexMetaStorageTest.java | 121 +- .../raft/PartitionCommandListenerTest.java | 66 +- .../PartitionSnapshotStorageFactoryTest.java | 2 +- .../snapshot/PartitionSnapshotStorageTest.java | 2 +- .../incoming/IncomingSnapshotCopierTest.java | 18 +- .../outgoing/OutgoingSnapshotCommonTest.java | 8 +- .../OutgoingSnapshotMvDataStreamingTest.java | 8 +- .../outgoing/OutgoingSnapshotReaderTest.java | 2 +- .../OutgoingSnapshotTxDataStreamingTest.java | 8 +- .../PartitionReplicaListenerIndexLockingTest.java | 19 +- .../replication/PartitionReplicaListenerTest.java | 221 +- .../replicator/ReplicatorUtilsTest.java | 2 +- .../replicator/action/RequestTypeTest.java | 13 +- .../CheckCatalogVersionOnActionRequestTest.java | 4 +- .../PartitionCommandsMarshallerImplTest.java | 14 +- .../distributed/storage/InternalTableImplTest.java | 2 +- .../table/type/NumericTypesSerializerTest.java | 28 +- .../apache/ignite/distributed/ItTxTestCluster.java | 13 +- .../replicator/action/RequestTypes.java | 2 +- .../ignite/internal/table/TxAbstractTest.java | 3 +- .../table/impl/DummyInternalTableImpl.java | 13 +- .../impl/FinishedReadOnlyTransactionTracker.java | 2 +- .../ignite/internal/tx/impl/OrphanDetector.java | 2 +- .../tx/impl/PersistentTxStateVacuumizer.java | 2 +- .../internal/tx/impl/ResourceVacuumManager.java | 4 +- .../internal/tx/impl/TransactionInflights.java | 4 +- .../ignite/internal/tx/impl/TxManagerImpl.java | 2 +- .../tx/impl/WriteIntentSwitchProcessor.java | 2 +- .../apache/ignite/internal/tx/TxCleanupTest.java | 2 +- .../internal/tx/impl/OrphanDetectorTest.java | 2 +- modules/workers/build.gradle | 1 + .../worker/ItCriticalWorkerMonitoringTest.java | 10 +- packaging/db/build.gradle | 7 +- settings.gradle | 4 +- 726 files changed, 19581 insertions(+), 8810 deletions(-)
