This is an automated email from the ASF dual-hosted git repository. sk0x50 pushed a change to branch ignite-20368 in repository https://gitbox.apache.org/repos/asf/ignite-3.git
discard 3012c9f0c6 IGNITE-20448 StopNodeFailureHandler and StopNodeOrHaltFailureHandler were implemented. (#2646) discard 0224c294e6 IGNITE-20447 Introduce Failure handling component (#2629) add 8d3b926e0b IGNITE-21206 Lease grant messages should be retried after the failure of the placement driver active actor (#3016) add 57da4e559c IGNITE-21209 Do not try handle PrimaryReplicaMissException on transaction operation (#3017) add 0cb50387a9 IGNITE-20653 SQL script execution for C++ Client (#3018) add d357196a4c IGNITE-20995 Add more integration tests for tx recovery on unstable topology (#2995) add 461b637faa IGNITE-21214 Add Catalog API to get a schema by ID (#3023) add 4c26ef52a6 IGNITE-21018 Sql. Introduce cache for plan mapping (#2982) add 09116a30f7 IGNITE-21205 Get rid of metastorage in schema manager (#3013) add cdb906c550 IGNITE-20795: Sql. QuerySplitter does not visit IgniteTableFunctionScan nodes add 50ad9453c8 IGNITE-20905 Make it possible to add an explicitly NULL column via ADD COLUMN add f4fef42899 IGNITE-20885 Sql. Bump calcite version to 1.36 (#3014) add be6d294a60 IGNITE-16947 Resolve message send future when message is acknowledged (#3009) add f812debe86 IGNITE-21203 Sql. Fix flaky ItSqlAsynchronousApiTest.closeSession add 2142bcdcb4 IGNITE-20850 Add compute job failover (#2990) add 07e8a6b384 IGNITE-19944 ODBC 3.0: Propagate SQL errors from engine to driver (#3022) add 1263f6b92e IGNITE-20879 Additional criterions for queries (#2933) add 6e5d3977be IGNITE-21233 Fix missing error codes (#3032) add 54568701e8 IGNITE-20477 Introduce async components start (#2997) add 642918794c IGNITE-21215 Add Catalog API for renaming a table (#3029) add 8f652e9624 IGNITE-21241 Compilation fails on Windows (#3039) add d811afde3b IGNITE-21157 Introduce transaction priorities (#3015) add 9cd0e5017f IGNITE-21070 Ensure that data node's primary replica expiration properly handled (#3027) add 7506065274 IGNITE-21055: Sql. ParserService should use SqlNode::unparse instead of SqlNode::toString (#3021) add b156fe96df IGNITE-20381 Prevent modification operations call after CatalogManagerImpl is closed (#3040) add 4fa174c269 IGNITE-21160 Fix error code on missing table in ClientPrimaryReplicaTracker (#3047) add c40b788b50 IGNITE-21245 Remove APPLIED_REV_KEY from metastorage manager (#3042) add 5ec189439b IGNITE-20827 Sql. Remove nullBound placeholder add e6e77836f6 IGNITE-17615 Close local cursors on primary replica expiration (#3001) add 46d64abd5e IGNITE-21226 NPE throws from MessageServiceImpl if service already stopped but incoming message still processed (#3026) add 1955452453 IGNITE-21061 Remove MarkLocksReleased command (#3048) add a9d4ae29e6 IGNITE-21166 Sql. Provide internal API to get a columns metadata for non-executed query (#3037) add ca21384f85 IGNITE-21234 Introduce a more flexible way of triggering "too many dirty pages" checkpoints (#3033) add b768928fed IGNITE-21202 Un-deprecate PrimaryReplicaEventParameters.leaseholder (#3053) add 9e915116f2 IGNITE-21262 Sql. Push down predicate under correlate add 3bfa91b863 IGNITE-20681 Remove limit on write intent switch attempts (#3052) add 560c6da4af IGNITE-21282 Fix flaky ItComputeTestEmbedded#cancelsJobLocally (#3060) add 041c6cd395 IGNITE-21134 Sql. Support NULL column type in jdbc (#3034) add 151585bdc2 IGNITE-20977 Basic criteria queries for keyValue view (#2934) add d9795df4b4 IGNITE-21231 Delegate to parent lock manager in release and iterator (#3059) add e9f51a3343 IGNITE-21273 Document newly-added thread pools in README files (#3055) add facb0f6b63 IGNITE-21066 Create job priority change API (#3019) add 74d5bc69cb IGNITE-21028 .NET: Fix pooled buffer leaks (#3063) add 4c7cf15e52 IGNITE-21071 Rollback the transaction on primary failure if replication is not finished (#3030) add f0e23a4b62 IGNITE-21036 introduce zones' system view (#3056) add a9ab2acc04 IGNITE-21309 Avoid potential memory leaks in direct message writer (#3065) add bba00639c6 IGNITE-21173 Repeated call to commit/abort should not emit exceptions (#3064) add 23a62cf818 IGNITE-20809 Sql. SUBSTRING function need to handle different numeric types as a params (#3051) add 8860541c01 IGNITE-21148 Java thin: Implement job execution interface (#3038) add 7f1ff909da IGNITE-21155 Adding a in-flight RW transaction counter by catalog version on a node (#3061) add 1ee1b28559 IGNITE-20098 Move exception classes related to distribution zones to an appropriate package/module (#3054) add 0442153b74 IGNITE-21103 Rename DataStreamerOptions.batchSize to pageSize (#3072) add c75c89fd86 IGNITE-21238 Add backfill index status to catalog (#3066) add 5bddcef87f IGNITE-21328 Fix logging in LowWatermark#start when there is no low watermark in vault (#3073) add f61cd4d40d IGNITE-21227 Monitor network critical threads for being blocked (#3068) add f5de973f4b IGNITE-20209 Recovery for rebalance triggers (#2919) add 81fb9bfafb IGNITE-21267 Implement async ClientHandlerModule startup (#3077) add a41fbbc763 IGNITE-21019: Sql. Improve conversion to BinaryRow in UpdatableTableImpl (#3028) add cb6ef7c759 IGNITE-21339 Introduce a utility method to replace a Catalog table descriptor in a schema (#3084) add b61c161f07 IGNITE-20880 Sql. Fix hanging TPC-H queries (#3070) add 898e671078 IGNITE-21318 Add configuration for critical workers monitoring (#3085) add 616bacb67a IGNITE-21337 Remove unused ClusterNotInitializedException (#3083) add 38cbd5b542 IGNITE-20864 Choose primary replica for colocated jobs (#3043) add 0511e50296 IGNITE-17703 Extract hardcoded constants to configuration in sql-engine module (#3076) add 8549cf67ef IGNITE-20829 Remove "basicAuthentication" prefix from JDBC url connection properties (#3080) add 09a3194b25 IGNITE-21158 ODBC: Column metadata for the non-executed query (#3079) add 2fa4f27134 IGNITE-20840 Introduce Job execution options (#3050) new a34aa22bfb IGNITE-20447 Introduce Failure handling component (#2629) new c0c64276e0 IGNITE-20448 StopNodeFailureHandler and StopNodeOrHaltFailureHandler were implemented. (#2646) This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (3012c9f0c6) \ N -- N -- N refs/heads/ignite-20368 (c0c64276e0) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: gradle/libs.versions.toml | 4 +- modules/api/build.gradle | 7 + .../org/apache/ignite/compute/IgniteCompute.java | 192 +- .../org/apache/ignite/compute/JobExecution.java | 21 +- .../ignite/compute/JobExecutionOptions.java} | 20 +- .../java/org/apache/ignite/compute/JobStatus.java | 4 +- .../java/org/apache/ignite/lang/ErrorGroups.java | 54 +- .../apache/ignite/lang/TableNotFoundException.java | 3 +- .../apache/ignite/lang/util/IgniteNameUtils.java | 13 + .../apache/ignite/table/DataStreamerOptions.java | 36 +- .../java/org/apache/ignite/table/KeyValueView.java | 3 +- .../org/apache/ignite/table/criteria/Column.java} | 36 +- .../apache/ignite/table/criteria/Condition.java} | 39 +- .../org/apache/ignite/table/criteria/Criteria.java | 367 +- .../ignite/table/criteria/CriteriaVisitor.java | 59 + .../apache/ignite/table/criteria/Expression.java} | 48 +- .../criteria/{Criteria.java => Operator.java} | 26 +- .../apache/ignite/table/criteria/Parameter.java} | 33 +- .../ignite/internal/IgniteExceptionArchTest.java | 2 + .../internal/catalog/CatalogManagerImpl.java | 122 +- .../catalog/CatalogParamsValidationUtils.java | 4 - .../ignite/internal/catalog/CatalogService.java | 8 +- .../catalog/CatalogValidationException.java | 15 +- ...a => ChangeIndexStatusValidationException.java} | 26 +- .../ignite/internal/catalog/ClockWaiter.java | 4 +- ...utionZoneCantBeDroppedValidationException.java} | 13 +- .../DistributionZoneExistsValidationException.java | 2 + ...istributionZoneNotFoundValidationException.java | 2 + .../catalog/IndexExistsValidationException.java | 2 + .../catalog/TableExistsValidationException.java | 2 + .../catalog/TableNotFoundValidationException.java | 2 + .../internal/catalog/commands/CatalogUtils.java | 45 +- .../catalog/commands/CreateTableCommand.java | 9 +- .../internal/catalog/commands/DropZoneCommand.java | 9 +- .../commands/MakeIndexAvailableCommand.java | 17 +- .../commands/MakeIndexAvailableCommandBuilder.java | 1 + .../catalog/commands/RenameTableCommand.java | 97 + ...Builder.java => RenameTableCommandBuilder.java} | 20 +- .../catalog/commands/RenameZoneCommand.java | 3 +- ...Command.java => StartBuildingIndexCommand.java} | 33 +- ....java => StartBuildingIndexCommandBuilder.java} | 7 +- .../descriptors/CatalogHashIndexDescriptor.java | 13 +- .../descriptors/CatalogIndexDescriptor.java | 25 +- .../CatalogIndexStatus.java} | 36 +- .../descriptors/CatalogSortedIndexDescriptor.java | 13 +- .../descriptors/CatalogTableDescriptor.java | 63 +- .../descriptors/CatalogTableSchemaVersions.java | 99 + .../internal/catalog/events/CatalogEvent.java | 5 +- .../RenameTableEventParameters.java} | 28 +- .../StartBuildingIndexEventParameters.java} | 27 +- ...ry.java => AbstractChangeIndexStatusEntry.java} | 46 +- .../internal/catalog/storage/AlterColumnEntry.java | 48 +- .../internal/catalog/storage/DropColumnsEntry.java | 45 +- .../catalog/storage/MakeIndexAvailableEntry.java | 93 +- .../internal/catalog/storage/NewColumnsEntry.java | 42 +- .../internal/catalog/storage/RenameTableEntry.java | 75 + .../catalog/storage/StartBuildingIndexEntry.java | 45 + .../ignite/internal/catalog/storage/UpdateLog.java | 4 +- .../internal/catalog/storage/UpdateLogImpl.java | 5 +- .../catalog/CatalogManagerRecoveryTest.java | 8 +- .../internal/catalog/CatalogManagerSelfTest.java | 218 +- ...actChangeIndexStatusCommandValidationTest.java} | 65 +- .../commands/AbstractCommandValidationTest.java | 11 +- .../catalog/commands/CatalogUtilsTest.java | 417 +- .../commands/DropZoneCommandValidationTest.java | 26 +- .../MakeIndexAvailableCommandValidationTest.java | 89 +- .../commands/RenameTableCommandValidationTest.java | 132 + .../StartBuildingIndexCommandValidationTest.java} | 18 +- .../catalog/storage/UpdateLogImplTest.java | 14 +- .../internal/catalog/BaseCatalogManagerTest.java | 15 +- .../ignite/internal/catalog/CatalogTestUtils.java | 29 +- .../repl/executor/ItIgnitePicocliCommandsTest.java | 4 +- .../ignite/internal/cli/core/JdbcUrlFactory.java | 4 +- .../internal/cli/core/JdbcUrlFactoryTest.java | 8 +- .../internal/client/proto/ClientMessagePacker.java | 21 +- .../client/proto/ClientMessageUnpacker.java | 25 + .../ignite/internal/client/proto/ClientOp.java | 13 +- .../ignite/internal/jdbc/JdbcConverterUtils.java | 3 + .../client/proto/ClientMessagePackerTest.java | 12 + modules/client-handler/build.gradle | 2 + .../apache/ignite/client/handler/TestServer.java | 6 +- .../ignite/client/handler/ClientHandlerModule.java | 78 +- .../handler/ClientInboundMessageHandler.java | 35 +- .../handler/ClientPrimaryReplicaTracker.java | 13 +- .../compute/ClientComputeCancelRequest.java | 52 + .../ClientComputeChangePriorityRequest.java | 53 + .../ClientComputeExecuteColocatedRequest.java | 24 +- .../compute/ClientComputeExecuteRequest.java | 32 +- .../compute/ClientComputeGetStatusRequest.java | 66 + .../handler/requests/jdbc/JdbcMetadataCatalog.java | 2 +- .../handler/requests/sql/ClientSqlCommon.java | 64 + .../requests/sql/ClientSqlExecuteRequest.java | 59 +- ...est.java => ClientSqlQueryMetadataRequest.java} | 8 +- .../handler/requests/table/ClientTableCommon.java | 14 +- .../client/handler/DummyAuthenticationManager.java | 7 +- .../ignite/client/handler/FakeCatalogService.java | 13 +- .../ignite/client/handler/FakePlacementDriver.java | 11 + modules/client/build.gradle | 1 + .../apache/ignite/client/ClientOperationType.java | 15 + .../org/apache/ignite/client/RetryReadPolicy.java | 3 + .../apache/ignite/internal/client/ClientUtils.java | 11 +- .../internal/client/compute/ClientCompute.java | 140 +- .../client/compute/ClientJobExecution.java | 137 +- .../internal/client/table/AbstractClientView.java | 153 + .../internal/client/table/ClientDataStreamer.java | 4 +- .../client/table/ClientKeyValueBinaryView.java | 22 +- .../internal/client/table/ClientKeyValueView.java | 37 +- .../client/table/ClientRecordBinaryView.java | 42 +- .../internal/client/table/ClientRecordView.java | 56 +- .../ignite/internal/client/table/ClientTable.java | 1 + .../apache/ignite/client/ClientComputeTest.java | 87 +- .../org/apache/ignite/client/DataStreamerTest.java | 8 +- .../ignite/client/PartitionAwarenessTest.java | 2 +- .../ignite/client/TestClientHandlerModule.java | 11 +- .../java/org/apache/ignite/client/TestServer.java | 6 +- .../apache/ignite/client/fakes/FakeCompute.java | 78 +- .../client/fakes/FakeIgniteQueryProcessor.java | 10 +- .../ignite/client/fakes/FakeInternalTable.java | 10 +- .../apache/ignite/client/fakes/FakeTxManager.java | 11 +- .../management/ClusterManagementGroupManager.java | 4 +- .../raft/RocksDbClusterStateStorage.java | 5 +- .../management/raft/TestClusterStateStorage.java | 5 +- .../internal/deployunit/DeploymentManagerImpl.java | 5 +- .../metastore/DeploymentUnitStoreImplTest.java | 8 +- modules/compute/build.gradle | 4 + .../ignite/internal/compute/ItComputeBaseTest.java | 20 +- ...aseEmbedded.java => ItComputeTestEmbedded.java} | 153 +- .../internal/compute/ItWorkerShutdownTest.java | 378 ++ .../internal/compute/utils/InteractiveJobs.java | 366 ++ .../compute/utils/TestingJobExecution.java | 143 + .../apache/ignite/internal/compute/Cleaner.java | 91 + .../ignite/internal/compute/ComputeComponent.java | 30 +- .../internal/compute/ComputeComponentImpl.java | 87 +- .../internal/compute/ComputeJobFailover.java | 178 + .../internal/compute/ComputeMessageTypes.java | 8 + .../ignite/internal/compute/ComputeUtils.java | 30 +- .../internal/compute/DelegatingJobExecution.java | 12 +- .../ignite/internal/compute/ExecutionManager.java | 136 + .../ignite/internal/compute/ExecutionOptions.java | 24 + .../internal/compute/FailSafeJobExecution.java | 182 + .../ignite/internal/compute/IgniteComputeImpl.java | 193 +- .../internal/compute/IgniteComputeInternal.java | 56 + .../compute/JobExecutionFutureWrapper.java | 10 +- .../internal/compute/JobExecutionWrapper.java | 10 +- .../compute/NextColocatedWorkerSelector.java | 119 + ...omputeExecutor.java => NextWorkerSelector.java} | 26 +- .../internal/compute/RemoteExecutionContext.java | 102 + .../internal/compute/executor/ComputeExecutor.java | 6 - .../compute/executor/ComputeExecutorImpl.java | 11 +- .../compute/executor/JobExecutionInternal.java | 19 +- .../compute/message/JobCancelResponse.java | 8 + ...Response.java => JobChangePriorityRequest.java} | 24 +- ...esponse.java => JobChangePriorityResponse.java} | 19 +- .../compute/messaging/ComputeMessaging.java | 225 +- .../compute/messaging/RemoteJobExecution.java | 12 +- .../compute/queue/ComputeThreadPoolExecutor.java | 82 + .../compute/queue/PriorityQueueExecutor.java | 13 +- .../ignite/internal/compute/queue/QueueEntry.java | 6 +- .../internal/compute/queue/QueueExecution.java | 17 +- .../internal/compute/queue/QueueExecutionImpl.java | 50 +- .../compute/state/InMemoryComputeStateMachine.java | 45 +- .../internal/compute/ComputeComponentImplTest.java | 119 +- .../internal/compute/IgniteComputeImplTest.java | 97 +- .../compute/executor/ComputeExecutorTest.java | 26 +- .../queue/ComputeThreadPoolExecutorTest.java | 76 + .../compute/queue/PriorityQueueExecutorTest.java | 206 +- .../state/InMemoryComputeStateMachineTest.java | 4 +- .../compute/util/DummyIgniteDeployment.java | 5 +- .../configuration/ConfigurationManager.java | 7 +- .../configuration/ConfigurationRegistry.java | 4 +- .../configuration/util/ConfigurationUtil.java | 71 - .../configuration/util/ConfigurationUtilTest.java | 58 - .../internal/components/LongJvmPauseDetector.java | 10 +- .../DistributionZoneAlreadyExistsException.java | 61 - .../DistributionZoneBindTableException.java | 64 - .../ignite/internal/manager/IgniteComponent.java | 10 +- .../ignite/internal/streamer/StreamerOptions.java | 4 +- .../internal/streamer/StreamerSubscriber.java | 4 +- .../internal/table/criteria/ColumnValidator.java | 64 + .../table/criteria/QueryCriteriaAsyncCursor.java | 36 +- .../internal/table/criteria/SqlRowProjection.java | 276 + .../internal/table/criteria/SqlSerializer.java | 236 + .../ignite/internal/util/CollectionUtils.java | 71 + .../ignite/internal/util/ExceptionUtils.java | 11 + .../internal/streamer/StreamerSubscriberTest.java | 2 +- .../ignite/internal/util/CollectionUtilsTest.java | 62 + .../ignite/internal/util/IgniteNameUtilsTest.java | 11 +- .../internal/testframework/IgniteTestUtils.java | 2 +- .../internal/testframework/flow/TestFlowUtils.java | 41 + modules/distribution-zones/README.md | 7 + modules/distribution-zones/build.gradle | 1 + .../ItDistributionZonesFilterTest.java | 16 +- ...niteDistributionZoneManagerNodeRestartTest.java | 6 +- .../distributionzones/DistributionZoneManager.java | 36 +- .../CausalityDataNodesEngine.java | 2 +- .../DistributionZoneNotFoundException.java | 12 +- .../DistributionZoneWasRemovedException.java | 49 - .../rebalance/DistributionZoneRebalanceEngine.java | 98 +- .../BaseDistributionZoneManagerTest.java | 11 +- .../DistributionZoneCausalityDataNodesTest.java | 2 +- .../DistributionZoneRebalanceEngineTest.java | 13 +- .../RebalanceUtilUpdateAssignmentsTest.java | 6 +- .../build.gradle | 17 +- .../error/code/annotations/ErrorCodeGroup.java} | 22 +- .../code/generators/AbstractCodeGenerator.java} | 10 +- .../error/code/generators/CppGenerator.java | 127 + .../error/code/generators/CsharpGenerator.java | 106 + .../error/code/generators/GenericGenerator.java | 91 + .../code/processor/ErrorCodeGroupDescriptor.java} | 31 +- .../code/processor/ErrorCodeGroupProcessor.java | 191 + .../ErrorCodeGroupProcessorException.java} | 22 +- .../network/file/FileTransferServiceImpl.java | 4 +- modules/index/build.gradle | 4 + .../ignite/internal/index/ItBuildIndexTest.java | 3 +- ...IndexNodeFinishedRwTransactionsCheckerTest.java | 291 + .../index/IndexAvailabilityController.java | 47 +- .../internal/index/IndexBuildController.java | 23 +- .../internal/index/IndexBuildingManager.java | 82 +- .../apache/ignite/internal/index/IndexChooser.java | 13 +- .../internal/index/IndexManagementUtils.java | 6 +- .../apache/ignite/internal/index/IndexManager.java | 5 +- .../IndexNodeFinishedRwTransactionsChecker.java | 190 + .../internal/index/message/IndexMessageGroup.java} | 16 +- ...FinishedRwTransactionsStartedBeforeRequest.java | 40 + ...nishedRwTransactionsStartedBeforeResponse.java} | 14 +- .../IndexAvailabilityControllerRestorerTest.java | 33 +- .../index/IndexAvailabilityControllerTest.java | 53 +- .../internal/index/IndexBuildControllerTest.java | 45 +- .../ignite/internal/index/IndexChooserTest.java | 108 +- .../ignite/internal/index/IndexManagerTest.java | 51 +- .../internal/index/TestIndexManagementUtils.java | 10 + .../ignite/jdbc/ItJdbcAuthenticationTest.java | 4 +- .../ignite/jdbc/ItJdbcStatementSelfTest.java | 26 + .../ignite/internal/jdbc/ConnectionProperties.java | 20 +- .../internal/jdbc/ConnectionPropertiesImpl.java | 30 +- .../ignite/internal/jdbc/JdbcConnection.java | 10 +- .../ignite/internal/marshaller/TupleReader.java | 171 + .../impl/ItMetaStorageManagerImplTest.java | 11 +- .../ItMetaStorageMultipleNodesAbstractTest.java | 1 - ...MetaStorageSafeTimePropagationAbstractTest.java | 5 +- .../metastorage/impl/ItMetaStorageWatchTest.java | 1 - .../metastorage/impl/MetaStorageManagerImpl.java | 69 +- .../server/OnRevisionAppliedCallback.java | 7 +- .../metastorage/server/WatchProcessor.java | 46 +- .../MetaStorageDeployWatchesCorrectnessTest.java | 24 +- .../impl/MetaStorageManagerRecoveryTest.java | 8 +- .../metastorage/impl/MetaStorageRangeTest.java | 13 +- .../server/BasicOperationsKeyValueStorageTest.java | 13 +- .../metastorage/server/WatchProcessorTest.java | 21 +- .../impl/StandaloneMetaStorageManager.java | 18 +- .../ignite/internal/metrics/MetricManager.java | 4 +- .../ignite/network/NetworkMessageHandler.java | 2 +- .../ignite/network/RecipientLeftException.java} | 17 +- modules/network/README.md | 18 +- modules/network/build.gradle | 2 + .../network/netty/ItConnectionManagerTest.java | 134 +- .../netty/OutgoingAcknowledgementSilencer.java | 102 + .../scalecube/ItScaleCubeNetworkMessagingTest.java | 145 +- .../network/direct/DirectMessageWriter.java | 7 + .../stream/DirectByteBufferStreamImplV1.java | 12 +- .../internal/network/netty/ConnectionManager.java | 156 +- .../netty/DefaultRecoveryDescriptorProvider.java | 19 +- .../ignite/internal/network/netty/NettySender.java | 16 +- .../network/recovery/DescriptorAcquiry.java | 21 +- .../recovery/RecoveryClientHandshakeManager.java | 73 +- .../network/recovery/RecoveryDescriptor.java | 98 +- .../recovery/RecoveryDescriptorProvider.java | 14 + .../recovery/RecoveryServerHandshakeManager.java | 80 +- .../ignite/network/DefaultMessagingService.java | 58 +- .../apache/ignite/network/LazyStripedExecutor.java | 23 +- .../ignite/network/NettyBootstrapFactory.java | 42 +- .../ignite/network/NettyWorkersRegistrar.java | 155 + .../apache/ignite/network/OutNetworkObject.java | 15 + .../scalecube/ScaleCubeClusterServiceFactory.java | 67 +- .../network/netty/RecoveryHandshakeTest.java | 4 +- .../RecoveryClientHandshakeManagerTest.java | 58 +- .../network/recovery/RecoveryDescriptorTest.java | 47 +- .../RecoveryServerHandshakeManagerTest.java | 41 +- .../network/DefaultMessagingServiceTest.java | 11 +- .../ignite/network/OutNetworkObjectTest.java | 55 + .../ignite/utils/ClusterServiceTestUtils.java | 10 +- .../pagememory/persistence/CheckpointUrgency.java} | 28 +- .../persistence/PersistentPageMemory.java | 47 +- .../persistence/checkpoint/CheckpointManager.java | 27 +- .../checkpoint/CheckpointTimeoutLock.java | 28 +- .../PersistentPageMemoryNoLoadTest.java | 32 +- .../checkpoint/CheckpointManagerTest.java | 44 +- .../checkpoint/CheckpointTimeoutLockTest.java | 33 +- .../checkpoint/CheckpointTestUtils.java | 3 +- .../internal/placementdriver/PlacementDriver.java | 10 + .../event/PrimaryReplicaEventParameters.java | 1 - .../placementdriver/TestPlacementDriver.java | 5 + modules/placement-driver/build.gradle | 1 + .../ItPrimaryReplicaChoiceTest.java | 194 +- .../MultiActorPlacementDriverTest.java | 6 +- .../ignite/internal/placementdriver/Node.java | 8 +- .../PlacementDriverManagerTest.java | 11 +- .../internal/placementdriver/LeaseUpdater.java | 1 + .../placementdriver/PlacementDriverManager.java | 4 +- .../placementdriver/leases/LeaseTracker.java | 64 +- .../negotiation/LeaseAgreement.java | 9 +- .../placementdriver/PlacementDriverTest.java | 14 +- .../ignite/client/detail/cluster_connection.cpp | 2 +- .../ignite/client/detail/compute/compute_impl.cpp | 10 + .../cpp/ignite/client/detail/sql/result_set_impl.h | 13 +- .../cpp/ignite/client/detail/sql/sql_impl.cpp | 114 +- .../cpp/ignite/client/detail/sql/sql_impl.h | 10 + .../platforms/cpp/ignite/client/sql/result_set.cpp | 6 +- .../platforms/cpp/ignite/client/sql/result_set.h | 9 +- modules/platforms/cpp/ignite/client/sql/sql.cpp | 6 + modules/platforms/cpp/ignite/client/sql/sql.h | 30 +- modules/platforms/cpp/ignite/common/CMakeLists.txt | 1 + .../platforms/cpp/ignite/common/big_integer.cpp | 2 +- modules/platforms/cpp/ignite/common/error_codes.h | 201 + modules/platforms/cpp/ignite/common/ignite_error.h | 32 +- .../platforms/cpp/ignite/common/ignite_result.h | 4 +- .../network/detail/linux/linux_async_client.cpp | 5 +- .../network/detail/linux/linux_async_client.h | 4 +- .../detail/linux/linux_async_client_pool.cpp | 8 +- .../detail/linux/linux_async_worker_thread.cpp | 6 +- .../network/detail/linux/tcp_socket_client.h | 6 +- .../platforms/cpp/ignite/network/detail/utils.h | 2 +- .../cpp/ignite/network/detail/win/sockets.cpp | 2 +- .../ignite/network/detail/win/tcp_socket_client.h | 6 +- .../network/detail/win/win_async_client_pool.cpp | 12 +- .../detail/win/win_async_connecting_thread.cpp | 16 +- .../cpp/ignite/network/error_handling_filter.cpp | 4 +- .../cpp/ignite/odbc/app/parameter_set.cpp | 23 - .../platforms/cpp/ignite/odbc/app/parameter_set.h | 49 - modules/platforms/cpp/ignite/odbc/common_types.cpp | 183 + modules/platforms/cpp/ignite/odbc/common_types.h | 9 + .../cpp/ignite/odbc/diagnostic/diagnosable.h | 2 +- .../platforms/cpp/ignite/odbc/meta/column_meta.cpp | 58 + .../platforms/cpp/ignite/odbc/meta/column_meta.h | 8 + .../ignite/odbc/query/column_metadata_query.cpp | 4 +- .../platforms/cpp/ignite/odbc/query/data_query.cpp | 152 +- .../platforms/cpp/ignite/odbc/query/data_query.h | 64 +- .../cpp/ignite/odbc/query/primary_keys_query.cpp | 4 +- .../platforms/cpp/ignite/odbc/sql_connection.cpp | 2 +- .../platforms/cpp/ignite/odbc/sql_statement.cpp | 79 +- modules/platforms/cpp/ignite/odbc/sql_statement.h | 5 - .../cpp/ignite/protocol/client_operation.h | 7 +- modules/platforms/cpp/ignite/protocol/utils.cpp | 4 +- .../platforms/cpp/tests/client-test/sql_test.cpp | 76 +- .../cpp/tests/odbc-test/connection_test.cpp | 76 +- .../platforms/cpp/tests/odbc-test/error_test.cpp | 19 +- .../cpp/tests/odbc-test/meta_queries_test.cpp | 81 +- .../cpp/tests/odbc-test/odbc_connection.h | 11 + .../cpp/tests/odbc-test/transaction_test.cpp | 6 +- .../cpp/tests/test-common/basic_auth_test_suite.h | 2 +- .../Table/DataStreamerBenchmark.cs | 6 +- .../ErrorGroupsGenerator.cs | 148 - .../Apache.Ignite.Tests/ByteArrayPoolTest.cs | 51 + .../Apache.Ignite.Tests/Compute/ComputeTests.cs | 8 +- .../dotnet/Apache.Ignite.Tests/IgniteServerBase.cs | 24 +- .../dotnet/Apache.Ignite.Tests/IgniteTestsBase.cs | 7 +- .../Linq/LinqSqlGenerationTests.cs | 2 + .../dotnet/Apache.Ignite.Tests/LoggingTests.cs | 11 +- .../dotnet/Apache.Ignite.Tests/MetricsTests.cs | 6 +- .../dotnet/Apache.Ignite.Tests/MultiClusterTest.cs | 3 + .../Apache.Ignite.Tests/ProjectFilesTests.cs | 7 +- .../Proto/MsgPack/MsgPackReaderTests.cs | 4 +- .../Sql/SqlResultSetObjectMappingTests.cs | 6 +- .../dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs | 11 +- .../Table/BinaryTupleIgniteTupleAdapterTests.cs | 4 +- .../Apache.Ignite.Tests/Table/DataStreamerTests.cs | 12 +- .../Apache.Ignite.Tests/Table/IgniteTupleTests.cs | 6 + .../Table/SchemaSynchronizationTest.cs | 2 +- .../dotnet/Apache.Ignite.Tests/TestUtils.cs | 33 +- .../Transactions/TransactionsTests.cs | 4 +- .../platforms/dotnet/Apache.Ignite/ErrorCodes.g.cs | 540 ++ .../Internal/Buffers/ByteArrayPool.cs | 14 + .../Apache.Ignite/Internal/Buffers/PooledBuffer.cs | 78 +- .../dotnet/Apache.Ignite/Internal/ClientSocket.cs | 113 +- .../Apache.Ignite/Internal/Compute/Compute.cs | 10 + .../dotnet/Apache.Ignite/Internal/Sql/ResultSet.cs | 11 +- .../dotnet/Apache.Ignite/Internal/Sql/Sql.cs | 12 +- .../Apache.Ignite/Internal/Table/DataStreamer.cs | 12 +- .../Apache.Ignite/Internal/Table/RecordView.cs | 12 +- .../Internal/Transactions/Transaction.cs | 4 +- .../Apache.Ignite/Table/DataStreamerOptions.cs | 6 +- modules/raft/build.gradle | 1 + .../raft/ItTruncateSuffixAndRestartTest.java | 4 +- .../java/org/apache/ignite/internal/raft/Loza.java | 4 +- .../ignite/internal/raft/RaftGroupServiceImpl.java | 9 +- .../internal/raft/server/impl/JraftServerImpl.java | 6 +- .../impl/VolatileLogStorageFactoryCreator.java | 6 +- .../internal/raft/util/OptimizedMarshaller.java | 8 +- .../ignite/internal/replicator/ReplicaManager.java | 5 +- .../ClusterNotInitializedExceptionHandler.java | 45 - .../ignite/internal/rest/AbstractRestTestBase.java | 30 +- .../rest/ItInitializedClusterRestTest.java | 60 +- .../rest/ItNotInitializedClusterRestTest.java | 121 +- .../cluster/ItClusterManagementControllerTest.java | 128 +- .../ignite/internal/rest/cluster/RestTestBase.java | 79 - .../ignite/internal/rest/PathAvailability.java | 21 +- .../apache/ignite/internal/rest/RestComponent.java | 7 +- .../apache/ignite/internal/rest/RestManager.java | 14 +- .../ClusterStateHttpServerFilter.java | 3 +- .../rest/cluster/ClusterManagementController.java | 9 +- .../internal/rest/cluster/TopologyController.java | 9 +- .../ClusterConfigurationController.java | 20 +- .../ClusterConfigurationControllerTest.java | 2 + .../ConfigurationControllerBaseTest.java | 11 - modules/runner/README.md | 2 +- modules/runner/build.gradle | 2 + .../benchmark/AbstractMultiNodeBenchmark.java | 1 + .../ignite/internal/benchmark/TpchBenchmark.java | 114 + .../ItDistributedConfigurationPropertiesTest.java | 1 - .../ItDistributedConfigurationStorageTest.java | 1 - .../app/ItIgniteInMemoryNodeRestartTest.java | 9 +- .../runner/app/ItIgniteNodeRestartTest.java | 113 +- .../app/client/ItAbstractThinClientTest.java | 2 + .../runner/app/client/ItThinClientComputeTest.java | 248 +- .../ItSchemaForwardCompatibilityTest.java | 2 +- .../streamer/ItAbstractDataStreamerTest.java | 6 +- .../ignite/internal/table/ItDurableFinishTest.java | 19 +- .../ignite/internal/table/ItTableScanTest.java | 42 +- .../internal/table/ItTransactionConflictTest.java | 193 - .../org/apache/ignite/internal/app/IgniteImpl.java | 95 +- .../ignite/internal/app/LifecycleManager.java | 22 +- .../ignite/internal/app/ThreadPoolsManager.java | 20 +- .../ignite/internal/BaseIgniteRestartTest.java | 82 + .../java/org/apache/ignite/internal/Cluster.java | 25 + .../internal/ClusterPerClassIntegrationTest.java | 90 +- .../internal/ClusterPerTestIntegrationTest.java | 22 +- .../apache/ignite/internal/table/NodeUtils.java | 10 +- modules/runner/threading.md | 6 + .../ignite/internal/schema/BinaryRowConverter.java | 5 +- .../ignite/internal/schema/SchemaManager.java | 157 +- .../apache/ignite/internal/schema/SchemaUtils.java | 2 +- .../CatalogToSchemaDescriptorConverter.java | 14 +- .../ignite/internal/schema/SchemaManagerTest.java | 235 +- .../CatalogToSchemaDescriptorConverterTest.java | 8 +- .../authentication/AuthenticationManagerImpl.java | 4 +- modules/sql-engine/build.gradle | 2 + .../internal/sql/engine/ItCreateTableDdlTest.java | 14 + .../internal/sql/engine/ItDataTypesTest.java | 2 +- .../ignite/internal/sql/engine/ItDmlTest.java | 3 +- .../sql/engine/ItDynamicParameterTest.java | 24 +- .../internal/sql/engine/ItFunctionsTest.java | 40 +- .../sql/engine/ItHashSpoolIntegrationTest.java | 2 + .../internal/sql/engine/ItIndexSpoolTest.java | 2 + .../ignite/internal/sql/engine/ItJoinTest.java | 21 +- .../internal/sql/engine/ItOrToUnionRuleTest.java | 2 + .../internal/sql/engine/ItSecondaryIndexTest.java | 10 +- .../internal/sql/engine/ItZonesSystemViewTest.java | 168 + .../sql/engine/datatypes/uuid/ItUuidIndexTest.java | 6 + .../src/integrationTest/sql/sqlite/join/join1.test | 2 + ...{orderby1_10_1.test_slow => orderby1_10_1.test} | 0 ...rderby1_10_10.test_slow => orderby1_10_10.test} | 0 ...{orderby1_10_2.test_slow => orderby1_10_2.test} | 0 ..._2_long1.test_slow => orderby1_10_2_long1.test} | 0 ..._2_long2.test_slow => orderby1_10_2_long2.test} | 0 ..._2_long3.test_slow => orderby1_10_2_long3.test} | 0 ..._2_long4.test_slow => orderby1_10_2_long4.test} | 0 ..._2_long5.test_slow => orderby1_10_2_long5.test} | 0 ..._2_long6.test_slow => orderby1_10_2_long6.test} | 0 ..._2_long7.test_slow => orderby1_10_2_long7.test} | 0 ...{orderby1_10_3.test_slow => orderby1_10_3.test} | 0 ...{orderby1_10_4.test_slow => orderby1_10_4.test} | 0 ...{orderby1_10_5.test_slow => orderby1_10_5.test} | 0 ...{orderby1_10_6.test_slow => orderby1_10_6.test} | 0 ...{orderby1_10_7.test_slow => orderby1_10_7.test} | 0 ...{orderby1_10_8.test_slow => orderby1_10_8.test} | 0 ...{orderby1_10_9.test_slow => orderby1_10_9.test} | 0 ...ect3_results.test_slow => select3_results.test} | 0 ...cimal_cast.test_slow => test_decimal_cast.test} | 0 ...archar.test_slow => test_scan_big_varchar.test} | 0 modules/sql-engine/src/main/codegen/config.fmpp | 2 - .../src/main/codegen/includes/parserImpls.ftl | 15 +- .../internal/sql/api/AsyncResultSetImpl.java | 9 +- .../ignite/internal/sql/api/IgniteSqlImpl.java | 7 +- .../ignite/internal/sql/api/SessionImpl.java | 70 +- .../SqlClusterConfigurationModule.java} | 28 +- .../SqlDistributedConfigurationSchema.java} | 18 +- .../SqlPlannerDistributedConfigurationSchema.java} | 29 +- .../SqlExecutionLocalConfigurationSchema.java} | 19 +- .../local/SqlLocalConfigurationSchema.java} | 28 +- .../local/SqlNodeConfigurationModule.java} | 28 +- .../local/SqlPlannerLocalConfigurationSchema.java} | 19 +- .../ignite/internal/sql/engine/QueryProcessor.java | 9 +- .../internal/sql/engine/SqlQueryProcessor.java | 48 +- .../engine/exec/ExecutableTableRegistryImpl.java | 5 +- .../internal/sql/engine/exec/ExecutionContext.java | 6 - .../sql/engine/exec/ExecutionServiceImpl.java | 30 +- .../sql/engine/exec/QueryTaskExecutorImpl.java | 18 +- .../sql/engine/exec/SqlOutputBinaryRow.java | 83 + .../sql/engine/exec/TableRowConverter.java | 17 +- .../sql/engine/exec/TableRowConverterImpl.java | 89 +- .../sql/engine/exec/UpdatableTableImpl.java | 106 +- .../sql/engine/exec/exp/ExpressionFactoryImpl.java | 89 +- .../sql/engine/exec/exp/IgniteSqlFunctions.java | 67 + .../internal/sql/engine/exec/exp/RexImpTable.java | 354 +- .../engine/exec/mapping/MappingServiceImpl.java | 105 +- .../sql/engine/exec/mapping/QuerySplitter.java | 7 + .../sql/engine/exec/rel/NestedLoopJoinNode.java | 9 +- .../sql/engine/externalize/RelJsonReader.java | 11 + .../internal/sql/engine/prepare/PlannerPhase.java | 19 +- .../sql/engine/prepare/PrepareServiceImpl.java | 28 +- .../internal/sql/engine/prepare/QueryMetadata.java | 53 + .../prepare/ddl/DdlSqlToCommandConverter.java | 3 +- .../rule/logical/IgniteJoinConditionPushRule.java | 72 + .../sql/engine/schema/SqlSchemaManagerImpl.java | 3 +- .../sql/engine/sql/IgniteSqlDecimalLiteral.java | 113 - .../internal/sql/engine/sql/ParserServiceImpl.java | 19 +- .../sql/engine/sql/fun/IgniteSqlOperatorTable.java | 38 +- .../internal/sql/engine/util/IgniteMethod.java | 7 +- .../ignite/internal/sql/engine/util/RexUtils.java | 65 +- .../internal/sql/engine/util/cache/Cache.java | 19 + .../engine/util/cache/CaffeineCacheFactory.java | 12 + .../ignite/internal/sql/api/SessionImplTest.java | 24 +- .../sql/engine/benchmarks/TpchParseBenchmark.java | 1 + .../engine/benchmarks/TpchPrepareBenchmark.java | 1 + .../exec/ExecutableTableRegistrySelfTest.java | 2 - .../sql/engine/exec/ExecutionServiceImplTest.java | 50 +- .../sql/engine/exec/TableRowConverterSelfTest.java | 247 + .../engine/exec/exp/ExpressionFactoryImplTest.java | 215 +- .../exec/mapping/MappingServiceImplTest.java | 135 +- .../sql/engine/exec/rel/AbstractExecutionTest.java | 16 +- .../sql/engine/exec/rel/ExchangeExecutionTest.java | 2 +- .../exec/rel/NestedLoopJoinExecutionTest.java | 23 +- .../engine/exec/rel/ScannableTableSelfTest.java | 6 + .../exec/rel/TableScanNodeExecutionTest.java | 10 +- .../engine/framework/ClusterServiceFactory.java | 4 +- .../sql/engine/framework/TestBuilders.java | 37 +- .../internal/sql/engine/framework/TestCluster.java | 33 +- .../sql/engine/framework/TestClusterTest.java | 32 + .../internal/sql/engine/framework/TestNode.java | 24 +- .../CorrelatedNestedLoopJoinPlannerTest.java | 2 + .../sql/engine/planner/HashIndexPlannerTest.java | 3 + .../planner/IndexSearchBoundsPlannerTest.java | 54 +- .../sql/engine/planner/JoinCommutePlannerTest.java | 1 + .../internal/sql/engine/planner/PlannerTest.java | 2 + .../sql/engine/planner/PlannerTimeoutTest.java | 2 +- .../planner/PredicatePushDownPlannerTest.java | 65 + .../planner/ProjectFilterScanMergePlannerTest.java | 2 +- .../sql/engine/prepare/PrepareServiceImplTest.java | 2 +- .../engine/schema/SqlSchemaManagerImplTest.java | 8 +- ...malLiteralTest.java => DecimalLiteralTest.java} | 86 +- .../sql/engine/sql/IgniteSqlParserTest.java | 2 +- .../sql/engine/sql/ParserServiceImplTest.java | 12 + .../internal/sql/engine/sql/SqlDdlParserTest.java | 59 + .../sql/engine/sql/SqlLiteralArchTest.java | 114 - .../sql/engine/sql/SqlReservedWordsTest.java | 3 + .../sql/engine/util/EmptyCacheFactory.java | 12 + .../internal/sql/engine/util/QueryCheckerTest.java | 59 +- .../sql/metrics/PlanningCacheMetricsTest.java | 3 +- .../src/test/resources/mapping/correlated.test | 42 +- .../test/resources/mapping/table_functions.test | 2 +- .../internal/sql/engine/util/QueryCheckerImpl.java | 42 +- .../internal/sql/engine/util/tpch}/TpchHelper.java | 13 +- .../testFixtures/resources/tpch/customer_dml.sql | 153 + .../testFixtures/resources/tpch/lineitem_dml.sql | 6008 ++++++++++++++++++++ .../src/testFixtures/resources/tpch/nation_dml.sql | 28 + .../src/testFixtures/resources/tpch/orders_dml.sql | 1503 +++++ .../src/testFixtures/resources/tpch/part_dml.sql | 203 + .../testFixtures/resources/tpch/partsupp_dml.sql | 804 +++ .../{test => testFixtures}/resources/tpch/q1.sql | 0 .../{test => testFixtures}/resources/tpch/q10.sql | 0 .../{test => testFixtures}/resources/tpch/q11.sql | 0 .../{test => testFixtures}/resources/tpch/q12.sql | 0 .../{test => testFixtures}/resources/tpch/q13.sql | 0 .../{test => testFixtures}/resources/tpch/q14.sql | 0 .../{test => testFixtures}/resources/tpch/q15.sql | 0 .../{test => testFixtures}/resources/tpch/q16.sql | 0 .../{test => testFixtures}/resources/tpch/q17.sql | 0 .../{test => testFixtures}/resources/tpch/q18.sql | 0 .../{test => testFixtures}/resources/tpch/q19.sql | 0 .../{test => testFixtures}/resources/tpch/q2.sql | 0 .../{test => testFixtures}/resources/tpch/q20.sql | 0 .../{test => testFixtures}/resources/tpch/q21.sql | 0 .../{test => testFixtures}/resources/tpch/q22.sql | 0 .../{test => testFixtures}/resources/tpch/q3.sql | 0 .../{test => testFixtures}/resources/tpch/q4.sql | 0 .../{test => testFixtures}/resources/tpch/q5.sql | 0 .../{test => testFixtures}/resources/tpch/q6.sql | 0 .../{test => testFixtures}/resources/tpch/q7.sql | 0 .../{test => testFixtures}/resources/tpch/q8.sql | 0 .../{test => testFixtures}/resources/tpch/q9.sql | 0 .../src/testFixtures/resources/tpch/region_dml.sql | 8 + .../testFixtures/resources/tpch/supplier_dml.sql | 13 + .../resources/tpch/tpch_schema_ddl.sql} | 4 +- .../resources/tpch/variant_q12.sql | 0 .../resources/tpch/variant_q14.sql | 0 .../resources/tpch/variant_q8.sql | 0 .../internal/storage/DataStorageManager.java | 7 +- .../storage/AbstractMvTableStorageTest.java | 11 +- .../storage/impl/TestMvPartitionStorage.java | 19 +- .../index/AbstractHashIndexStorageTest.java | 3 +- .../storage/index/AbstractIndexStorageTest.java | 6 +- .../index/AbstractSortedIndexStorageTest.java | 3 +- .../index/impl/AbstractTestIndexStorage.java | 17 +- .../storage/index/impl/TestSortedIndexStorage.java | 4 +- .../internal/systemview/SystemViewManagerImpl.java | 5 +- modules/table/build.gradle | 2 + .../apache/ignite/distributed/ItLockTableTest.java | 4 +- ...xDistributedTestSingleNodeNoCleanupMessage.java | 6 +- .../rebalance/ItRebalanceDistributedTest.java | 6 +- .../rebalance/ItRebalanceTriggersRecoveryTest.java | 245 + .../ignite/internal/table/ItColocationTest.java | 6 +- .../ignite/internal/table/ItCriteriaQueryTest.java | 475 +- .../internal/table/ItTransactionRecoveryTest.java | 924 +++ .../ignite/internal/table/AbstractTableView.java | 91 +- .../apache/ignite/internal/table/DataStreamer.java | 4 +- .../ignite/internal/table/InternalTable.java | 18 +- .../internal/table/KeyValueBinaryViewImpl.java | 17 +- .../ignite/internal/table/KeyValueViewImpl.java | 42 +- .../internal/table/RecordBinaryViewImpl.java | 34 +- .../ignite/internal/table/RecordViewImpl.java | 49 +- .../apache/ignite/internal/table/TableImpl.java | 5 + .../internal/table/distributed/LowWatermark.java | 14 +- .../internal/table/distributed/TableManager.java | 49 +- .../table/distributed/TableMessageGroup.java | 3 - .../table/distributed/raft/PartitionListener.java | 39 - .../outgoing/OutgoingSnapshotsManager.java | 5 +- .../replicator/CompatValidationResult.java | 37 +- .../replicator/PartitionReplicaListener.java | 124 +- .../distributed/storage/InternalTableImpl.java | 52 +- .../internal/table/criteria/SqlSerializerTest.java | 208 + .../table/distributed/TableManagerTest.java | 9 +- .../PartitionReplicaListenerDurableUnlockTest.java | 248 - .../replication/PartitionReplicaListenerTest.java | 19 +- .../schema/CatalogValidationSchemasSourceTest.java | 12 +- .../apache/ignite/distributed/ItTxTestCluster.java | 7 +- .../ignite/internal/table/TxAbstractTest.java | 103 +- .../table/impl/DummyInternalTableImpl.java | 12 +- .../ignite/internal/tx/LocalRwTxCounter.java | 66 + ...=> MismatchingTransactionOutcomeException.java} | 19 +- .../apache/ignite/internal/tx/TransactionIds.java | 42 +- .../org/apache/ignite/internal/tx/TxManager.java | 19 +- .../java/org/apache/ignite/internal/tx/TxMeta.java | 35 +- .../org/apache/ignite/internal/tx/TxPriority.java} | 11 +- .../ignite/internal/tx/impl/HeapLockManager.java | 16 +- .../internal/tx/impl/IgniteTransactionsImpl.java | 7 + .../ignite/internal/tx/impl/OrphanDetector.java | 85 +- .../tx/impl/PrimaryReplicaExpiredException.java | 2 +- .../internal/tx/impl/ReadWriteTransactionImpl.java | 7 +- .../internal/tx/impl/TransactionIdGenerator.java | 14 +- .../internal/tx/impl/TxCleanupRequestHandler.java | 16 +- ...dGenerator.java => TxIdPriorityComparator.java} | 35 +- .../ignite/internal/tx/impl/TxManagerImpl.java | 279 +- .../tx/impl/WaitDieDeadlockPreventionPolicy.java | 15 +- .../tx/impl/WriteIntentSwitchProcessor.java | 43 +- .../tx/AbstractDeadlockPreventionTest.java | 17 + .../internal/tx/AbstractLockManagerTest.java | 45 + .../ignite/internal/tx/AbstractLockingTest.java | 4 + .../tx/ReversedDeadlockPreventionTest.java | 45 +- .../ignite/internal/tx/TransactionIdsTest.java | 15 +- .../apache/ignite/internal/tx/TxCleanupTest.java | 198 + .../apache/ignite/internal/tx/TxManagerTest.java | 356 +- .../internal/tx/WaitDieDeadlockPreventionTest.java | 47 + .../internal/tx/impl/OrphanDetectorTest.java | 290 + .../tx/impl/TxIdPriorityComparatorTest.java | 61 + .../internal/tx/test/TestLocalRwTxCounter.java} | 45 +- .../internal/tx/test/TestTransactionIds.java | 15 +- modules/transactions/tech-notes/cleanup.puml | 1 - .../apache/ignite/internal/vault/VaultManager.java | 5 +- modules/workers/README.md | 8 + modules/{compute => workers}/build.gradle | 33 +- .../worker/ItCriticalWorkerMonitoringTest.java | 126 + .../worker/CriticalSingleThreadExecutor.java | 68 + .../ignite/internal/worker/CriticalWorker.java | 41 + .../internal/worker/CriticalWorkerRegistry.java} | 23 +- .../internal/worker/CriticalWorkerWatchdog.java | 147 + .../CriticalWorkersConfigurationModule.java} | 26 +- .../CriticalWorkersConfigurationSchema.java | 54 + .../fixtures/NoOpCriticalWorkerRegistry.java} | 18 +- settings.gradle | 4 + 669 files changed, 29232 insertions(+), 6807 deletions(-) copy modules/{compute/src/main/java/org/apache/ignite/internal/compute/ExecutionOptions.java => api/src/main/java/org/apache/ignite/compute/JobExecutionOptions.java} (76%) copy modules/{network-api/src/main/java/org/apache/ignite/network/NetworkMessageHandler.java => api/src/main/java/org/apache/ignite/table/criteria/Column.java} (56%) copy modules/{core/src/main/java/org/apache/ignite/internal/streamer/StreamerOptions.java => api/src/main/java/org/apache/ignite/table/criteria/Condition.java} (53%) create mode 100644 modules/api/src/main/java/org/apache/ignite/table/criteria/CriteriaVisitor.java copy modules/{compute/src/main/java/org/apache/ignite/internal/compute/queue/QueueExecution.java => api/src/main/java/org/apache/ignite/table/criteria/Expression.java} (50%) copy modules/api/src/main/java/org/apache/ignite/table/criteria/{Criteria.java => Operator.java} (74%) copy modules/{catalog/src/main/java/org/apache/ignite/internal/catalog/IndexAlreadyAvailableValidationException.java => api/src/main/java/org/apache/ignite/table/criteria/Parameter.java} (58%) copy modules/catalog/src/main/java/org/apache/ignite/internal/catalog/{IndexAlreadyAvailableValidationException.java => ChangeIndexStatusValidationException.java} (50%) copy modules/catalog/src/main/java/org/apache/ignite/internal/catalog/{DistributionZoneNotFoundValidationException.java => DistributionZoneCantBeDroppedValidationException.java} (63%) create mode 100644 modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/RenameTableCommand.java copy modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/{MakeIndexAvailableCommandBuilder.java => RenameTableCommandBuilder.java} (59%) copy modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/{MakeIndexAvailableCommand.java => StartBuildingIndexCommand.java} (60%) copy modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/{MakeIndexAvailableCommandBuilder.java => StartBuildingIndexCommandBuilder.java} (81%) copy modules/catalog/src/main/java/org/apache/ignite/internal/catalog/{IndexAlreadyAvailableValidationException.java => descriptors/CatalogIndexStatus.java} (57%) create mode 100644 modules/catalog/src/main/java/org/apache/ignite/internal/catalog/descriptors/CatalogTableSchemaVersions.java copy modules/catalog/src/main/java/org/apache/ignite/internal/catalog/{IndexAlreadyAvailableValidationException.java => events/RenameTableEventParameters.java} (52%) copy modules/catalog/src/main/java/org/apache/ignite/internal/catalog/{IndexAlreadyAvailableValidationException.java => events/StartBuildingIndexEventParameters.java} (58%) copy modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/{MakeIndexAvailableEntry.java => AbstractChangeIndexStatusEntry.java} (71%) create mode 100644 modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/RenameTableEntry.java create mode 100644 modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/StartBuildingIndexEntry.java copy modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/{MakeIndexAvailableCommandValidationTest.java => AbstractChangeIndexStatusCommandValidationTest.java} (61%) create mode 100644 modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/RenameTableCommandValidationTest.java copy modules/catalog/src/{main/java/org/apache/ignite/internal/catalog/commands/MakeIndexAvailableCommandBuilder.java => test/java/org/apache/ignite/internal/catalog/commands/StartBuildingIndexCommandValidationTest.java} (59%) create mode 100644 modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/compute/ClientComputeCancelRequest.java create mode 100644 modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/compute/ClientComputeChangePriorityRequest.java create mode 100644 modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/compute/ClientComputeGetStatusRequest.java rename modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/{ClientSqlParameterMetadataRequest.java => ClientSqlQueryMetadataRequest.java} (91%) create mode 100644 modules/client/src/main/java/org/apache/ignite/internal/client/table/AbstractClientView.java rename modules/compute/src/integrationTest/java/org/apache/ignite/internal/compute/{ItComputeTestBaseEmbedded.java => ItComputeTestEmbedded.java} (54%) create mode 100644 modules/compute/src/integrationTest/java/org/apache/ignite/internal/compute/ItWorkerShutdownTest.java create mode 100644 modules/compute/src/integrationTest/java/org/apache/ignite/internal/compute/utils/InteractiveJobs.java create mode 100644 modules/compute/src/integrationTest/java/org/apache/ignite/internal/compute/utils/TestingJobExecution.java create mode 100644 modules/compute/src/main/java/org/apache/ignite/internal/compute/Cleaner.java create mode 100644 modules/compute/src/main/java/org/apache/ignite/internal/compute/ComputeJobFailover.java create mode 100644 modules/compute/src/main/java/org/apache/ignite/internal/compute/ExecutionManager.java create mode 100644 modules/compute/src/main/java/org/apache/ignite/internal/compute/FailSafeJobExecution.java create mode 100644 modules/compute/src/main/java/org/apache/ignite/internal/compute/IgniteComputeInternal.java create mode 100644 modules/compute/src/main/java/org/apache/ignite/internal/compute/NextColocatedWorkerSelector.java copy modules/compute/src/main/java/org/apache/ignite/internal/compute/{executor/ComputeExecutor.java => NextWorkerSelector.java} (63%) create mode 100644 modules/compute/src/main/java/org/apache/ignite/internal/compute/RemoteExecutionContext.java copy modules/compute/src/main/java/org/apache/ignite/internal/compute/message/{JobCancelResponse.java => JobChangePriorityRequest.java} (65%) copy modules/compute/src/main/java/org/apache/ignite/internal/compute/message/{JobCancelResponse.java => JobChangePriorityResponse.java} (62%) create mode 100644 modules/compute/src/main/java/org/apache/ignite/internal/compute/queue/ComputeThreadPoolExecutor.java create mode 100644 modules/compute/src/test/java/org/apache/ignite/internal/compute/queue/ComputeThreadPoolExecutorTest.java delete mode 100644 modules/core/src/main/java/org/apache/ignite/internal/distributionzones/DistributionZoneAlreadyExistsException.java delete mode 100644 modules/core/src/main/java/org/apache/ignite/internal/distributionzones/DistributionZoneBindTableException.java create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/table/criteria/ColumnValidator.java create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/table/criteria/SqlRowProjection.java create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/table/criteria/SqlSerializer.java rename modules/{core/src/main/java/org/apache/ignite/internal/distributionzones => distribution-zones/src/main/java/org/apache/ignite/internal/distributionzones/exception}/DistributionZoneNotFoundException.java (88%) delete mode 100644 modules/distribution-zones/src/main/java/org/apache/ignite/internal/distributionzones/exception/DistributionZoneWasRemovedException.java copy modules/{api => error-code-annotation-processor}/build.gradle (74%) copy modules/{compute/src/main/java/org/apache/ignite/internal/compute/queue/CancellingException.java => error-code-annotation-processor/src/main/java/org/apache/ignite/error/code/annotations/ErrorCodeGroup.java} (62%) rename modules/{rest-api/src/main/java/org/apache/ignite/internal/rest/exception/ClusterNotInitializedException.java => error-code-annotation-processor/src/main/java/org/apache/ignite/internal/error/code/generators/AbstractCodeGenerator.java} (73%) create mode 100644 modules/error-code-annotation-processor/src/main/java/org/apache/ignite/internal/error/code/generators/CppGenerator.java create mode 100644 modules/error-code-annotation-processor/src/main/java/org/apache/ignite/internal/error/code/generators/CsharpGenerator.java create mode 100644 modules/error-code-annotation-processor/src/main/java/org/apache/ignite/internal/error/code/generators/GenericGenerator.java copy modules/{catalog/src/main/java/org/apache/ignite/internal/catalog/IndexAlreadyAvailableValidationException.java => error-code-annotation-processor/src/main/java/org/apache/ignite/internal/error/code/processor/ErrorCodeGroupDescriptor.java} (57%) create mode 100644 modules/error-code-annotation-processor/src/main/java/org/apache/ignite/internal/error/code/processor/ErrorCodeGroupProcessor.java copy modules/{catalog/src/main/java/org/apache/ignite/internal/catalog/IndexAlreadyAvailableValidationException.java => error-code-annotation-processor/src/main/java/org/apache/ignite/internal/error/code/processor/ErrorCodeGroupProcessorException.java} (63%) create mode 100644 modules/index/src/integrationTest/java/org/apache/ignite/internal/index/ItIndexNodeFinishedRwTransactionsCheckerTest.java create mode 100644 modules/index/src/main/java/org/apache/ignite/internal/index/IndexNodeFinishedRwTransactionsChecker.java copy modules/{catalog/src/main/java/org/apache/ignite/internal/catalog/commands/MakeIndexAvailableCommandBuilder.java => index/src/main/java/org/apache/ignite/internal/index/message/IndexMessageGroup.java} (57%) create mode 100644 modules/index/src/main/java/org/apache/ignite/internal/index/message/IsNodeFinishedRwTransactionsStartedBeforeRequest.java rename modules/{table/src/main/java/org/apache/ignite/internal/table/distributed/command/MarkLocksReleasedCommand.java => index/src/main/java/org/apache/ignite/internal/index/message/IsNodeFinishedRwTransactionsStartedBeforeResponse.java} (67%) create mode 100644 modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/TupleReader.java copy modules/{compute/src/main/java/org/apache/ignite/internal/compute/queue/CancellingException.java => network-api/src/main/java/org/apache/ignite/network/RecipientLeftException.java} (65%) create mode 100644 modules/network/src/integrationTest/java/org/apache/ignite/internal/network/netty/OutgoingAcknowledgementSilencer.java create mode 100644 modules/network/src/main/java/org/apache/ignite/network/NettyWorkersRegistrar.java create mode 100644 modules/network/src/test/java/org/apache/ignite/network/OutNetworkObjectTest.java copy modules/{core/src/main/java/org/apache/ignite/internal/streamer/StreamerOptions.java => page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/CheckpointUrgency.java} (53%) create mode 100644 modules/platforms/cpp/ignite/common/error_codes.h delete mode 100644 modules/platforms/dotnet/Apache.Ignite.Internal.Generators/ErrorGroupsGenerator.cs create mode 100644 modules/platforms/dotnet/Apache.Ignite.Tests/ByteArrayPoolTest.cs create mode 100644 modules/platforms/dotnet/Apache.Ignite/ErrorCodes.g.cs delete mode 100644 modules/rest-api/src/main/java/org/apache/ignite/internal/rest/exception/handler/ClusterNotInitializedExceptionHandler.java delete mode 100644 modules/rest/src/integrationTest/java/org/apache/ignite/internal/rest/cluster/RestTestBase.java create mode 100644 modules/runner/src/integrationTest/java/org/apache/ignite/internal/benchmark/TpchBenchmark.java delete mode 100644 modules/runner/src/integrationTest/java/org/apache/ignite/internal/table/ItTransactionConflictTest.java create mode 100644 modules/runner/threading.md create mode 100644 modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItZonesSystemViewTest.java rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_1.test_slow => orderby1_10_1.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_10.test_slow => orderby1_10_10.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_2.test_slow => orderby1_10_2.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_2_long1.test_slow => orderby1_10_2_long1.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_2_long2.test_slow => orderby1_10_2_long2.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_2_long3.test_slow => orderby1_10_2_long3.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_2_long4.test_slow => orderby1_10_2_long4.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_2_long5.test_slow => orderby1_10_2_long5.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_2_long6.test_slow => orderby1_10_2_long6.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_2_long7.test_slow => orderby1_10_2_long7.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_3.test_slow => orderby1_10_3.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_4.test_slow => orderby1_10_4.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_5.test_slow => orderby1_10_5.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_6.test_slow => orderby1_10_6.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_7.test_slow => orderby1_10_7.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_8.test_slow => orderby1_10_8.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/orderby/{orderby1_10_9.test_slow => orderby1_10_9.test} (100%) rename modules/sql-engine/src/integrationTest/sql/sqlite/select3/{select3_results.test_slow => select3_results.test} (100%) rename modules/sql-engine/src/integrationTest/sql/types/decimal/{test_decimal_cast.test_slow => test_decimal_cast.test} (100%) rename modules/sql-engine/src/integrationTest/sql/types/string/{test_scan_big_varchar.test_slow => test_scan_big_varchar.test} (100%) copy modules/{transactions/src/main/java/org/apache/ignite/internal/tx/impl/WaitDieDeadlockPreventionPolicy.java => sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/distributed/SqlClusterConfigurationModule.java} (54%) copy modules/{catalog/src/main/java/org/apache/ignite/internal/catalog/commands/MakeIndexAvailableCommandBuilder.java => sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/distributed/SqlDistributedConfigurationSchema.java} (57%) rename modules/{catalog/src/main/java/org/apache/ignite/internal/catalog/IndexAlreadyAvailableValidationException.java => sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/distributed/SqlPlannerDistributedConfigurationSchema.java} (51%) copy modules/{catalog/src/main/java/org/apache/ignite/internal/catalog/commands/MakeIndexAvailableCommandBuilder.java => sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/local/SqlExecutionLocalConfigurationSchema.java} (62%) copy modules/sql-engine/src/{integrationTest/java/org/apache/ignite/internal/sql/engine/datatypes/uuid/ItUuidIndexTest.java => main/java/org/apache/ignite/internal/sql/configuration/local/SqlLocalConfigurationSchema.java} (53%) copy modules/{transactions/src/main/java/org/apache/ignite/internal/tx/impl/WaitDieDeadlockPreventionPolicy.java => sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/local/SqlNodeConfigurationModule.java} (55%) copy modules/{catalog/src/main/java/org/apache/ignite/internal/catalog/commands/MakeIndexAvailableCommandBuilder.java => sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/local/SqlPlannerLocalConfigurationSchema.java} (63%) create mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/SqlOutputBinaryRow.java create mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/QueryMetadata.java create mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/logical/IgniteJoinConditionPushRule.java delete mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/sql/IgniteSqlDecimalLiteral.java create mode 100644 modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/TableRowConverterSelfTest.java create mode 100644 modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/PredicatePushDownPlannerTest.java rename modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/sql/{IgniteSqlDecimalLiteralTest.java => DecimalLiteralTest.java} (53%) delete mode 100644 modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/sql/SqlLiteralArchTest.java rename modules/sql-engine/src/{test/java/org/apache/ignite/internal/sql/engine/benchmarks => testFixtures/java/org/apache/ignite/internal/sql/engine/util/tpch}/TpchHelper.java (88%) create mode 100644 modules/sql-engine/src/testFixtures/resources/tpch/customer_dml.sql create mode 100644 modules/sql-engine/src/testFixtures/resources/tpch/lineitem_dml.sql create mode 100644 modules/sql-engine/src/testFixtures/resources/tpch/nation_dml.sql create mode 100644 modules/sql-engine/src/testFixtures/resources/tpch/orders_dml.sql create mode 100644 modules/sql-engine/src/testFixtures/resources/tpch/part_dml.sql create mode 100644 modules/sql-engine/src/testFixtures/resources/tpch/partsupp_dml.sql rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q1.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q10.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q11.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q12.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q13.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q14.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q15.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q16.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q17.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q18.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q19.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q2.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q20.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q21.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q22.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q3.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q4.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q5.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q6.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q7.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q8.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/q9.sql (100%) create mode 100644 modules/sql-engine/src/testFixtures/resources/tpch/region_dml.sql create mode 100644 modules/sql-engine/src/testFixtures/resources/tpch/supplier_dml.sql rename modules/sql-engine/src/{test/resources/tpch/schema_definition_ddl.sql => testFixtures/resources/tpch/tpch_schema_ddl.sql} (96%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/variant_q12.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/variant_q14.sql (100%) rename modules/sql-engine/src/{test => testFixtures}/resources/tpch/variant_q8.sql (100%) create mode 100644 modules/table/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceTriggersRecoveryTest.java create mode 100644 modules/table/src/integrationTest/java/org/apache/ignite/internal/table/ItTransactionRecoveryTest.java create mode 100644 modules/table/src/test/java/org/apache/ignite/internal/table/criteria/SqlSerializerTest.java delete mode 100644 modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerDurableUnlockTest.java create mode 100644 modules/transactions/src/main/java/org/apache/ignite/internal/tx/LocalRwTxCounter.java rename modules/transactions/src/main/java/org/apache/ignite/internal/tx/{TransactionAlreadyFinishedException.java => MismatchingTransactionOutcomeException.java} (61%) copy modules/transactions/src/{test/java/org/apache/ignite/internal/tx/WaitDieDeadlockPreventionTest.java => main/java/org/apache/ignite/internal/tx/TxPriority.java} (76%) copy modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/{TransactionIdGenerator.java => TxIdPriorityComparator.java} (51%) create mode 100644 modules/transactions/src/test/java/org/apache/ignite/internal/tx/TxCleanupTest.java create mode 100644 modules/transactions/src/test/java/org/apache/ignite/internal/tx/impl/OrphanDetectorTest.java create mode 100644 modules/transactions/src/test/java/org/apache/ignite/internal/tx/impl/TxIdPriorityComparatorTest.java copy modules/transactions/src/{main/java/org/apache/ignite/internal/tx/impl/TransactionIdGenerator.java => testFixtures/java/org/apache/ignite/internal/tx/test/TestLocalRwTxCounter.java} (50%) create mode 100644 modules/workers/README.md copy modules/{compute => workers}/build.gradle (69%) create mode 100644 modules/workers/src/integrationTest/java/org/apache/ignite/internal/worker/ItCriticalWorkerMonitoringTest.java create mode 100644 modules/workers/src/main/java/org/apache/ignite/internal/worker/CriticalSingleThreadExecutor.java create mode 100644 modules/workers/src/main/java/org/apache/ignite/internal/worker/CriticalWorker.java rename modules/{compute/src/main/java/org/apache/ignite/internal/compute/queue/CancellingException.java => workers/src/main/java/org/apache/ignite/internal/worker/CriticalWorkerRegistry.java} (60%) create mode 100644 modules/workers/src/main/java/org/apache/ignite/internal/worker/CriticalWorkerWatchdog.java rename modules/{table/src/main/java/org/apache/ignite/internal/table/distributed/replicator/IncompatibleSchemaAbortException.java => workers/src/main/java/org/apache/ignite/internal/worker/configuration/CriticalWorkersConfigurationModule.java} (52%) create mode 100644 modules/workers/src/main/java/org/apache/ignite/internal/worker/configuration/CriticalWorkersConfigurationSchema.java copy modules/{transactions/src/test/java/org/apache/ignite/internal/tx/WaitDieDeadlockPreventionTest.java => workers/src/testFixtures/java/org/apache/ignite/internal/worker/fixtures/NoOpCriticalWorkerRegistry.java} (63%)