This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a change to branch ignite-20790 in repository https://gitbox.apache.org/repos/asf/ignite-3.git
from 4000c42b28 Merge remote-tracking branch 'origin/ignite-20790' into ignite-20790 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) add b84e7f5b80 IGNITE-21343 Do not cut thread dump depth in warnings about critical worker blockage (#3086) add 302e77902d IGNITE-21347 Fix license header extra whitespaces in ErrorCodeGroup annotation processor (#3091) add 23b25e666c IGNITE-20993 Make the tables recover on the same assignments on different nodes (#3011) add e7545588ba IGNITE-21276 Check nodeId within ensureReplicaIsPrimary (#3057) add 6a2833db9a IGNITE-21355 Waiting for the start of components from CatalogTestUtils (#3096) add 7a1225662c IGNITE-21360 Fix ClientComputeTest (#3100) add 0794aa48d8 IGNITE-21357 Getting the catalog version in which the index created (#3099) add 96f420de59 IGNITE-21359 Cleanup RebalanceUtil code duplication. (#3098) add 7cf7a6afeb Merge branch 'main' into ignite-20790 add 5780b6d9e6 Minors after review. No new revisions were added by this update. Summary of changes: .../org/apache/ignite/compute/IgniteCompute.java | 192 +++++- .../ignite/compute/JobExecutionOptions.java} | 20 +- .../java/org/apache/ignite/lang/ErrorGroups.java | 11 +- .../internal/catalog/CatalogManagerImpl.java | 37 +- .../ignite/internal/catalog/CatalogService.java | 7 + .../internal/catalog/commands/CatalogUtils.java | 43 +- .../internal/catalog/storage/AlterColumnEntry.java | 38 +- .../internal/catalog/storage/DropColumnsEntry.java | 38 +- .../internal/catalog/storage/NewColumnsEntry.java | 35 +- .../internal/catalog/storage/RenameTableEntry.java | 36 +- .../internal/catalog/storage/SnapshotEntry.java | 66 ++- .../internal/catalog/storage/SnapshotUpdate.java | 48 -- .../ignite/internal/catalog/storage/UpdateLog.java | 4 +- .../internal/catalog/storage/UpdateLogEvent.java} | 8 +- .../internal/catalog/storage/UpdateLogImpl.java | 6 +- .../internal/catalog/storage/VersionedUpdate.java | 5 +- .../catalog/CatalogManagerRecoveryTest.java | 6 +- .../internal/catalog/CatalogManagerSelfTest.java | 20 +- .../internal/catalog/CatalogTestUtilsTest.java | 20 +- .../catalog/commands/CatalogUtilsTest.java | 416 +++++++------ .../catalog/storage/UpdateLogImplTest.java | 18 +- .../ignite/internal/catalog/CatalogTestUtils.java | 58 +- .../repl/executor/ItIgnitePicocliCommandsTest.java | 4 +- .../ignite/internal/cli/core/JdbcUrlFactory.java | 4 +- .../internal/cli/core/JdbcUrlFactoryTest.java | 8 +- .../internal/client/proto/ClientMessagePacker.java | 6 +- .../ignite/internal/client/proto/ClientOp.java | 4 +- .../client/proto/ClientMessagePackerTest.java | 12 + .../apache/ignite/client/handler/TestServer.java | 2 +- .../ignite/client/handler/ClientHandlerModule.java | 73 ++- .../handler/ClientInboundMessageHandler.java | 6 +- .../ClientComputeExecuteColocatedRequest.java | 5 +- .../compute/ClientComputeExecuteRequest.java | 4 +- .../handler/requests/sql/ClientSqlCommon.java | 64 ++ .../requests/sql/ClientSqlExecuteRequest.java | 59 +- ...est.java => ClientSqlQueryMetadataRequest.java} | 4 +- .../ignite/client/handler/FakeCatalogService.java | 5 + .../apache/ignite/internal/client/ClientUtils.java | 2 +- .../internal/client/compute/ClientCompute.java | 60 +- .../apache/ignite/client/ClientComputeTest.java | 1 - .../java/org/apache/ignite/client/TestServer.java | 2 +- .../apache/ignite/client/fakes/FakeCompute.java | 47 +- modules/compute/build.gradle | 3 + .../internal/compute/ItComputeTestEmbedded.java | 95 ++- .../internal/compute/ItWorkerShutdownTest.java | 438 ++++---------- .../internal/compute/utils/InteractiveJobs.java | 366 ++++++++++++ .../compute/utils/TestingJobExecution.java | 143 +++++ .../internal/compute/ComputeJobFailover.java | 133 +++-- .../ignite/internal/compute/ExecutionOptions.java | 24 + .../internal/compute/FailSafeJobExecution.java | 51 +- .../ignite/internal/compute/IgniteComputeImpl.java | 169 ++++-- .../compute/NextColocatedWorkerSelector.java | 119 ++++ .../internal/compute/NextWorkerSelector.java} | 17 +- .../internal/compute/NodeLeftEventsSource.java | 54 -- .../internal/compute/RemoteExecutionContext.java | 10 +- .../internal/compute/IgniteComputeImplTest.java | 84 ++- .../ignite/internal/util/io/IgniteDataOutput.java | 2 - modules/distribution-zones/build.gradle | 1 + .../ItDistributionZonesFilterTest.java | 4 +- ...niteDistributionZoneManagerNodeRestartTest.java | 4 +- .../distributionzones/rebalance/RebalanceUtil.java | 37 +- .../BaseDistributionZoneManagerTest.java | 20 +- ...ibutionZoneManagerConfigurationChangesTest.java | 12 +- .../DistributionZoneRebalanceEngineTest.java | 37 +- .../error/code/generators/GenericGenerator.java | 32 +- .../internal/index/IndexManagementUtils.java | 24 + .../IndexAvailabilityControllerRestorerTest.java | 13 +- .../index/IndexAvailabilityControllerTest.java | 10 +- .../internal/index/IndexBuildControllerTest.java | 6 +- .../ignite/internal/index/IndexChooserTest.java | 2 +- .../internal/index/IndexManagementUtilsTest.java | 46 ++ .../ignite/internal/index/IndexManagerTest.java | 7 +- .../ignite/jdbc/ItJdbcAuthenticationTest.java | 4 +- .../ignite/internal/jdbc/ConnectionProperties.java | 20 +- .../internal/jdbc/ConnectionPropertiesImpl.java | 30 +- .../ignite/internal/jdbc/JdbcConnection.java | 10 +- modules/network/build.gradle | 2 + .../ignite/network/NettyWorkersRegistrar.java | 18 +- .../ignite/utils/ClusterServiceTestUtils.java | 2 +- .../placementdriver/TestPlacementDriver.java | 25 +- .../placementdriver/TestReplicaMetaImpl.java | 2 +- .../placementdriver/BasePlacementDriverTest.java | 2 +- .../PlacementDriverManagerTest.java | 2 +- .../placementdriver/AssignmentsTracker.java | 2 +- .../internal/placementdriver/LeaseUpdaterTest.java | 2 +- .../placementdriver/PlacementDriverTest.java | 2 +- .../ignite/client/detail/compute/compute_impl.cpp | 10 + .../cpp/ignite/client/detail/sql/result_set_impl.h | 2 +- .../cpp/ignite/client/detail/sql/sql_impl.cpp | 4 +- .../cpp/ignite/client/detail/sql/sql_impl.h | 5 +- .../platforms/cpp/ignite/client/sql/result_set.cpp | 2 +- .../platforms/cpp/ignite/client/sql/result_set.h | 2 +- modules/platforms/cpp/ignite/client/sql/sql.cpp | 4 +- modules/platforms/cpp/ignite/client/sql/sql.h | 4 +- modules/platforms/cpp/ignite/common/error_codes.h | 37 +- .../network/detail/linux/linux_async_client.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/odbc/app/parameter_set.cpp | 23 - .../platforms/cpp/ignite/odbc/app/parameter_set.h | 49 -- modules/platforms/cpp/ignite/odbc/common_types.cpp | 3 + .../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_statement.cpp | 77 +-- modules/platforms/cpp/ignite/odbc/sql_statement.h | 5 - .../cpp/ignite/protocol/client_operation.h | 4 +- .../platforms/cpp/tests/client-test/sql_test.cpp | 27 +- .../cpp/tests/odbc-test/connection_test.cpp | 76 +-- .../cpp/tests/odbc-test/meta_queries_test.cpp | 81 ++- .../cpp/tests/odbc-test/odbc_connection.h | 11 + .../cpp/tests/test-common/basic_auth_test_suite.h | 2 +- .../platforms/dotnet/Apache.Ignite/ErrorCodes.g.cs | 43 +- .../Apache.Ignite/Internal/Compute/Compute.cs | 10 + modules/raft/build.gradle | 1 + .../raft/ItTruncateSuffixAndRestartTest.java | 2 +- .../exception/PrimaryReplicaMissException.java | 30 +- .../exception/ClusterNotInitializedException.java | 24 - .../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 | 1 - .../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/build.gradle | 2 + .../app/ItIgniteInMemoryNodeRestartTest.java | 9 +- .../runner/app/ItIgniteNodeRestartTest.java | 650 +++++++++++++++++---- .../org/apache/ignite/internal/app/IgniteImpl.java | 26 +- .../ignite/internal/BaseIgniteRestartTest.java | 129 +++- .../internal/test/WatchListenerInhibitor.java | 15 +- modules/sql-engine/build.gradle | 1 + .../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 | 4 + .../sql/engine/datatypes/uuid/ItUuidIndexTest.java | 6 + .../src/integrationTest/sql/sqlite/join/join1.test | 2 + .../SqlClusterConfigurationModule.java} | 12 +- .../SqlDistributedConfigurationSchema.java} | 14 +- .../SqlPlannerDistributedConfigurationSchema.java} | 26 +- .../SqlExecutionLocalConfigurationSchema.java} | 14 +- .../local/SqlLocalConfigurationSchema.java} | 19 +- .../local/SqlNodeConfigurationModule.java} | 12 +- .../local/SqlPlannerLocalConfigurationSchema.java} | 14 +- .../internal/sql/engine/SqlQueryProcessor.java | 30 +- .../engine/exec/ExecutableTableRegistryImpl.java | 5 +- .../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/rel/NestedLoopJoinNode.java | 9 +- .../internal/sql/engine/prepare/PlannerPhase.java | 18 +- .../sql/engine/prepare/PrepareServiceImpl.java | 28 +- .../rule/logical/IgniteJoinConditionPushRule.java | 72 +++ .../exec/ExecutableTableRegistrySelfTest.java | 2 - .../sql/engine/exec/ExecutionServiceImplTest.java | 7 +- .../sql/engine/exec/TableRowConverterSelfTest.java | 247 ++++++++ .../DdlCommandHandlerExceptionHandlingTest.java | 10 +- .../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 | 6 + .../sql/engine/framework/TestBuilders.java | 4 +- .../internal/sql/engine/framework/TestCluster.java | 8 +- .../internal/sql/engine/framework/TestNode.java | 2 +- .../CorrelatedNestedLoopJoinPlannerTest.java | 2 + .../sql/engine/planner/HashIndexPlannerTest.java | 3 + .../planner/IndexSearchBoundsPlannerTest.java | 10 +- .../sql/engine/planner/JoinCommutePlannerTest.java | 1 + .../internal/sql/engine/planner/PlannerTest.java | 2 + .../sql/engine/planner/PlannerTimeoutTest.java | 2 +- .../planner/ProjectFilterScanMergePlannerTest.java | 2 +- .../sql/engine/prepare/PrepareServiceImplTest.java | 2 +- .../engine/schema/SqlSchemaManagerImplTest.java | 7 +- .../sql/metrics/PlanningCacheMetricsTest.java | 3 +- .../resources/tpch/tpch_schema_ddl.sql | 1 + .../rebalance/ItRebalanceDistributedTest.java | 6 +- .../internal/table/distributed/PartitionMover.java | 2 +- .../PartitionReplicatorNodeRecovery.java | 4 +- .../internal/table/distributed/TableManager.java | 90 ++- .../raft/RebalanceRaftGroupEventsListener.java | 12 +- .../replicator/CompatValidationResult.java | 37 +- .../replicator/PartitionReplicaListener.java | 69 ++- .../{RebalanceUtil.java => RebalanceUtilEx.java} | 148 +---- .../table/distributed/TableManagerTest.java | 18 +- .../PartitionReplicaListenerIndexLockingTest.java | 3 + .../replication/PartitionReplicaListenerTest.java | 38 +- .../apache/ignite/internal/tx/TxManagerTest.java | 2 + modules/workers/README.md | 8 + modules/{compute => workers}/build.gradle | 32 +- .../worker/ItCriticalWorkerMonitoringTest.java | 3 +- .../worker/CriticalSingleThreadExecutor.java | 0 .../ignite/internal/worker/CriticalWorker.java | 0 .../internal/worker/CriticalWorkerRegistry.java | 0 .../internal/worker/CriticalWorkerWatchdog.java | 96 ++- .../CriticalWorkersConfigurationModule.java} | 10 +- .../CriticalWorkersConfigurationSchema.java} | 39 +- .../fixtures}/NoOpCriticalWorkerRegistry.java | 5 +- settings.gradle | 2 + 216 files changed, 4684 insertions(+), 2774 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%) delete mode 100644 modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/SnapshotUpdate.java copy modules/{core/src/main/java/org/apache/ignite/internal/replicator/ReplicationGroupId.java => catalog/src/main/java/org/apache/ignite/internal/catalog/storage/UpdateLogEvent.java} (79%) rename modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/{ClientSqlParameterMetadataRequest.java => ClientSqlQueryMetadataRequest.java} (96%) 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/NextColocatedWorkerSelector.java copy modules/{file-transfer/src/main/java/org/apache/ignite/internal/network/file/TransferredFilesCollector.java => compute/src/main/java/org/apache/ignite/internal/compute/NextWorkerSelector.java} (65%) delete mode 100644 modules/compute/src/main/java/org/apache/ignite/internal/compute/NodeLeftEventsSource.java delete mode 100644 modules/rest-api/src/main/java/org/apache/ignite/internal/rest/exception/ClusterNotInitializedException.java 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 copy modules/{metastorage-api/src/main/java/org/apache/ignite/internal/metastorage/configuration/MetaStorageConfigurationModule.java => sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/distributed/SqlClusterConfigurationModule.java} (79%) copy modules/{configuration/src/test/java/org/apache/ignite/internal/configuration/sample/LocalConfigurationSchema.java => sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/distributed/SqlDistributedConfigurationSchema.java} (73%) copy modules/{configuration/src/test/java/org/apache/ignite/internal/configuration/sample/TestConfigValueConfigurationSchema.java => sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/distributed/SqlPlannerDistributedConfigurationSchema.java} (67%) copy modules/{configuration/src/test/java/org/apache/ignite/internal/configuration/sample/CacheConfigurationSchema.java => sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/local/SqlExecutionLocalConfigurationSchema.java} (78%) copy modules/{configuration/src/test/java/org/apache/ignite/internal/configuration/sample/LocalConfigurationSchema.java => sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/local/SqlLocalConfigurationSchema.java} (67%) copy modules/{compute/src/main/java/org/apache/ignite/internal/compute/configuration/ComputeConfigurationModule.java => sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/local/SqlNodeConfigurationModule.java} (80%) copy modules/{configuration/src/test/java/org/apache/ignite/internal/configuration/sample/CacheConfigurationSchema.java => sql-engine/src/main/java/org/apache/ignite/internal/sql/configuration/local/SqlPlannerLocalConfigurationSchema.java} (78%) 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/rule/logical/IgniteJoinConditionPushRule.java create mode 100644 modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/TableRowConverterSelfTest.java rename modules/table/src/main/java/org/apache/ignite/internal/utils/{RebalanceUtil.java => RebalanceUtilEx.java} (59%) create mode 100644 modules/workers/README.md copy modules/{compute => workers}/build.gradle (70%) rename modules/{runner/src/integrationTest/java/org/apache/ignite/internal/runner/app => workers/src/integrationTest/java/org/apache/ignite/internal}/worker/ItCriticalWorkerMonitoringTest.java (97%) rename modules/{core => workers}/src/main/java/org/apache/ignite/internal/worker/CriticalSingleThreadExecutor.java (100%) rename modules/{core => workers}/src/main/java/org/apache/ignite/internal/worker/CriticalWorker.java (100%) rename modules/{core => workers}/src/main/java/org/apache/ignite/internal/worker/CriticalWorkerRegistry.java (100%) rename modules/{core => workers}/src/main/java/org/apache/ignite/internal/worker/CriticalWorkerWatchdog.java (57%) copy modules/{code-deployment/src/main/java/org/apache/ignite/internal/deployunit/configuration/DeploymentConfigurationModule.java => workers/src/main/java/org/apache/ignite/internal/worker/configuration/CriticalWorkersConfigurationModule.java} (80%) copy modules/{compute/src/main/java/org/apache/ignite/internal/compute/configuration/ComputeConfigurationSchema.java => workers/src/main/java/org/apache/ignite/internal/worker/configuration/CriticalWorkersConfigurationSchema.java} (58%) rename modules/{core/src/testFixtures/java/org/apache/ignite/internal/worker => workers/src/testFixtures/java/org/apache/ignite/internal/worker/fixtures}/NoOpCriticalWorkerRegistry.java (86%)