This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a change to branch ignite-19497 in repository https://gitbox.apache.org/repos/asf/ignite-3.git
from 5d2898d31e Revert to lazy index rowtype resolving. add 0ea4471e02 IGNITE-19697 Fix completions for --nodes in deploy command (#2360) add c2b00338ca IGNITE-19883 Pull request template with common code quality checks added add 4c81a9f421 IGNITE-19861 Introduce SQL metrics (#2343) add e64d45c5a9 IGNITE-20129 Fix CMake configuration (#2395) add 2655e406b0 IGNITE-20023 Eliminate NPEs in ItTxDistributedTestSingleNode (#2399) add 4bf70c0208 IGNITE-20080 Reduce the number of threads used by Raft in tests (#2374) add 516f2f9f10 IGNITE-20150 Expose JDBC port in Docker compose file (#2404) add 3e15298821 IGNITE-20148 Explicit writeIntent cleanup on primary replica (#2405) add 86b9b2a1dd IGNITE-19835 Java client: Reject POJOs and Tuples with unmapped fields (#2401) add c24e6e0497 IGNITE-20146 Add improvements to the catalog associated with the DistributionZone (#2403) add 645528c86e Merge branch 'ai-main' into catalog-feature add 420a07bbad after merge ai-main add cdddfae611 IGNITE-19937 Remove BinaryRow#byteBuffer method (#2408) add d5c265d933 IGNITE-19770 Add a mechanism to wait till a schema is available via Schema Sync at a ts (#2402) add 6546bc46f9 IGNITE-20128: Clean up ignored SQL tests (#2392) add 5d9494fc7a IGNITE-19783 StripedScheduledExecutorService is created for DistributionZoneManager#executor (#2380) add f493d76f82 Merge branch 'ai-main' into catalog-feature add 23d886ad2a IGNITE-20058 Flaky distribution zone tests were fixed by fixing order of the meta storage watches deploying and a distribution zone manager start (#2400) add fa8d626f57 IGNITE-19566 Remove ignite-core dependency from ignite-api module (#2349) add 28111df1a2 IGNITE-19839 Java client: Reload schema when unmapped columns are detected (#2410) add 0ab2627e50 IGNITE-20105 Set default precision and scale for new column descriptor when needed (#2391) add fb3c5e2033 IGNITE-15927 One-phase commit - Fixes #2329. add 606f17fc3c IGNITE-19960 Sync with JRaft repo - Fixes #2321. add 194ad21949 IGNITE-15927 Fixed compilation add ed6493a563 IGNITE-20167 Always use version to get SQL schema (#2413) add 551401872e Merge branch 'main' of https://gitbox.apache.org/repos/asf/ignite-3 add 7311385a42 Merge branch 'main' into catalog-feature add a27d3eaba2 Merge branch 'catalog-feature' into ignite-19497 add 09df00de56 SqlSchemaManager returns root schema. No new revisions were added by this update. Summary of changes: .github/PULL_REQUEST_TEMPLATE.md | 19 + .idea/codeStyles/Project.xml | 3 +- DEVNOTES.md | 2 +- build.gradle | 26 +- buildscripts/java-integration-test.gradle | 2 + modules/api/build.gradle | 11 +- .../org/apache/ignite/InitParametersBuilder.java | 2 +- .../org/apache/ignite/compute/IgniteCompute.java | 35 +- .../ignite/lang/ColumnAlreadyExistsException.java | 2 +- .../ignite/lang/ColumnNotFoundException.java | 12 +- .../java/org/apache/ignite/lang/ErrorGroup.java | 0 .../java/org/apache/ignite/lang/ErrorGroups.java | 0 .../apache/ignite/lang/IgniteCheckedException.java | 2 +- .../org/apache/ignite/lang/IgniteException.java | 2 +- .../apache/ignite/lang/IgniteExceptionUtils.java | 544 -------------------- .../ignite/lang/IndexAlreadyExistsException.java | 5 +- .../apache/ignite/lang/IndexNotFoundException.java | 5 +- .../ignite/lang/SchemaNotFoundException.java | 3 +- .../ignite/lang/TableAlreadyExistsException.java | 2 +- .../apache/ignite/lang/TableNotFoundException.java | 2 +- .../org/apache/ignite/lang/TraceableException.java | 0 .../apache/ignite/lang}/util/IgniteNameUtils.java | 12 +- .../org/apache/ignite/lang}/util/StringUtils.java | 2 +- .../org/apache/ignite/lang/util/TraceIdUtils.java | 56 +++ .../org/apache/ignite/network/ClusterNode.java | 90 +--- .../main/java/org/apache/ignite/sql/Session.java | 61 +-- .../org/apache/ignite/sql/SqlBatchException.java | 13 +- .../java/org/apache/ignite/sql/SqlException.java | 13 - .../java/org/apache/ignite/table/TupleImpl.java | 16 +- .../apache/ignite/table/mapper/MapperBuilder.java | 2 +- .../ignite/table/mapper/OneColumnMapperImpl.java | 2 +- .../org/apache/ignite/table/mapper/PojoMapper.java | 8 + .../apache/ignite/table/mapper/PojoMapperImpl.java | 7 + modules/binary-tuple/build.gradle | 1 + modules/catalog/build.gradle | 6 + .../ignite/internal/catalog/CatalogManager.java | 8 +- .../internal/catalog/CatalogManagerImpl.java | 102 ++-- .../catalog/CatalogParamsValidationUtils.java | 181 +++++++ .../ignite/internal/catalog/CatalogService.java | 16 +- .../catalog/CatalogValidationException.java | 53 ++ .../internal/catalog/commands/AlterZoneParams.java | 20 + .../internal/catalog/commands/CatalogUtils.java | 121 ++++- .../internal/catalog/commands/ColumnParams.java | 19 +- .../catalog/commands/CreateZoneParams.java | 49 +- ...{DropZoneParams.java => DataStorageParams.java} | 56 ++- .../internal/catalog/commands/DropZoneParams.java | 41 +- .../descriptors/CatalogDataStorageDescriptor.java | 1 + .../internal/catalog/BaseCatalogManagerTest.java | 84 ++++ .../internal/catalog/CatalogManagerSelfTest.java | 110 ++--- .../catalog/CatalogManagerValidationTest.java | 541 ++++++++++++++++++++ .../cli/call/metric/ItEnabledMetricCallsTest.java | 4 +- .../cli/call/metric/ItMetricCallsTest.java | 4 +- .../metric/ItEnabledNodeMetricCommandTest.java | 4 +- .../commands/metric/ItNodeMetricCommandTest.java | 4 +- .../internal/rest/ItGeneratedRestClientTest.java | 4 +- .../internal/cli/call/connect/ConnectCall.java | 2 +- .../cli/call/connect/ConnectSslConfigCall.java | 2 +- .../ignite/internal/cli/commands/Options.java | 8 + .../cli/commands/cluster/unit/NodesAlias.java} | 29 +- .../cluster/unit/UnitDeployOptionsMixin.java | 44 +- .../internal/cli/commands/sql/SqlReplCommand.java | 2 +- .../ignite/internal/cli/core/JdbcUrlFactory.java | 2 +- .../completer/DynamicCompleterActivationPoint.java | 2 + .../completer/filter/DeployUnitsOptionsFilter.java | 75 +++ .../completer/unit/UnitNodesCompleterFilter.java | 73 +++ .../unit/UnitNodesDynamicCompleterFactory.java | 6 +- .../cli/core/repl/executor/ReplExecutor.java | 4 +- .../internal/cli/core/rest/ApiClientFactory.java | 2 +- .../ignite/internal/cli/util/ArrayUtils.java | 27 + .../cli/commands/cluster/unit/NodesAliasTest.java} | 24 +- .../cli/commands/unit/DeployCommandTest.java | 30 +- .../filter/DeployUnitsOptionsFilterTest.java | 56 +++ .../unit/UnitNodesCompleterFilterTest.java | 62 +++ .../ignite/internal/cli/util/ArrayUtilsTest.java | 17 + .../ignite/internal/client/ClientClusterNode.java} | 40 +- .../apache/ignite/internal/client/ClientUtils.java | 7 +- .../ignite/internal/client/TcpClientChannel.java | 13 +- .../ignite/internal/client/TcpIgniteClient.java | 2 +- .../internal/client/compute/ClientCompute.java | 49 ++ .../ignite/internal/client/sql/ClientSession.java | 4 +- .../internal/client/table/ClientKeyValueView.java | 4 +- .../ignite/internal/client/table/ClientSchema.java | 6 +- .../ignite/internal/client/table/ClientTable.java | 187 +++---- .../ignite/internal/client/table/ClientTuple.java | 2 +- .../client/table/ClientTupleSerializer.java | 77 ++- .../ignite/client/AbstractClientTableTest.java | 114 ++++- .../apache/ignite/client/AbstractClientTest.java | 3 +- .../ignite/client/ClientKeyValueViewTest.java | 85 ++-- .../apache/ignite/client/ClientRecordViewTest.java | 37 +- .../java/org/apache/ignite/client/CustomTuple.java | 2 +- .../org/apache/ignite/client/DataStreamerTest.java | 12 +- .../ignite/client/PartitionAwarenessTest.java | 35 +- .../java/org/apache/ignite/client/TestServer.java | 3 +- .../apache/ignite/client/fakes/FakeCompute.java | 50 ++ .../apache/ignite/client/fakes/FakeSession.java | 4 +- .../cluster/management/ClusterInitializer.java | 2 +- .../raft/commands/ClusterNodeMessage.java | 3 +- .../management/topology/api/LogicalNode.java | 3 +- .../cluster/management/ClusterInitializerTest.java | 17 +- .../AbstractClusterStateStorageManagerTest.java | 4 +- .../ignite/internal/compute/IgniteComputeImpl.java | 52 +- .../internal/compute/ComputeComponentImplTest.java | 3 +- .../internal/compute/IgniteComputeImplTest.java | 5 +- modules/configuration/build.gradle | 1 + modules/core/build.gradle | 15 +- .../DistributionZoneAlreadyExistsException.java | 4 +- .../DistributionZoneBindTableException.java | 4 +- .../DistributionZoneNotFoundException.java | 4 +- .../ignite/internal/hlc/HybridTimestamp.java | 19 +- .../internal/properties/IgniteProductVersion.java | 2 +- .../ignite/internal/sql/AbstractSession.java | 153 ++++++ .../ignite/internal}/sql/SyncResultSetAdapter.java | 8 +- ...java => AbstractStripedThreadPoolExecutor.java} | 109 ++-- .../thread/StripedScheduledThreadPoolExecutor.java | 105 ++++ .../internal/thread/StripedThreadPoolExecutor.java | 196 +------- .../ignite/internal/util/ExceptionUtils.java | 548 ++++++++++++++++++++- .../apache/ignite/lang/IgniteExceptionMapper.java | 0 .../ignite/lang/IgniteExceptionMapperUtil.java | 0 .../lang/IgniteExceptionMappersProvider.java | 0 .../lang/IgniteInternalCheckedException.java | 2 +- .../ignite/lang/IgniteInternalException.java | 15 +- ...eFiveFunction.java => IgnitePentaFunction.java} | 2 +- ...eTetraFunction.java => IgniteQuadFunction.java} | 2 +- .../ignite/internal/hlc/HybridTimestampTest.java | 80 +++ .../ignite/internal/util/IgniteNameUtilsTest.java | 12 +- .../apache/ignite/lang/ExceptionUtilsTest.java} | 7 +- .../ignite/lang/IgniteExceptionMapperUtilTest.java | 0 .../apache/ignite/lang/IgniteExceptionTest.java | 11 +- .../lang/TestIgniteExceptionMappersProvider.java | 0 .../testframework/IntegrationTestBase.java | 0 .../testframework/TestIgnitionManager.java | 0 .../distributionzones/DistributionZoneManager.java | 57 ++- .../distributionzones/DistributionZonesUtil.java | 14 +- .../CausalityDataNodesEngine.java | 2 +- .../rebalance/DistributionZoneRebalanceEngine.java | 2 +- .../BaseDistributionZoneManagerTest.java | 7 +- .../DistributionZoneManagerAlterFilterTest.java | 17 +- ...ibutionZoneManagerConfigurationChangesTest.java | 7 +- .../DistributionZoneManagerFilterTest.java | 12 +- .../DistributionZoneManagerScaleUpTest.java | 11 +- .../DistributionZoneManagerTest.java | 3 - .../DistributionZoneManagerWatchListenerTest.java | 10 +- .../DistributionZonesSchedulersTest.java | 237 ++++++--- .../DistributionZoneCausalityDataNodesTest.java | 26 +- .../DistributionZonesTestUtil.java | 29 -- .../ignite/internal/marshaller/Marshaller.java | 48 +- .../marshaller/UnmappedColumnsException.java} | 14 +- .../apache/ignite/network/ClusterNodeImpl.java} | 33 +- .../SslConfigurationValidatorImpl.java | 2 +- .../ScaleCubeDirectMarshallerTransport.java | 3 +- .../scalecube/ScaleCubeTopologyService.java | 3 +- .../network/DefaultMessagingServiceTest.java | 4 +- .../pagememory/datastructure/DataStructure.java | 2 +- modules/platforms/build.gradle | 2 +- modules/platforms/cpp/CMakeLists.txt | 7 +- .../ErrorGroupsGenerator.cs | 2 +- .../dotnet/Apache.Ignite.Tests/ErrorGroupTests.cs | 2 +- .../apache/ignite/raft/jraft/core/ItNodeTest.java | 28 +- .../ignite/internal/raft/RaftGroupServiceImpl.java | 2 + .../ignite/raft/jraft/core/FSMCallerImpl.java | 6 +- .../apache/ignite/raft/jraft/core/NodeImpl.java | 91 ++-- .../raft/jraft/core/ReadOnlyServiceImpl.java | 53 +- .../apache/ignite/raft/jraft/core/Replicator.java | 19 +- .../apache/ignite/raft/jraft/entity/LogEntry.java | 25 + .../ignite/raft/jraft/entity/ReadIndexStatus.java | 7 + .../raft/jraft/error/OverloadException.java} | 43 +- .../ignite/raft/jraft/option/ApplyTaskMode.java} | 19 +- .../ignite/raft/jraft/option/NodeOptions.java | 71 +-- .../ignite/raft/jraft/option/RaftOptions.java | 19 + .../apache/ignite/raft/jraft/rpc/RpcRequests.java | 2 +- .../raft/jraft/rpc/impl/AbstractClientService.java | 2 +- .../ignite/raft/jraft/storage/LogManager.java | 8 + .../raft/jraft/storage/impl/LogManagerImpl.java | 106 ++-- .../raft/jraft/storage/impl/RocksDBLogStorage.java | 34 +- .../storage/snapshot/SnapshotExecutorImpl.java | 2 +- .../snapshot/local/LocalSnapshotStorage.java | 2 +- .../org/apache/ignite/raft/jraft/util/Utils.java | 11 + .../ignite/internal/raft/RaftGroupServiceTest.java | 5 +- .../raft/jraft/core/ReadOnlyServiceTest.java | 48 ++ .../ignite/raft/jraft/entity/LogEntryTest.java | 36 ++ .../raft/jraft/storage/impl/LogManagerTest.java | 7 + .../ignite/raft/jraft/test/MockAsyncContext.java | 3 +- .../ignite/raft/jraft/core/ExpectClosure.java | 29 +- .../ignite/raft/jraft/core/MockStateMachine.java | 4 +- .../ignite/internal/replicator/ReplicaManager.java | 25 +- .../ignite/internal/replicator/ReplicaService.java | 2 +- .../replicator/PlacementDriverReplicaSideTest.java | 5 +- .../internal/rest/api/cluster/InitCommand.java | 2 +- ...niteDistributionZoneManagerNodeRestartTest.java | 8 +- .../runner/app/AbstractSchemaChangeTest.java | 2 +- .../runner/app/ItIgniteNodeRestartTest.java | 7 +- .../runner/app/PlatformTestNodeRunner.java | 2 +- .../ItThinClientMarshallingEmbeddedTest.java} | 17 +- .../app/client/ItThinClientMarshallingTest.java | 126 +++++ .../ItThinClientSchemaSynchronizationTest.java | 174 ++++++- .../runner/app/client/ItThinClientSqlTest.java | 8 +- .../ignite/internal/sql/api/ItCommonApiTest.java | 47 +- .../internal/sql/api/ItSqlAsynchronousApiTest.java | 31 +- .../internal/sql/api/ItSqlClientMetricsTest.java | 142 ++++++ .../internal/sql/api/ItSqlSynchronousApiTest.java | 27 +- .../sql/engine/ClusterPerClassIntegrationTest.java | 34 ++ .../internal/sql/engine/ItLimitOffsetTest.java | 5 - .../streamer/ItAbstractDataStreamerTest.java | 31 +- .../ignite/internal/table/ItTableScanTest.java | 2 +- .../internal/table/ItThinClientColocationTest.java | 4 +- .../filter/test_constant_comparisons.test_ignore | 12 - .../sql/filter/test_obsolete_filters.test_ignore | 281 ----------- ...sert_type.test_ignore => test_insert_type.test} | 1 - .../src/integrationTest/sql/sqlite/join/join1.test | 7 +- .../sql/sqlite/join/join1.test_ignore | 159 ------ ...est_ignored => select2_erroneous_hash_res.test} | 0 ...res.test_ignored => select2_erroneous_res.test} | 0 ...test_ignore => select3_erroneous_hash_res.test} | 0 ..._res.test_ignore => select3_erroneous_res.test} | 0 .../any_all/test_uncorrelated_all_subquery.test | 22 +- .../test_uncorrelated_all_subquery.test_ignore | 217 -------- ...ignored => test_uncorrelated_any_subquery.test} | 1 - .../subquery/exists/test_correlated_exists.test | 16 + .../exists/test_correlated_exists.test_ignore | 17 - .../scalar/test_count_star_subquery.test_ignore | 2 +- .../scalar/test_uncorrelated_scalar_subquery.test | 7 +- .../test_uncorrelated_scalar_subquery.test_ignore | 126 ----- ...est_aliasing.test_ignore => test_aliasing.test} | 2 - .../sql/subquery/table/test_table_subquery.test | 6 + .../subquery/table/test_table_subquery.test_ignore | 55 --- .../org/apache/ignite/internal/app/IgniteImpl.java | 3 +- .../apache/ignite/internal/schema/BinaryRow.java | 16 - .../ignite/internal/schema/BinaryRowImpl.java | 11 +- .../ignite/internal/schema/ByteBufferRow.java | 84 ---- .../ignite/internal/schema/DecimalNativeType.java | 6 - .../apache/ignite/internal/schema/NativeTypes.java | 7 +- .../ignite/internal/schema/TemporalNativeType.java | 24 +- .../asm/ObjectMarshallerCodeGenerator.java | 12 + .../marshaller/reflection/KvMarshallerImpl.java | 4 +- .../schema/marshaller/reflection/Marshaller.java | 41 +- .../reflection/RecordMarshallerImpl.java | 6 +- .../org/apache/ignite/internal/schema/row/Row.java | 5 - .../schema/AbstractSchemaConverterTest.java | 3 +- .../schema/marshaller/KvMarshallerTest.java | 137 ++---- .../schema/marshaller/RecordMarshallerTest.java | 78 ++- .../schema/serializer/AbstractSerializerTest.java | 6 +- .../schema/testobjects/TestBitmaskObject.java} | 30 +- .../schema/testobjects/TestSimpleObjectKey.java | 65 +++ .../schema/testobjects/TestSimpleObjectVal.java | 67 +++ .../testutils/builder/AbstractIndexBuilder.java | 2 +- .../builder/ColumnDefinitionBuilderImpl.java | 2 +- .../builder/HashIndexDefinitionBuilderImpl.java | 2 +- .../builder/PrimaryKeyDefinitionBuilderImpl.java | 2 +- .../schema/testutils/builder/SchemaBuilders.java | 2 +- .../builder/SortedIndexDefinitionBuilderImpl.java | 2 +- .../builder/TableDefinitionBuilderImpl.java | 2 +- .../AuthenticationProvidersValidatorImpl.java | 2 +- modules/sql-engine/build.gradle | 2 + .../internal/sql/api/SessionBuilderImpl.java | 5 +- .../ignite/internal/sql/api/SessionImpl.java | 9 +- .../internal/sql/engine/AsyncSqlCursorImpl.java | 3 +- .../internal/sql/engine/SqlQueryProcessor.java | 48 +- .../sql/engine/exec/ExchangeServiceImpl.java | 3 +- .../sql/engine/exec/ExecutionServiceImpl.java | 11 +- .../sql/engine/exec/UpdatableTableImpl.java | 53 +- .../sql/engine/exec/ddl/DdlCommandHandler.java | 6 +- .../engine/exec/ddl/DdlCommandHandlerWrapper.java | 12 +- .../exec/ddl/DdlToCatalogCommandConverter.java | 3 + .../sql/engine/message/QueryStartRequest.java | 2 +- .../internal/sql/engine/prepare/CacheKey.java | 6 +- .../sql/engine/prepare/PrepareServiceImpl.java | 41 +- .../internal/sql/engine/rel/AbstractIndexScan.java | 10 +- .../sql/engine/rule/LogicalScanConverterRule.java | 3 +- .../sql/engine/schema/CatalogSqlSchemaManager.java | 68 ++- .../internal/sql/engine/schema/IgniteIndex.java | 2 + .../sql/engine/schema/IgniteSchemaTable.java | 8 +- .../sql/engine/schema/SqlSchemaManager.java | 20 +- .../internal/sql/engine/sql/ParserServiceImpl.java | 4 +- .../internal/sql/engine/trait/TraitUtils.java | 1 - .../internal/sql/engine/type/IgniteTypeSystem.java | 11 +- .../internal/sql/engine/util/BaseQueryContext.java | 19 +- .../sql/engine/util/CaffeineCacheFactory.java | 66 --- .../sql/engine/util/{ => cache}/Cache.java | 13 +- .../sql/engine/util/{ => cache}/CacheFactory.java | 13 +- .../engine/util/cache/CaffeineCacheFactory.java | 120 +++++ .../{CacheFactory.java => cache/StatsCounter.java} | 22 +- .../sql/metrics/SqlClientMetricSource.java | 62 +++ .../sql/metrics/SqlPlanCacheMetricSource.java | 74 +++ .../exec/ExecutionDependencyResolverSelfTest.java | 3 +- .../sql/engine/exec/ExecutionServiceImplTest.java | 24 +- .../sql/engine/exec/RuntimeSortedIndexTest.java | 4 +- .../DdlCommandHandlerExceptionHandlingTest.java | 4 +- .../engine/exec/exp/ExpressionFactoryImplTest.java | 4 +- .../sql/engine/exec/rel/AbstractExecutionTest.java | 4 +- .../sql/engine/exec/rel/ExchangeExecutionTest.java | 13 +- .../exec/rel/TableScanNodeExecutionTest.java | 3 +- .../engine/framework/ClusterServiceFactory.java | 3 +- .../sql/engine/framework/NoOpTransaction.java | 3 +- .../engine/framework/PredefinedSchemaManager.java | 33 +- .../internal/sql/engine/framework/TestNode.java | 6 +- .../sql/engine/planner/MergeJoinPlannerTest.java | 1 - .../sql/engine/planner/PlannerTimeoutTest.java | 3 +- .../planner/SortedIndexSpoolPlannerTest.java | 1 - .../engine/schema/CatalogSqlSchemaManagerTest.java | 27 +- .../sql/engine/sql/ParserServiceImplTest.java | 18 +- .../sql/engine/util/EmptyCacheFactory.java | 15 + .../sql/metrics/PlanningCacheMetricsTest.java | 96 ++++ .../AbstractMvPartitionStorageConcurrencyTest.java | 16 +- .../internal/storage/BaseMvStoragesTest.java | 5 +- .../storage/impl/TestMvPartitionStorage.java | 10 +- .../storage/rocksdb/PartitionDataHelper.java | 6 +- .../ItAbstractInternalTableScanTest.java | 4 +- .../ignite/distributed/ItTablePersistenceTest.java | 24 +- .../distributed/ItTxDistributedTestSingleNode.java | 46 +- .../ignite/distributed/ReplicaUnavailableTest.java | 27 +- .../ignite/internal/table/ItColocationTest.java | 16 +- .../schema/marshaller/TupleMarshallerImpl.java | 4 +- .../internal/table/AbstractRowTupleAdapter.java | 2 +- .../table/distributed/StorageUpdateHandler.java | 81 +-- .../internal/table/distributed/TableManager.java | 8 +- .../table/distributed/TableMessageGroup.java | 6 + .../distributed/command/PartitionCommand.java | 5 + .../distributed/command/UpdateAllCommand.java | 4 +- .../table/distributed/command/UpdateCommand.java | 13 +- .../distributed/raft/PartitionDataStorage.java | 9 + .../table/distributed/raft/PartitionListener.java | 29 +- .../snapshot/incoming/IncomingSnapshotCopier.java | 7 +- .../snapshot/message/SnapshotMvDataResponse.java | 4 +- .../raft/snapshot/outgoing/OutgoingSnapshot.java | 24 +- .../SnapshotAwarePartitionDataStorage.java | 8 + ...owReplicaRequest.java => BinaryRowMessage.java} | 26 +- .../request/MultipleRowReplicaRequest.java | 12 +- .../request/ReadWriteMultiRowReplicaRequest.java | 5 + .../ReadWriteScanRetrieveBatchReplicaRequest.java | 4 + .../request/ReadWriteSingleRowReplicaRequest.java | 5 + .../request/ReadWriteSwapRowReplicaRequest.java | 5 + .../request/SingleRowReplicaRequest.java | 6 +- .../replication/request/SwapRowReplicaRequest.java | 10 +- .../replicator/PartitionReplicaListener.java | 276 +++++++---- .../distributed/schema/SchemaSyncService.java | 44 ++ .../distributed/schema/SchemaSyncServiceImpl.java | 54 ++ .../distributed/storage/InternalTableImpl.java | 274 ++++++----- .../RepeatedFinishReadWriteTransactionTest.java | 3 +- .../apache/ignite/internal/table/TxLocalTest.java | 56 ++- .../internal/table/distributed/IndexBaseTest.java | 35 +- .../distributed/StorageUpdateHandlerTest.java | 2 + .../table/distributed/TableManagerTest.java | 5 +- .../PartitionRaftCommandsSerializationTest.java | 41 +- .../raft/PartitionCommandListenerTest.java | 40 +- .../incoming/IncomingSnapshotCopierTest.java | 11 +- .../OutgoingSnapshotMvDataStreamingTest.java | 79 +-- .../PartitionReplicaListenerIndexLockingTest.java | 12 +- .../replication/PartitionReplicaListenerTest.java | 66 ++- .../schema/SchemaSyncServiceImplTest.java | 84 ++++ .../distributed/TestPartitionDataStorage.java | 5 + .../ignite/internal/table/TxAbstractTest.java | 31 +- .../table/impl/DummyInternalTableImpl.java | 73 +-- .../internal/table/impl/TestTupleBuilder.java | 2 +- .../ignite/internal/tx/InternalTransaction.java | 1 - .../internal/tx/impl/ReadWriteTransactionImpl.java | 29 +- .../apache/ignite/internal/tx/TxManagerTest.java | 5 +- packaging/docker/docker-compose.yml | 6 +- 357 files changed, 6815 insertions(+), 4307 deletions(-) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md rename modules/{core => api}/src/main/java/org/apache/ignite/lang/ErrorGroup.java (100%) rename modules/{core => api}/src/main/java/org/apache/ignite/lang/ErrorGroups.java (100%) delete mode 100755 modules/api/src/main/java/org/apache/ignite/lang/IgniteExceptionUtils.java rename modules/{core => api}/src/main/java/org/apache/ignite/lang/TraceableException.java (100%) rename modules/{core/src/main/java/org/apache/ignite/internal => api/src/main/java/org/apache/ignite/lang}/util/IgniteNameUtils.java (91%) copy modules/{core/src/main/java/org/apache/ignite/internal => api/src/main/java/org/apache/ignite/lang}/util/StringUtils.java (97%) create mode 100755 modules/api/src/main/java/org/apache/ignite/lang/util/TraceIdUtils.java create mode 100644 modules/catalog/src/main/java/org/apache/ignite/internal/catalog/CatalogParamsValidationUtils.java create mode 100644 modules/catalog/src/main/java/org/apache/ignite/internal/catalog/CatalogValidationException.java copy modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/{DropZoneParams.java => DataStorageParams.java} (51%) create mode 100644 modules/catalog/src/test/java/org/apache/ignite/internal/catalog/BaseCatalogManagerTest.java create mode 100644 modules/catalog/src/test/java/org/apache/ignite/internal/catalog/CatalogManagerValidationTest.java copy modules/{table/src/main/java/org/apache/ignite/internal/table/distributed/command/UpdateCommand.java => cli/src/main/java/org/apache/ignite/internal/cli/commands/cluster/unit/NodesAlias.java} (63%) create mode 100644 modules/cli/src/main/java/org/apache/ignite/internal/cli/core/repl/completer/filter/DeployUnitsOptionsFilter.java create mode 100644 modules/cli/src/main/java/org/apache/ignite/internal/cli/core/repl/completer/unit/UnitNodesCompleterFilter.java copy modules/{table/src/main/java/org/apache/ignite/internal/table/distributed/replication/request/ReadWriteScanRetrieveBatchReplicaRequest.java => cli/src/test/java/org/apache/ignite/internal/cli/commands/cluster/unit/NodesAliasTest.java} (56%) create mode 100644 modules/cli/src/test/java/org/apache/ignite/internal/cli/core/repl/completer/filter/DeployUnitsOptionsFilterTest.java create mode 100644 modules/cli/src/test/java/org/apache/ignite/internal/cli/core/repl/completer/unit/UnitNodesCompleterFilterTest.java copy modules/{api/src/main/java/org/apache/ignite/network/ClusterNode.java => client/src/main/java/org/apache/ignite/internal/client/ClientClusterNode.java} (74%) mode change 100644 => 100755 rename modules/{api/src/main/java/org/apache/ignite/lang => core/src/main/java/org/apache/ignite/internal/distributionzones}/DistributionZoneAlreadyExistsException.java (92%) rename modules/{api/src/main/java/org/apache/ignite/lang => core/src/main/java/org/apache/ignite/internal/distributionzones}/DistributionZoneBindTableException.java (93%) rename modules/{api/src/main/java/org/apache/ignite/lang => core/src/main/java/org/apache/ignite/internal/distributionzones}/DistributionZoneNotFoundException.java (93%) create mode 100755 modules/core/src/main/java/org/apache/ignite/internal/sql/AbstractSession.java rename modules/{api/src/main/java/org/apache/ignite => core/src/main/java/org/apache/ignite/internal}/sql/SyncResultSetAdapter.java (94%) copy modules/core/src/main/java/org/apache/ignite/internal/thread/{StripedThreadPoolExecutor.java => AbstractStripedThreadPoolExecutor.java} (64%) create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/thread/StripedScheduledThreadPoolExecutor.java rename modules/{api => core}/src/main/java/org/apache/ignite/lang/IgniteExceptionMapper.java (100%) rename modules/{api => core}/src/main/java/org/apache/ignite/lang/IgniteExceptionMapperUtil.java (100%) rename modules/{api => core}/src/main/java/org/apache/ignite/lang/IgniteExceptionMappersProvider.java (100%) rename modules/core/src/main/java/org/apache/ignite/lang/{IgniteFiveFunction.java => IgnitePentaFunction.java} (97%) rename modules/core/src/main/java/org/apache/ignite/lang/{IgniteTetraFunction.java => IgniteQuadFunction.java} (97%) mode change 100755 => 100644 rename modules/{api/src/test/java/org/apache/ignite/lang/IgniteExceptionUtilsTest.java => core/src/test/java/org/apache/ignite/lang/ExceptionUtilsTest.java} (96%) rename modules/{api => core}/src/test/java/org/apache/ignite/lang/IgniteExceptionMapperUtilTest.java (100%) rename modules/{api => core}/src/test/java/org/apache/ignite/lang/IgniteExceptionTest.java (95%) rename modules/{api => core}/src/test/java/org/apache/ignite/lang/TestIgniteExceptionMappersProvider.java (100%) rename modules/{api => core}/src/testFixtures/java/org/apache/ignite/internal/testframework/IntegrationTestBase.java (100%) rename modules/{api => core}/src/testFixtures/java/org/apache/ignite/internal/testframework/TestIgnitionManager.java (100%) copy modules/{table/src/main/java/org/apache/ignite/internal/table/distributed/command/PartitionCommand.java => marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/UnmappedColumnsException.java} (70%) copy modules/{api/src/main/java/org/apache/ignite/network/ClusterNode.java => network-api/src/main/java/org/apache/ignite/network/ClusterNodeImpl.java} (77%) mode change 100644 => 100755 rename modules/{core/src/main/java/org/apache/ignite/internal/util/StringUtils.java => raft/src/main/java/org/apache/ignite/raft/jraft/error/OverloadException.java} (52%) copy modules/{table/src/main/java/org/apache/ignite/internal/table/distributed/command/PartitionCommand.java => raft/src/main/java/org/apache/ignite/raft/jraft/option/ApplyTaskMode.java} (67%) copy modules/{table/src/main/java/org/apache/ignite/internal/table/distributed/command/PartitionCommand.java => runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientMarshallingEmbeddedTest.java} (70%) create mode 100644 modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientMarshallingTest.java create mode 100644 modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/api/ItSqlClientMetricsTest.java delete mode 100644 modules/runner/src/integrationTest/sql/filter/test_constant_comparisons.test_ignore delete mode 100644 modules/runner/src/integrationTest/sql/filter/test_obsolete_filters.test_ignore rename modules/runner/src/integrationTest/sql/insert/{test_insert_type.test_ignore => test_insert_type.test} (88%) delete mode 100644 modules/runner/src/integrationTest/sql/sqlite/join/join1.test_ignore rename modules/runner/src/integrationTest/sql/sqlite/select2/{select2_erroneous_hash_res.test_ignored => select2_erroneous_hash_res.test} (100%) rename modules/runner/src/integrationTest/sql/sqlite/select2/{select2_erroneous_res.test_ignored => select2_erroneous_res.test} (100%) rename modules/runner/src/integrationTest/sql/sqlite/select3/{select3_erroneous_hash_res.test_ignore => select3_erroneous_hash_res.test} (100%) rename modules/runner/src/integrationTest/sql/sqlite/select3/{select3_erroneous_res.test_ignore => select3_erroneous_res.test} (100%) delete mode 100644 modules/runner/src/integrationTest/sql/subquery/any_all/test_uncorrelated_all_subquery.test_ignore rename modules/runner/src/integrationTest/sql/subquery/any_all/{test_uncorrelated_any_subquery.test_ignored => test_uncorrelated_any_subquery.test} (97%) delete mode 100644 modules/runner/src/integrationTest/sql/subquery/scalar/test_uncorrelated_scalar_subquery.test_ignore rename modules/runner/src/integrationTest/sql/subquery/table/{test_aliasing.test_ignore => test_aliasing.test} (86%) delete mode 100644 modules/runner/src/integrationTest/sql/subquery/table/test_table_subquery.test_ignore delete mode 100644 modules/schema/src/main/java/org/apache/ignite/internal/schema/ByteBufferRow.java copy modules/{table/src/main/java/org/apache/ignite/internal/table/distributed/replication/request/ReadWriteScanRetrieveBatchReplicaRequest.java => schema/src/testFixtures/java/org/apache/ignite/internal/schema/testobjects/TestBitmaskObject.java} (61%) create mode 100644 modules/schema/src/testFixtures/java/org/apache/ignite/internal/schema/testobjects/TestSimpleObjectKey.java create mode 100644 modules/schema/src/testFixtures/java/org/apache/ignite/internal/schema/testobjects/TestSimpleObjectVal.java delete mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/util/CaffeineCacheFactory.java rename modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/util/{ => cache}/Cache.java (73%) copy modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/util/{ => cache}/CacheFactory.java (70%) create mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/util/cache/CaffeineCacheFactory.java rename modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/util/{CacheFactory.java => cache/StatsCounter.java} (56%) create mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/metrics/SqlClientMetricSource.java create mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/metrics/SqlPlanCacheMetricSource.java create mode 100644 modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/metrics/PlanningCacheMetricsTest.java copy modules/table/src/main/java/org/apache/ignite/internal/table/distributed/replication/request/{ReadWriteMultiRowReplicaRequest.java => BinaryRowMessage.java} (66%) create mode 100644 modules/table/src/main/java/org/apache/ignite/internal/table/distributed/schema/SchemaSyncService.java create mode 100644 modules/table/src/main/java/org/apache/ignite/internal/table/distributed/schema/SchemaSyncServiceImpl.java create mode 100644 modules/table/src/test/java/org/apache/ignite/internal/table/distributed/schema/SchemaSyncServiceImplTest.java