This is an automated email from the ASF dual-hosted git repository. korlov pushed a change to branch ignite-18208 in repository https://gitbox.apache.org/repos/asf/ignite-3.git
from d24606a382 code cleanup. add 846960570c review fixes add 87748cb5d4 IGNITE-18903 Remove TODOs mentioning closed issues (#1718) add 77b98a3da2 IGNITE-18797: Sql. Provide information about available custom data types to TypeUtils and ConverterUtils (#1694) add d084f1c152 IGNITE-18786 Sql. Fix TPC-H query 6: BETWEEN operator has no terminating AND. (#1719) add 4f13df72f7 IGNITE-18881 Move all REST controllers to rest module (#1717) add 40f6d16a79 IGNITE-18892 Implement ClientTransaction.isReadonly and readTimestamp (#1715) add cbabec0dff IGNITE-17952 Sql. Make SQL distributed again (#1700) add 58b89bc57f IGNITE-18908: Fixed configuration revision handling in case of empty updates and local node recovery (#1722) add 6d0cd921e5 IGNITE-18918: Disable ItIgniteNodeRestartTest.testMetastorageStop (#1727) add bbb715d6a4 IGNITE-18033 Implement cooperative GC of MV data during RAFT commands execution (#1716) add abe1b82390 IGNITE-18833 Fix node configuration file render method and write tests (#1723) add 6bb3e398fe IGNITE-17636 Thin 3.0: Avoid BinaryTuple conversion in client handler (#1730) add 4d09fd1644 IGNITE-18729 Add code deployment API (#1698) add c87b6f900a IGNITE-18787: Sql. Add SUBSTR alias for SUBSTRING function (#1724) add 248c989cf9 IGNITE-18932 Remove Transaction#readTimestamp (#1736) add 58795a40c5 IGNITE-18893 .NET: Add Transaction.IsReadOnly (#1735) add 3f9f532e8f IGNITE-18851 .NET: Fix TestReconnectAfterFullClusterRestart flakiness (#1741) add d8885b22d0 IGNITE-18674 Introduce async logic to CLI (#1731) add 9fa4922485 IGNITE-18895 Implement a background GC process (#1720) add 31a82d91fa IGNITE-18882 Don't store tombstones if there is no other version of row (#1739) add 3de57be81e IGNITE-18723 Check all classpath in ClientArchTest (#1695) add 23563c650f IGNITE-18754 Use local timezone in ItJdbcResultSetSelfTest#testTimestamp (#1746) add d949049375 IGNITE-18874 Add a JUnit extension for stopping all Ignites after test suite finishes (#1709) add 2dfb1df678 IGNITE-18576 Implement basic authentication (#1569) add 94dc641d0e IGNITE-18864 Add a test for a leader change during full rebalance to a leader with enough log (#1750) add d52fd355f8 IGNITE-18957 Disable SqlSchemaProviderTest (#1751) add 2013940f1e IGNITE-18926 Open API spec validation fails (#1744) add 10a58e67a2 IGNITE-18938 SSL integration tests fail on Windows (#1742) add 8875dc414b IGNITE-18850 Add ssl configuration validation (#1738) add 2671f8ae31 IGNITE-18749 Sql. Planner optimization for JOIN (#1743) add e104b42b6e IGNITE-18730 REST API for Deployment Code API (#1733) add 958e3c7f33 IGNITE-18604 Fix memory leak (#1749) add d53663e52c IGNITE-18746 Sql. Sargs implementation alignment - Fixes #1721. add 8cab5a5337 IGNITE-18884 .NET: Add TLS support (#1752) add e1a4ded604 IGNITE-18968 Possible race between updating a low watermark and processing the last batch for storage in a background GC (#1760) add d7d0f741e3 IGNITE-18529 Deal with deleting a table/partition and rebalancing partitions (#1745) add f4f505f3ac IGNITE-18792 Added doc for distribution zones phase 1. Fixes #1708 add 411261841b IGNITE-18972 SSL configuration validation doesn't work (#1755) add 8314beacd1 IGNITE-18900 Sql. Remove hash function creation from ExecutionContext (#1756) add b1128c227e IGNITE-18970 Allow WorkDirectoryExtension to preserve work directories of specific tests (#1753) add cd7d979901 IGNITE-18835 Get rid of skipping safe time waiting on a primary node. (#1688) add 23cd9abffe IGNITE-18801 Sql. Add an SQL function that generates a random UUID (#1734) add be1628db0e IGNITE-18981 fix build issues after IGNITE-18835 was merged to main (#1764) add 737d3bd9c4 Merge remote-tracking branch 'origin/main' into ignite-18208 No new revisions were added by this update. Summary of changes: docs/_data/toc.yaml | 2 + docs/_docs/glossary/glossary.adoc | 2 +- docs/_docs/rest/rest-api.adoc | 6 +- docs/_docs/sql-reference/ddl.adoc | 18 + docs/_docs/sql-reference/distribution-zones.adoc | 119 +++++ .../ignite/example/AbstractExamplesTest.java | 9 +- gradle/libs.versions.toml | 15 +- modules/api/build.gradle | 9 + .../src/main/java/org/apache/ignite/Ignite.java | 8 + .../src/main/java/org/apache/ignite/Ignition.java | 29 +- .../java/org/apache/ignite/IgnitionManager.java | 50 +- .../java/org/apache/ignite/InitParameters.java | 96 ++++ .../org/apache/ignite/InitParametersBuilder.java | 131 +++++ .../apache/ignite/deployment/DeploymentUnit.java} | 26 +- .../apache/ignite/deployment/IgniteDeployment.java | 96 ++++ .../org/apache/ignite/deployment/UnitStatus.java | 159 ++++++ .../ignite/deployment/version/UnitVersion.java | 127 +++++ .../apache/ignite/deployment/version/Version.java | 70 +++ .../deployment/version/VersionParseException.java} | 38 +- .../ignite/security/AuthenticationConfig.java | 56 +++ .../security/AuthenticationProviderConfig.java} | 17 +- .../ignite/security/AuthenticationType.java} | 33 +- .../BasicAuthenticationProviderConfig.java | 67 +++ .../UnknownAuthenticationTypeException.java | 50 ++ .../java/org/apache/ignite/sql/ColumnType.java | 2 +- .../java/org/apache/ignite/tx/Transaction.java | 8 - .../ignite/deployment/version/VersionUnitTest.java | 48 ++ .../ignite/lang/IgniteExceptionArchTest.java | 2 +- .../testframework}/IntegrationTestBase.java | 145 +----- .../internal/binarytuple/BinaryTupleReader.java | 21 +- modules/cli/build.gradle | 8 +- ...onTestBase.java => CliIntegrationTestBase.java} | 160 +----- .../call/CallInitializedIntegrationTestBase.java | 4 +- ...liCommandTestNotInitializedIntegrationBase.java | 4 +- .../internal/cli/commands/ItConfigCommandTest.java | 9 +- .../repl/executor/ItIgnitePicocliCommandsTest.java | 8 +- .../internal/rest/ItGeneratedRestClientTest.java | 14 +- .../internal/cli/call/cluster/ClusterInitCall.java | 3 + .../internal/cli/commands/sql/SqlReplCommand.java | 5 +- .../core/call/AbstractCallExecutionPipeline.java | 108 ++++ .../cli/core/call/{Call.java => AsyncCall.java} | 14 +- .../cli/core/call/AsyncCallExecutionPipeline.java | 82 +++ .../call/AsyncCallExecutionPipelineBuilder.java | 128 +++++ .../apache/ignite/internal/cli/core/call/Call.java | 1 + .../cli/core/call/CallExecutionPipeline.java | 177 +------ .../core/call/CallExecutionPipelineBuilder.java | 107 ++++ .../call/{Call.java => ProgressBarTracker.java} | 24 +- .../core/call/{Call.java => ProgressTracker.java} | 13 +- .../cli/core/call/SingleCallExecutionPipeline.java | 58 +++ .../ignite/internal/cli/sql/SqlSchemaProvider.java | 25 +- .../internal/cli/core/call/PipelineTest.java | 55 ++- .../internal/cli/sql/SqlSchemaProviderTest.java | 16 +- .../internal/client/proto/ClientMessagePacker.java | 23 +- .../client/handler/ItSslClientHandlerTest.java | 18 +- .../ignite/client/handler/ClientHandlerModule.java | 7 +- .../client/handler/JdbcQueryEventHandlerImpl.java | 1 - .../ClientConnectorConfigurationSchema.java | 2 + .../handler/requests/sql/ClientSqlCommon.java | 2 +- .../handler/requests/table/ClientTableCommon.java | 40 +- .../table/ClientTupleGetAndDeleteRequest.java | 2 +- .../table/ClientTupleGetAndReplaceRequest.java | 2 +- .../table/ClientTupleGetAndUpsertRequest.java | 2 +- .../requests/table/ClientTupleGetRequest.java | 2 +- .../requests/tx/ClientTransactionBeginRequest.java | 6 +- modules/client/build.gradle | 13 + .../ignite/internal/client/TcpIgniteClient.java | 7 + .../client/table/ClientRecordBinaryView.java | 8 +- .../client/table/ClientRecordSerializer.java | 18 +- .../client/table/ClientTupleSerializer.java | 23 +- .../internal/client/tx/ClientTransaction.java | 17 +- .../internal/client/tx/ClientTransactions.java | 18 +- .../marshaller/ClientMarshallerReader.java | 11 + .../org/apache/ignite/client/ClientArchTest.java | 80 ++- .../org/apache/ignite/client/fakes/FakeIgnite.java | 6 + .../ignite/client/fakes/FakeInternalTable.java | 18 +- .../RepeatedFinishClientTransactionTest.java | 8 +- modules/cluster-management/build.gradle | 35 +- .../management/raft/ItCmgRaftServiceTest.java | 173 +++---- .../rest/ItClusterManagementControllerTest.java | 134 ----- .../cluster/management/ClusterInitializer.java | 27 + .../management/ClusterManagementGroupManager.java | 106 +++- .../internal/cluster/management/ClusterState.java | 27 +- .../DistributedConfigurationUpdater.java | 100 ++++ .../management/network/auth/Authentication.java | 59 +++ .../network/auth/AuthenticationProvider.java | 55 +++ .../network/auth/BasicAuthenticationProvider.java | 53 ++ .../network/messages/CmgInitMessage.java | 6 + .../network/messages/CmgMessageGroup.java | 18 + .../management/raft/CmgRaftGroupListener.java | 5 + .../cluster/management/raft/CmgRaftService.java | 10 + .../raft/commands/UpdateClusterStateCommand.java} | 27 +- .../AbstractClusterStateStorageManagerTest.java | 61 +-- .../management/raft/CmgRaftGroupListenerTest.java | 55 ++- .../management/BaseItClusterManagementTest.java | 10 +- .../internal/cluster/management/MockNode.java | 15 +- modules/{rest => code-deployment}/build.gradle | 36 +- .../internal/deployunit/DeploymentManagerImpl.java | 438 ++++++++++++++++ .../ignite/internal/deployunit/UnitMeta.java | 143 ++++++ .../internal/deployunit/UnitMetaSerializer.java | 93 ++++ .../DeploymentConfigurationModule.java} | 8 +- .../DeploymentConfigurationSchema.java} | 20 +- .../DeploymentUnitAlreadyExistsException.java} | 35 +- .../DeploymentUnitNotFoundException.java} | 29 +- .../exception/DeploymentUnitReadException.java} | 30 +- .../message/DeployUnitMessageTypes.java} | 27 +- .../deployunit/message/DeployUnitRequest.java} | 36 +- .../deployunit/message/DeployUnitResponse.java} | 27 +- .../deployunit/message/UndeployUnitRequest.java} | 26 +- .../deployunit/message/UndeployUnitResponse.java} | 27 +- .../ignite/deployment/UnitMetaSerializerTest.java | 82 +++ modules/configuration/build.gradle | 13 - .../configuration/ConfigurationChanger.java | 26 +- .../rest/presentation/package-info.java | 22 - .../notifications/ConfigurationListenerTest.java | 16 + .../validation/PowerOfTwoValidatorTest.java | 4 +- .../validation/RangeValidatorTest.java | 22 +- .../validation/TestValidationUtil.java | 37 +- .../ignite/internal/hlc/HybridClockImpl.java | 15 +- .../apache/ignite/internal/util/IgniteUtils.java | 49 +- .../java/org/apache/ignite/lang/ErrorGroups.java | 36 ++ .../ignite/internal/lang/ErrorGroupsArchTest.java | 2 +- .../testframework/WorkDirectoryExtensionTest.java | 135 ++++- .../testframework/WorkDirectoryExtension.java | 111 ++++- .../apache/ignite/internal/index/HashIndex.java | 7 - .../org/apache/ignite/internal/index/Index.java | 14 - .../apache/ignite/internal/index/SortedIndex.java | 25 - .../ignite/internal/index/SortedIndexImpl.java | 20 - .../apache/ignite/jdbc/AbstractJdbcSelfTest.java | 9 +- .../ignite/jdbc/ItJdbcResultSetSelfTest.java | 20 +- .../ignite/internal/marshaller/Marshaller.java | 25 - modules/metastorage/README.md | 1 - modules/metastorage/build.gradle | 2 + .../impl/ItMetaStorageMultipleNodesTest.java | 35 +- .../metastorage/impl/ItMetaStorageWatchTest.java | 16 +- modules/metrics/build.gradle | 9 +- .../apache/ignite/network/MessagingService.java | 11 + .../AbstractSslConfigurationSchema.java | 2 - .../KeyStoreConfigurationValidatorImpl.java | 57 --- .../configuration/NetworkConfigurationModule.java | 7 + .../configuration/NetworkConfigurationSchema.java | 1 + ...lidator.java => SslConfigurationValidator.java} | 4 +- .../SslConfigurationValidatorImpl.java | 76 +++ .../ignite/network/DefaultMessagingService.java | 14 + .../KeyStoreConfigurationValidatorImplTest.java | 77 --- .../SslConfigurationValidatorImplTest.java | 127 +++++ .../network/configuration/StubSslView.java} | 46 +- .../cpp/ignite/client/detail/table/table_impl.cpp | 19 +- .../dotnet/Apache.Ignite.Benchmarks/Program.cs | 2 +- .../Table/TupleGetBenchmarks.cs | 15 +- .../Apache.Ignite.Tests/Apache.Ignite.Tests.csproj | 9 + .../Apache.Ignite.Tests/ClientSocketTests.cs | 15 +- .../Compute/ComputeClusterAwarenessTests.cs | 2 +- .../Apache.Ignite.Tests/Compute/ComputeTests.cs | 21 +- .../dotnet/Apache.Ignite.Tests/FakeServer.cs | 13 +- .../dotnet/Apache.Ignite.Tests/HeartbeatTests.cs | 6 +- .../dotnet/Apache.Ignite.Tests/JavaServer.cs | 7 + .../dotnet/Apache.Ignite.Tests/MultiClusterTest.cs | 2 +- .../dotnet/Apache.Ignite.Tests/ReconnectTests.cs | 18 +- .../dotnet/Apache.Ignite.Tests/SslTests.cs | 189 +++++++ .../Transactions/TransactionsTests.cs | 18 + .../dotnet/Apache.Ignite.Tests/keystore.pfx | Bin 0 -> 4670 bytes .../dotnet/Apache.Ignite.Tests/truststore.pfx | Bin 0 -> 1814 bytes .../dotnet/Apache.Ignite/IIgniteClient.cs | 2 +- .../ConnectionContext.cs => ISslStreamFactory.cs} | 28 +- .../Apache.Ignite/IgniteClientConfiguration.cs | 10 + .../Apache.Ignite/Internal/ClientFailoverSocket.cs | 14 +- .../dotnet/Apache.Ignite/Internal/ClientSocket.cs | 105 ++-- .../Apache.Ignite/Internal/ConnectionContext.cs | 8 +- .../Apache.Ignite/Internal/IgniteClientInternal.cs | 4 +- .../Internal/Network/ConnectionInfo.cs} | 11 +- .../Apache.Ignite/Internal/Network/SslInfo.cs} | 23 +- .../Apache.Ignite/Internal/Table/RecordView.cs | 8 +- .../Serialization/IRecordSerializerHandler.cs | 9 - .../Table/Serialization/ObjectSerializerHandler.cs | 117 ----- .../Table/Serialization/RecordSerializer.cs | 5 +- .../Serialization/TuplePairSerializerHandler.cs | 16 - .../Table/Serialization/TupleSerializerHandler.cs | 24 - .../Internal/Transactions/Transaction.cs | 9 +- .../Internal/Transactions/Transactions.cs | 2 +- .../dotnet/Apache.Ignite/Log/LoggerExtensions.cs | 6 +- .../Apache.Ignite/Network/IConnectionInfo.cs} | 21 +- .../dotnet/Apache.Ignite/Network/ISslInfo.cs | 58 +++ .../dotnet/Apache.Ignite/SslStreamFactory.cs | 105 ++++ .../Apache.Ignite/Transactions/ITransaction.cs | 5 + modules/platforms/dotnet/DEVNOTES.md | 2 + .../ignite/internal/raft/RaftGroupServiceTest.java | 24 +- .../ignite/internal/replicator/ReplicaService.java | 33 +- modules/rest-api/build.gradle | 12 +- .../{rest => rest-api}/openapi/openapi.properties | 0 modules/{rest => rest-api}/openapi/openapi.yaml | 268 ++++++++++ .../apache/ignite/internal/rest/RestFactory.java | 11 + .../ignite/internal/rest/api/Definition.java} | 26 +- .../rest/api/cluster/ClusterManagementApi.java | 3 + .../internal/rest/api/cluster/ClusterNodeDto.java | 5 - .../internal/rest/api/cluster/InitCommand.java | 15 +- .../internal/rest/api/cluster/TopologyApi.java | 3 + .../authentication/AuthenticationConfigDto.java | 70 +++ .../AuthenticationProviderConfigDto.java} | 35 +- .../BasicAuthenticationProviderConfigDto.java | 88 ++++ .../api/configuration/ClusterConfigurationApi.java | 8 +- .../api/configuration/NodeConfigurationApi.java | 8 +- .../rest/api/deployment/DeploymentCodeApi.java | 193 ++++++++ .../rest/api/deployment/UnitStatusDto.java | 90 ++++ .../internal/rest/api/metric/NodeMetricApi.java | 3 + .../internal/rest/api/node/NodeManagementApi.java | 3 + .../ignite/internal/rest/constants/HttpCode.java | 4 + .../ignite/internal/rest/constants/MediaType.java | 4 + .../exception/ClusterNotInitializedException.java | 3 - .../ConversionErrorHandlerReplacement.java} | 21 +- .../internal/rest/problem/HttpProblemResponse.java | 15 +- modules/rest/build.gradle | 48 +- .../cluster/ItClusterManagementControllerTest.java | 310 ++++++++++++ .../internal/rest/cluster}/RestTestBase.java | 2 +- .../DeploymentManagementControllerTest.java | 270 ++++++++++ .../apache/ignite/internal/rest/RestComponent.java | 118 ++--- .../internal/rest/RestFactoriesDestroyer.java} | 21 +- .../rest/authentication/AuthProviderFactory.java} | 35 +- .../rest/authentication/Authenticator.java} | 26 +- .../rest/authentication/AuthenticatorFactory.java | 36 ++ .../authentication/AuthorizationHeaderFilter.java | 55 +++ .../rest/authentication/BasicAuthenticator.java | 43 ++ .../DelegatingAuthenticationProvider.java | 115 +++++ ...AuthenticationExceptionHandlerReplacement.java} | 21 +- ...tAuthorizationExceptionHandlerReplacement.java} | 23 +- .../rest/cluster}/ClusterManagementController.java | 56 ++- .../cluster}/ClusterManagementRestFactory.java | 13 +- .../internal/rest/cluster}/TopologyController.java | 2 +- ...alidArgumentClusterInitializationException.java | 2 +- .../IgniteInternalCheckedExceptionHandler.java | 2 +- .../handler/IgniteInternalExceptionHandler.java | 2 +- ...umentClusterInitializationExceptionHandler.java | 4 +- .../AbstractConfigurationController.java | 1 - .../ClusterConfigurationController.java | 1 - .../configuration}/ConfigurationPresentation.java | 2 +- .../configuration/NodeConfigurationController.java | 1 - .../rest/configuration/PresentationsFactory.java | 13 +- .../configuration/RestConfigurationModule.java | 8 - .../configuration/RestConfigurationSchema.java | 2 + .../configuration}/hocon/HoconPresentation.java | 4 +- .../rest/configuration}/hocon/package-info.java | 2 +- .../internal/rest/configuration/package-info.java | 2 +- .../deployment/CodeDeploymentRestFactory.java} | 23 +- .../deployment/DeploymentManagementController.java | 99 ++++ ...eploymentUnitAlreadyExistExceptionHandler.java} | 19 +- .../DeploymentUnitNotFoundExceptionHandler.java} | 16 +- .../handler/VersionParseExceptionHandler.java} | 19 +- .../internal/rest/metrics}/MetricRestFactory.java | 9 +- .../rest/metrics}/NodeMetricController.java | 4 +- .../exception/MetricNotFoundException.java | 2 +- .../handler/MetricNotFoundExceptionHandler.java | 4 +- .../ignite/internal/rest/node/NameProvider.java | 0 .../rest/node/NodeManagementController.java | 0 .../rest/node/NodeManagementRestFactory.java | 10 +- .../ignite/internal/rest/node/StateProvider.java | 0 .../ignite/internal/rest/RestComponentTest.java | 134 ----- .../DelegatingAuthenticationProviderTest.java | 275 +++++++++++ .../StubAuthenticationViewEvent.java | 63 +++ .../ClusterConfigurationControllerTest.java | 5 +- .../ConfigurationControllerBaseTest.java | 4 +- .../NodeConfigurationControllerTest.java | 5 +- .../internal/rest/configuration/TestFactory.java | 1 - .../configuration/TestRootConfigurationSchema.java | 0 .../configuration/TestSubConfigurationSchema.java | 0 .../ConfigurationPresentationTest.java | 5 +- modules/runner/build.gradle | 7 +- .../java/org/apache/ignite/internal/Cluster.java | 9 +- ...est.java => ClusterPerTestIntegrationTest.java} | 10 +- .../ignite/internal/IgniteIntegrationTest.java} | 23 +- .../ignite/internal/ItNoSyncMetadataTest.java | 4 +- .../cluster/management/ItClusterInitTest.java | 28 +- .../component/ItRestAddressReportTest.java | 13 +- .../ignite/internal/compute/ItComputeTest.java | 4 +- .../internal/compute/ItLogicalTopologyTest.java | 4 +- .../ItDistributedConfigurationPropertiesTest.java | 23 +- .../ItSslConfigurationValidationTest.java | 58 +++ .../ItDistributedConfigurationStorageTest.java | 19 +- .../storage/ItRebalanceDistributedTest.java | 17 +- .../internal/deployment/ItDeploymentUnitTest.java | 216 ++++++++ .../ignite/internal/index/ItIndexManagerTest.java | 4 +- .../inmemory/ItRaftStorageVolatilityTest.java | 4 +- .../internal/junit/StopAllIgnitesAfterTests.java | 66 +++ .../raftsnapshot/ItTableRaftSnapshotsTest.java | 59 ++- .../ignite/internal/rebalance/ItRebalanceTest.java | 7 +- .../ignite/internal/rest/AbstractRestTestBase.java | 6 +- .../rest/ItInitializedClusterRestTest.java | 17 +- .../ignite/internal/rest/ItPortRangeTest.java | 32 +- .../ignite/internal/rest/{ssl => }/RestNode.java | 86 +++- .../ignite/internal/rest/RestNodeBuilder.java | 115 +++++ .../rest/authentication/ItAuthenticationTest.java | 310 ++++++++++++ .../ignite/internal/rest/ssl/ItRestSslTest.java | 58 ++- .../runner/app/AbstractSchemaChangeTest.java | 15 +- .../internal/runner/app/IgniteRunnerTest.java | 15 +- .../internal/runner/app/ItDataSchemaSyncTest.java | 9 +- .../app/ItIgniteInMemoryNodeRestartTest.java | 9 +- .../runner/app/ItIgniteNodeRestartTest.java | 49 +- .../ignite/internal/runner/app/ItIgnitionTest.java | 14 +- .../internal/runner/app/ItNoThreadsLeftTest.java | 8 +- .../ItRaftCommandLeftInLogUntilRestartTest.java | 11 +- .../runner/app/ItTableApiContractTest.java | 4 +- .../internal/runner/app/ItTableCreationTest.java | 14 +- .../internal/runner/app/ItTablesApiTest.java | 16 +- .../runner/app/PlatformTestNodeRunner.java | 81 ++- .../app/client/ItAbstractThinClientTest.java | 8 +- .../app/client/ItThinClientTransactionsTest.java | 24 +- .../ignite/internal/sql/api/ItCommonApiTest.java | 4 +- .../internal/sql/api/ItSqlAsynchronousApiTest.java | 4 +- .../internal/sql/api/ItSqlSynchronousApiTest.java | 4 +- ...st.java => ClusterPerClassIntegrationTest.java} | 19 +- .../internal/sql/engine/ItAggregatesTest.java | 2 +- .../internal/sql/engine/ItCorrelatesTest.java | 2 +- .../internal/sql/engine/ItCreateTableDdlTest.java | 2 +- .../internal/sql/engine/ItDataTypesTest.java | 47 +- .../ignite/internal/sql/engine/ItDmlTest.java | 25 +- .../sql/engine/ItDynamicParameterTest.java | 2 +- .../internal/sql/engine/ItFunctionsTest.java | 14 +- .../sql/engine/ItHashSpoolIntegrationTest.java | 6 +- .../internal/sql/engine/ItHashSpoolTest.java | 4 +- .../internal/sql/engine/ItImplicitCastsTest.java | 2 +- .../internal/sql/engine/ItIndexSpoolTest.java | 4 +- .../ignite/internal/sql/engine/ItIntervalTest.java | 2 +- .../ignite/internal/sql/engine/ItJoinTest.java | 13 +- .../internal/sql/engine/ItLimitOffsetTest.java | 2 +- .../ignite/internal/sql/engine/ItMetadataTest.java | 2 +- .../internal/sql/engine/ItMixedQueriesTest.java | 2 +- .../internal/sql/engine/ItOrToUnionRuleTest.java | 2 +- .../sql/engine/ItProjectScanMergeRuleTest.java | 2 +- .../internal/sql/engine/ItSecondaryIndexTest.java | 267 +++++++++- .../ignite/internal/sql/engine/ItSetOpTest.java | 2 +- .../internal/sql/engine/ItSqlOperatorsTest.java | 3 +- .../ignite/internal/sql/engine/ItUuidTest.java | 43 +- .../ignite/internal/sql/engine/ItZoneDdlTest.java | 2 +- .../internal/sql/internal/InternalSchemaTest.java | 4 +- .../ignite/internal/sqllogic/ItSqlLogicTest.java | 14 +- .../internal/sqllogic/SqlLogicTestEnvironment.java | 2 +- .../org/apache/ignite/internal/ssl/ItSslTest.java | 6 +- .../apache/ignite/internal/start/ItStartTest.java | 6 +- .../internal/table/ItPublicApiColocationTest.java | 4 +- .../internal/table/ItReadOnlyTransactionTest.java | 211 ++++++++ .../ignite/internal/table/ItRoReadsTest.java | 550 +++++++++++++++++++++ .../ignite/internal/table/ItTableScanTest.java | 4 +- .../src/integrationTest/resources/ssl/client.pfx | Bin 0 -> 2717 bytes .../src/integrationTest/resources/ssl/server.jks | Bin 0 -> 2392 bytes .../src/integrationTest/resources/ssl/trust.jks | Bin 0 -> 1199 bytes .../org/apache/ignite/internal/app/IgniteImpl.java | 84 +++- .../apache/ignite/internal/app/IgnitionImpl.java | 37 +- .../internal/component/RestAddressReporter.java | 6 +- .../storage/DistributedConfigurationStorage.java | 2 +- .../storage/LocalFileConfigurationStorage.java | 9 +- .../component/RestAddressReporterTest.java | 15 +- .../storage/ConfigurationStorageTest.java | 2 +- .../storage/LocalFileConfigurationStorageTest.java | 53 +- .../internal/schema/BinaryTupleContainer.java} | 20 +- .../configuration/TablesConfigurationSchema.java | 4 + .../storage/DataStorageConfigurationSchema.java | 5 + .../org/apache/ignite/internal/schema/row/Row.java | 10 +- .../ignite/internal/schema/row/RowAssembler.java | 2 +- .../ignite/internal/util/ColocationUtils.java | 3 +- .../KnownDataStorageValidatorTest.java | 2 +- .../configuration/TableValidatorImplTest.java | 2 +- modules/{rest => security}/build.gradle | 23 +- .../AuthenticationConfigurationSchema.java} | 19 +- .../AuthenticationConfigurationValidator.java} | 15 +- .../AuthenticationConfigurationValidatorImpl.java | 44 ++ ...AuthenticationProviderConfigurationSchema.java} | 36 +- .../AuthenticationProvidersValidator.java} | 17 +- .../AuthenticationProvidersValidatorImpl.java | 61 +++ ...AuthenticationProviderConfigurationSchema.java} | 25 +- .../SecurityConfigurationModule.java} | 20 +- .../SecurityConfigurationSchema.java} | 19 +- .../internal}/configuration/package-info.java | 4 +- .../AuthenticationConfigurationValidatorTest.java | 127 +++++ .../AuthenticationProvidersValidatorTest.java | 181 +++++++ .../SecurityConfigurationModuleTest.java | 63 +++ modules/sql-engine/build.gradle | 2 + modules/sql-engine/src/main/codegen/config.fmpp | 7 +- .../src/main/codegen/includes/parserImpls.ftl | 13 +- .../internal/sql/engine/SqlQueryProcessor.java | 51 +- .../sql/engine/exec/AbstractIndexScan.java | 14 +- .../internal/sql/engine/exec/ExecutionContext.java | 17 +- .../internal/sql/engine/exec/ExecutionService.java | 3 +- .../sql/engine/exec/ExecutionServiceImpl.java | 107 ++-- .../sql/engine/exec/LogicalRelImplementor.java | 27 +- .../internal/sql/engine/exec/RowConverter.java | 2 +- .../internal/sql/engine/exec/RowHandler.java | 5 +- .../ignite/internal/sql/engine/exec/TreeIndex.java | 3 +- .../internal/sql/engine/exec/TxAttributes.java | 124 +++++ .../internal/sql/engine/exec/UpdateableTable.java | 82 +++ .../sql/engine/exec/exp/ConverterUtils.java | 17 +- .../sql/engine/exec/exp/CustomTypesConversion.java | 93 ++++ .../sql/engine/exec/exp/ExpressionFactoryImpl.java | 48 +- .../sql/engine/exec/exp/IgniteSqlFunctions.java | 3 +- .../sql/engine/exec/exp/RangeIterable.java | 8 +- .../internal/sql/engine/exec/exp/RexImpTable.java | 3 + .../sql/engine/exec/exp/RexToLixTranslator.java | 21 +- .../sql/engine/exec/rel/IndexScanNode.java | 42 +- .../internal/sql/engine/exec/rel/ModifyNode.java | 360 ++++++++++---- .../sql/engine/exec/rel/StorageScanNode.java | 6 +- .../sql/engine/exec/rel/TableScanNode.java | 19 +- .../sql/engine/message/QueryStartRequest.java | 12 +- .../sql/engine/metadata/FragmentMapping.java | 62 ++- .../engine/metadata/IgniteMdFragmentMapping.java | 44 +- .../internal/sql/engine/prepare/IgnitePlanner.java | 19 +- .../sql/engine/prepare/IgniteSqlValidator.java | 84 ++-- .../sql/engine/prepare/IgniteTypeCoercion.java | 16 +- .../internal/sql/engine/prepare/PlannerHelper.java | 90 +++- .../internal/sql/engine/rel/AbstractIndexScan.java | 2 +- .../internal/sql/engine/rel/IgniteTableModify.java | 6 +- .../engine/rel/logical/IgniteLogicalIndexScan.java | 8 +- .../internal/sql/engine/rex/IgniteRexBuilder.java | 2 +- .../sql/engine/rule/LogicalScanConverterRule.java | 6 +- .../sql/engine/rule/logical/ExposeIndexRule.java | 6 +- .../engine/rule/logical/LogicalOrToUnionRule.java | 4 +- .../internal/sql/engine/schema/IgniteSchema.java | 2 +- .../internal/sql/engine/schema/IgniteTable.java | 108 +++- .../sql/engine/schema/IgniteTableImpl.java | 330 +++++++++---- .../sql/engine/schema/InternalIgniteTable.java | 155 ------ .../sql/engine/schema/SqlSchemaManagerImpl.java | 30 +- .../sql/engine/schema/TableDescriptor.java | 10 +- .../sql/engine/schema/TableDescriptorImpl.java | 2 +- .../sql/engine/sql/IgniteSqlDecimalLiteral.java | 101 ++++ .../sql/engine/sql/IgniteSqlParserUtil.java | 45 ++ .../sql/engine/sql/fun/IgniteSqlOperatorTable.java | 36 ++ .../internal/sql/engine/trait/Partitioned.java | 8 +- .../internal/sql/engine/type/IgniteCustomType.java | 95 +--- .../engine/type/IgniteCustomTypeCoercionRules.java | 125 +++++ .../sql/engine/type/IgniteCustomTypeSpec.java | 167 +++++++ .../sql/engine/type/IgniteTypeFactory.java | 80 ++- .../internal/sql/engine/type/UuidFunctions.java | 75 --- .../ignite/internal/sql/engine/type/UuidType.java | 41 +- .../internal/sql/engine/util/BaseQueryContext.java | 21 +- .../ignite/internal/sql/engine/util/Commons.java | 27 +- .../sql/engine/util/HashFunctionFactory.java | 21 +- .../sql/engine/util/HashFunctionFactoryImpl.java | 26 +- .../internal/sql/engine/util/IgniteMethod.java | 6 +- .../internal/sql/engine/util/IgniteResource.java | 3 + .../util/SafeCustomTypeInternalConversion.java | 79 +++ .../ignite/internal/sql/engine/util/TypeUtils.java | 60 +-- .../internal/sql/engine/IgniteSqlApiTest.java | 6 - .../internal/sql/engine/StopCalciteModuleTest.java | 11 +- ...{TpchBenchmark.java => TpchParseBenchmark.java} | 45 +- ...pchBenchmark.java => TpchPrepareBenchmark.java} | 22 +- .../sql/engine/benchmarks/TpchQueries.java | 2 +- .../sql/engine/exec/ExecutionServiceImplTest.java | 68 +-- .../sql/engine/exec/MockedStructuresTest.java | 2 + .../sql/engine/exec/RuntimeSortedIndexTest.java | 3 +- .../sql/engine/exec/rel/AbstractExecutionTest.java | 7 +- .../exec/rel/IndexScanNodeExecutionTest.java | 10 +- .../engine/exec/rel/MergeJoinExecutionTest.java | 2 +- .../exec/rel/SortedIndexSpoolExecutionTest.java | 5 +- .../exec/rel/TableScanNodeExecutionTest.java | 10 +- .../engine/exec/schema/SqlSchemaManagerTest.java | 23 +- .../engine/framework/ClusterServiceFactory.java | 6 + .../sql/engine/framework/NoOpTransaction.java} | 78 +-- .../sql/engine/framework/TestBuilders.java | 16 +- .../internal/sql/engine/framework/TestNode.java | 116 +---- .../internal/sql/engine/framework/TestTable.java | 12 +- .../planner/AbstractAggregatePlannerTest.java | 131 ++--- .../sql/engine/planner/AbstractPlannerTest.java | 84 +--- .../sql/engine/planner/AggregatePlannerTest.java | 31 +- .../planner/ColocatedHashAggregatePlannerTest.java | 94 ++-- .../planner/ColocatedSortAggregatePlannerTest.java | 113 +++-- .../planner/IndexSearchBoundsPlannerTest.java | 510 +++++++++++++++++++ .../sql/engine/planner/JoinCommutePlannerTest.java | 102 ++++ .../planner/MapReduceHashAggregatePlannerTest.java | 93 ++-- .../planner/MapReduceSortAggregatePlannerTest.java | 104 ++-- .../internal/sql/engine/planner/PlannerTest.java | 118 ----- .../engine/sql/IgniteSqlDecimalLiteralTest.java | 161 ++++++ .../sql/engine/sql/SqlLiteralArchTest.java | 114 +++++ .../sql/engine/util/HashFunctionsTest.java | 6 +- .../internal/sql/engine/util/TypeUtilsTest.java | 76 +++ .../internal/storage/util/MvPartitionStorages.java | 158 ++---- .../internal/storage/util/StorageOperation.java | 87 +++- .../ExistingDataStorageValidatorTest.java | 6 +- .../storage/util/MvPartitionStoragesTest.java | 154 ++++-- .../storage/AbstractMvPartitionStorageGcTest.java | 15 +- .../storage/AbstractMvTableStorageTest.java | 18 + .../storage/impl/TestMvPartitionStorage.java | 9 +- .../internal/storage/impl/TestMvTableStorage.java | 6 +- .../pagememory/AbstractPageMemoryTableStorage.java | 14 +- .../mv/AbstractPageMemoryMvPartitionStorage.java | 6 +- .../mv/AddWriteCommittedInvokeClosure.java | 7 + .../pagememory/mv/CommitWriteInvokeClosure.java | 7 + .../internal/storage/rocksdb/GarbageCollector.java | 34 +- .../storage/rocksdb/RocksDbMvPartitionStorage.java | 6 +- .../storage/rocksdb/RocksDbTableStorage.java | 27 +- .../ItInternalTableReadOnlyOperationsTest.java | 4 +- .../ignite/distributed/ItTablePersistenceTest.java | 5 +- .../distributed/ItTxDistributedTestSingleNode.java | 11 +- .../ignite/distributed/ReplicaUnavailableTest.java | 6 +- .../ignite/internal/table/ItColocationTest.java | 2 +- .../internal/table/AbstractRowTupleAdapter.java | 3 +- .../ignite/internal/table/InternalTable.java | 29 +- .../internal/table/MutableRowTupleAdapter.java | 10 +- .../table/distributed/StorageUpdateHandler.java | 156 +++++- .../internal/table/distributed/TableManager.java | 130 +++-- .../table/distributed/gc/GcStorageHandler.java | 47 ++ .../ignite/internal/table/distributed/gc/MvGc.java | 282 +++++++++++ .../table/distributed/raft/PartitionListener.java | 1 + .../raft/snapshot/PartitionAccessImpl.java | 48 +- .../SnapshotAwarePartitionDataStorage.java | 2 - .../replicator/PartitionReplicaListener.java | 20 +- .../distributed/storage/InternalTableImpl.java | 41 +- .../apache/ignite/internal/table/TxLocalTest.java | 3 +- .../internal/table/distributed/IndexBaseTest.java | 10 +- .../PartitionGcOnWriteConcurrentTest.java | 160 ++++++ .../table/distributed/PartitionGcOnWriteTest.java | 191 +++++++ .../TableManagerDistributionZonesTest.java | 6 + .../internal/table/distributed/gc/MvGcTest.java | 416 ++++++++++++++++ .../raft/PartitionCommandListenerTest.java | 14 +- .../raft/snapshot/PartitionAccessImplTest.java | 33 +- .../incoming/IncomingSnapshotCopierTest.java | 31 +- .../SnapshotAwarePartitionDataStorageTest.java | 2 +- .../PartitionReplicaListenerIndexLockingTest.java | 12 +- .../replication/PartitionReplicaListenerTest.java | 12 +- .../distributed/TestPartitionDataStorage.java | 1 - .../table/impl/DummyInternalTableImpl.java | 67 ++- .../ignite/internal/tx/InternalTransaction.java | 9 + settings.gradle | 4 + 518 files changed, 16173 insertions(+), 4843 deletions(-) create mode 100644 docs/_docs/sql-reference/distribution-zones.adoc create mode 100644 modules/api/src/main/java/org/apache/ignite/InitParameters.java create mode 100644 modules/api/src/main/java/org/apache/ignite/InitParametersBuilder.java copy modules/{configuration/src/test/java/org/apache/ignite/internal/rest/configuration/TestSubConfigurationSchema.java => api/src/main/java/org/apache/ignite/deployment/DeploymentUnit.java} (67%) create mode 100644 modules/api/src/main/java/org/apache/ignite/deployment/IgniteDeployment.java create mode 100644 modules/api/src/main/java/org/apache/ignite/deployment/UnitStatus.java create mode 100644 modules/api/src/main/java/org/apache/ignite/deployment/version/UnitVersion.java create mode 100644 modules/api/src/main/java/org/apache/ignite/deployment/version/Version.java copy modules/{cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/network/messages/CmgInitMessage.java => api/src/main/java/org/apache/ignite/deployment/version/VersionParseException.java} (55%) create mode 100644 modules/api/src/main/java/org/apache/ignite/security/AuthenticationConfig.java copy modules/{rest-api/src/main/java/org/apache/ignite/internal/rest/exception/ClusterNotInitializedException.java => api/src/main/java/org/apache/ignite/security/AuthenticationProviderConfig.java} (74%) copy modules/{sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/TreeIndex.java => api/src/main/java/org/apache/ignite/security/AuthenticationType.java} (53%) create mode 100644 modules/api/src/main/java/org/apache/ignite/security/BasicAuthenticationProviderConfig.java create mode 100644 modules/api/src/main/java/org/apache/ignite/security/UnknownAuthenticationTypeException.java create mode 100644 modules/api/src/test/java/org/apache/ignite/deployment/version/VersionUnitTest.java copy modules/{cli/src/integrationTest/java/org/apache/ignite/internal/cli => api/src/testFixtures/java/org/apache/ignite/internal/testframework}/IntegrationTestBase.java (55%) rename modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/{IntegrationTestBase.java => CliIntegrationTestBase.java} (51%) create mode 100644 modules/cli/src/main/java/org/apache/ignite/internal/cli/core/call/AbstractCallExecutionPipeline.java copy modules/cli/src/main/java/org/apache/ignite/internal/cli/core/call/{Call.java => AsyncCall.java} (72%) create mode 100644 modules/cli/src/main/java/org/apache/ignite/internal/cli/core/call/AsyncCallExecutionPipeline.java create mode 100644 modules/cli/src/main/java/org/apache/ignite/internal/cli/core/call/AsyncCallExecutionPipelineBuilder.java create mode 100644 modules/cli/src/main/java/org/apache/ignite/internal/cli/core/call/CallExecutionPipelineBuilder.java copy modules/cli/src/main/java/org/apache/ignite/internal/cli/core/call/{Call.java => ProgressBarTracker.java} (68%) copy modules/cli/src/main/java/org/apache/ignite/internal/cli/core/call/{Call.java => ProgressTracker.java} (74%) create mode 100644 modules/cli/src/main/java/org/apache/ignite/internal/cli/core/call/SingleCallExecutionPipeline.java delete mode 100644 modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/rest/ItClusterManagementControllerTest.java create mode 100644 modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/DistributedConfigurationUpdater.java create mode 100644 modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/network/auth/Authentication.java create mode 100644 modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/network/auth/AuthenticationProvider.java create mode 100644 modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/network/auth/BasicAuthenticationProvider.java copy modules/{rest-api/src/main/java/org/apache/ignite/internal/rest/constants/MediaType.java => cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/raft/commands/UpdateClusterStateCommand.java} (60%) rename modules/cluster-management/src/{integrationTest => testFixtures}/java/org/apache/ignite/internal/cluster/management/BaseItClusterManagementTest.java (92%) rename modules/cluster-management/src/{integrationTest => testFixtures}/java/org/apache/ignite/internal/cluster/management/MockNode.java (90%) copy modules/{rest => code-deployment}/build.gradle (61%) create mode 100644 modules/code-deployment/src/main/java/org/apache/ignite/internal/deployunit/DeploymentManagerImpl.java create mode 100644 modules/code-deployment/src/main/java/org/apache/ignite/internal/deployunit/UnitMeta.java create mode 100644 modules/code-deployment/src/main/java/org/apache/ignite/internal/deployunit/UnitMetaSerializer.java copy modules/{network/src/main/java/org/apache/ignite/internal/network/configuration/NetworkConfigurationModule.java => code-deployment/src/main/java/org/apache/ignite/internal/deployunit/configuration/DeploymentConfigurationModule.java} (82%) copy modules/{configuration/src/test/java/org/apache/ignite/internal/rest/configuration/TestRootConfigurationSchema.java => code-deployment/src/main/java/org/apache/ignite/internal/deployunit/configuration/DeploymentConfigurationSchema.java} (66%) copy modules/{cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/network/messages/CmgInitMessage.java => code-deployment/src/main/java/org/apache/ignite/internal/deployunit/exception/DeploymentUnitAlreadyExistsException.java} (55%) copy modules/{rest-api/src/main/java/org/apache/ignite/internal/rest/constants/MediaType.java => code-deployment/src/main/java/org/apache/ignite/internal/deployunit/exception/DeploymentUnitNotFoundException.java} (62%) copy modules/{rest-api/src/main/java/org/apache/ignite/internal/rest/constants/MediaType.java => code-deployment/src/main/java/org/apache/ignite/internal/deployunit/exception/DeploymentUnitReadException.java} (58%) copy modules/{rest-api/src/main/java/org/apache/ignite/internal/rest/constants/MediaType.java => code-deployment/src/main/java/org/apache/ignite/internal/deployunit/message/DeployUnitMessageTypes.java} (55%) copy modules/{cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/network/messages/CmgInitMessage.java => code-deployment/src/main/java/org/apache/ignite/internal/deployunit/message/DeployUnitRequest.java} (59%) copy modules/{cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/network/messages/CmgInitMessage.java => code-deployment/src/main/java/org/apache/ignite/internal/deployunit/message/DeployUnitResponse.java} (62%) copy modules/{cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/network/messages/CmgInitMessage.java => code-deployment/src/main/java/org/apache/ignite/internal/deployunit/message/UndeployUnitRequest.java} (63%) copy modules/{cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/network/messages/CmgInitMessage.java => code-deployment/src/main/java/org/apache/ignite/internal/deployunit/message/UndeployUnitResponse.java} (62%) create mode 100644 modules/code-deployment/src/test/java/org/apache/ignite/deployment/UnitMetaSerializerTest.java delete mode 100755 modules/configuration/src/main/java/org/apache/ignite/internal/configuration/rest/presentation/package-info.java delete mode 100644 modules/network/src/main/java/org/apache/ignite/internal/network/configuration/KeyStoreConfigurationValidatorImpl.java copy modules/network/src/main/java/org/apache/ignite/internal/network/configuration/{KeyStoreConfigurationValidator.java => SslConfigurationValidator.java} (91%) create mode 100644 modules/network/src/main/java/org/apache/ignite/internal/network/configuration/SslConfigurationValidatorImpl.java delete mode 100644 modules/network/src/test/java/org/apache/ignite/internal/network/configuration/KeyStoreConfigurationValidatorImplTest.java create mode 100644 modules/network/src/test/java/org/apache/ignite/internal/network/configuration/SslConfigurationValidatorImplTest.java copy modules/network/src/{main/java/org/apache/ignite/internal/network/configuration/NetworkConfigurationModule.java => test/java/org/apache/ignite/internal/network/configuration/StubSslView.java} (52%) create mode 100644 modules/platforms/dotnet/Apache.Ignite.Tests/SslTests.cs create mode 100644 modules/platforms/dotnet/Apache.Ignite.Tests/keystore.pfx create mode 100644 modules/platforms/dotnet/Apache.Ignite.Tests/truststore.pfx copy modules/platforms/dotnet/Apache.Ignite/{Internal/ConnectionContext.cs => ISslStreamFactory.cs} (58%) copy modules/{runner/src/main/java/org/apache/ignite/internal/rest/node/NameProvider.java => platforms/dotnet/Apache.Ignite/Internal/Network/ConnectionInfo.cs} (83%) copy modules/{configuration/src/test/java/org/apache/ignite/internal/rest/configuration/TestSubConfigurationSchema.java => platforms/dotnet/Apache.Ignite/Internal/Network/SslInfo.cs} (66%) copy modules/{runner/src/main/java/org/apache/ignite/internal/rest/node/StateProvider.java => platforms/dotnet/Apache.Ignite/Network/IConnectionInfo.cs} (70%) create mode 100644 modules/platforms/dotnet/Apache.Ignite/Network/ISslInfo.cs create mode 100644 modules/platforms/dotnet/Apache.Ignite/SslStreamFactory.cs rename modules/{rest => rest-api}/openapi/openapi.properties (100%) rename modules/{rest => rest-api}/openapi/openapi.yaml (69%) copy modules/{configuration/src/test/java/org/apache/ignite/internal/rest/configuration/TestRootConfigurationSchema.java => rest-api/src/main/java/org/apache/ignite/internal/rest/api/Definition.java} (58%) create mode 100644 modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/cluster/authentication/AuthenticationConfigDto.java copy modules/rest-api/src/main/java/org/apache/ignite/internal/rest/{constants/MediaType.java => api/cluster/authentication/AuthenticationProviderConfigDto.java} (51%) create mode 100644 modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/cluster/authentication/BasicAuthenticationProviderConfigDto.java create mode 100644 modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/deployment/DeploymentCodeApi.java create mode 100644 modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/deployment/UnitStatusDto.java copy modules/{metrics/src/main/java/org/apache/ignite/internal/metrics/rest/exception/handler/MetricNotFoundExceptionHandler.java => rest-api/src/main/java/org/apache/ignite/internal/rest/exception/handler/ConversionErrorHandlerReplacement.java} (62%) create mode 100644 modules/rest/src/integrationTest/java/org/apache/ignite/internal/rest/cluster/ItClusterManagementControllerTest.java rename modules/{cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/rest => rest/src/integrationTest/java/org/apache/ignite/internal/rest/cluster}/RestTestBase.java (97%) create mode 100644 modules/rest/src/integrationTest/java/org/apache/ignite/internal/rest/deployment/DeploymentManagementControllerTest.java copy modules/{rest-api/src/main/java/org/apache/ignite/internal/rest/RestFactory.java => rest/src/main/java/org/apache/ignite/internal/rest/RestFactoriesDestroyer.java} (52%) copy modules/{runner/src/main/java/org/apache/ignite/internal/rest/node/NodeManagementRestFactory.java => rest/src/main/java/org/apache/ignite/internal/rest/authentication/AuthProviderFactory.java} (52%) copy modules/{rest-api/src/main/java/org/apache/ignite/internal/rest/constants/MediaType.java => rest/src/main/java/org/apache/ignite/internal/rest/authentication/Authenticator.java} (59%) create mode 100644 modules/rest/src/main/java/org/apache/ignite/internal/rest/authentication/AuthenticatorFactory.java create mode 100644 modules/rest/src/main/java/org/apache/ignite/internal/rest/authentication/AuthorizationHeaderFilter.java create mode 100644 modules/rest/src/main/java/org/apache/ignite/internal/rest/authentication/BasicAuthenticator.java create mode 100644 modules/rest/src/main/java/org/apache/ignite/internal/rest/authentication/DelegatingAuthenticationProvider.java copy modules/{cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/rest/exception/handler/IgniteInternalCheckedExceptionHandler.java => rest/src/main/java/org/apache/ignite/internal/rest/authentication/exception/AuthenticationExceptionHandlerReplacement.java} (66%) copy modules/{cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/rest/exception/handler/IgniteInternalCheckedExceptionHandler.java => rest/src/main/java/org/apache/ignite/internal/rest/authentication/exception/DefaultAuthorizationExceptionHandlerReplacement.java} (58%) rename modules/{cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/rest => rest/src/main/java/org/apache/ignite/internal/rest/cluster}/ClusterManagementController.java (60%) rename modules/{cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/rest => rest/src/main/java/org/apache/ignite/internal/rest/cluster}/ClusterManagementRestFactory.java (87%) rename modules/{cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/rest => rest/src/main/java/org/apache/ignite/internal/rest/cluster}/TopologyController.java (98%) rename modules/{cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/rest => rest/src/main/java/org/apache/ignite/internal/rest/cluster}/exception/InvalidArgumentClusterInitializationException.java (93%) rename modules/{cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/rest => rest/src/main/java/org/apache/ignite/internal/rest/cluster}/exception/handler/IgniteInternalCheckedExceptionHandler.java (96%) rename modules/{cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/rest => rest/src/main/java/org/apache/ignite/internal/rest/cluster}/exception/handler/IgniteInternalExceptionHandler.java (96%) rename modules/{cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/rest => rest/src/main/java/org/apache/ignite/internal/rest/cluster}/exception/handler/InvalidArgumentClusterInitializationExceptionHandler.java (90%) rename modules/{configuration => rest}/src/main/java/org/apache/ignite/internal/rest/configuration/AbstractConfigurationController.java (96%) rename modules/{configuration => rest}/src/main/java/org/apache/ignite/internal/rest/configuration/ClusterConfigurationController.java (97%) rename modules/{configuration/src/main/java/org/apache/ignite/internal/configuration/rest/presentation => rest/src/main/java/org/apache/ignite/internal/rest/configuration}/ConfigurationPresentation.java (97%) rename modules/{configuration => rest}/src/main/java/org/apache/ignite/internal/rest/configuration/NodeConfigurationController.java (96%) rename modules/{configuration => rest}/src/main/java/org/apache/ignite/internal/rest/configuration/PresentationsFactory.java (84%) rename modules/{configuration/src/main/java/org/apache/ignite/internal/configuration/rest/presentation => rest/src/main/java/org/apache/ignite/internal/rest/configuration}/hocon/HoconPresentation.java (95%) rename modules/{configuration/src/main/java/org/apache/ignite/internal/configuration/rest/presentation => rest/src/main/java/org/apache/ignite/internal/rest/configuration}/hocon/package-info.java (92%) mode change 100755 => 100644 copy modules/{metrics/src/main/java/org/apache/ignite/internal/metrics/rest/MetricRestFactory.java => rest/src/main/java/org/apache/ignite/internal/rest/deployment/CodeDeploymentRestFactory.java} (65%) create mode 100644 modules/rest/src/main/java/org/apache/ignite/internal/rest/deployment/DeploymentManagementController.java copy modules/{metrics/src/main/java/org/apache/ignite/internal/metrics/rest/exception/handler/MetricNotFoundExceptionHandler.java => rest/src/main/java/org/apache/ignite/internal/rest/deployment/exception/handler/DeploymentUnitAlreadyExistExceptionHandler.java} (66%) copy modules/{metrics/src/main/java/org/apache/ignite/internal/metrics/rest/exception/handler/MetricNotFoundExceptionHandler.java => rest/src/main/java/org/apache/ignite/internal/rest/deployment/exception/handler/DeploymentUnitNotFoundExceptionHandler.java} (70%) copy modules/{metrics/src/main/java/org/apache/ignite/internal/metrics/rest/exception/handler/MetricNotFoundExceptionHandler.java => rest/src/main/java/org/apache/ignite/internal/rest/deployment/exception/handler/VersionParseExceptionHandler.java} (67%) rename modules/{metrics/src/main/java/org/apache/ignite/internal/metrics/rest => rest/src/main/java/org/apache/ignite/internal/rest/metrics}/MetricRestFactory.java (88%) rename modules/{metrics/src/main/java/org/apache/ignite/internal/metrics/rest => rest/src/main/java/org/apache/ignite/internal/rest/metrics}/NodeMetricController.java (94%) rename modules/{metrics/src/main/java/org/apache/ignite/internal/metrics/rest => rest/src/main/java/org/apache/ignite/internal/rest/metrics}/exception/MetricNotFoundException.java (94%) rename modules/{metrics/src/main/java/org/apache/ignite/internal/metrics/rest => rest/src/main/java/org/apache/ignite/internal/rest/metrics}/exception/handler/MetricNotFoundExceptionHandler.java (93%) rename modules/{runner => rest}/src/main/java/org/apache/ignite/internal/rest/node/NameProvider.java (100%) rename modules/{runner => rest}/src/main/java/org/apache/ignite/internal/rest/node/NodeManagementController.java (100%) rename modules/{runner => rest}/src/main/java/org/apache/ignite/internal/rest/node/NodeManagementRestFactory.java (89%) rename modules/{runner => rest}/src/main/java/org/apache/ignite/internal/rest/node/StateProvider.java (100%) delete mode 100644 modules/rest/src/test/java/org/apache/ignite/internal/rest/RestComponentTest.java create mode 100644 modules/rest/src/test/java/org/apache/ignite/internal/rest/authentication/DelegatingAuthenticationProviderTest.java create mode 100644 modules/rest/src/test/java/org/apache/ignite/internal/rest/authentication/StubAuthenticationViewEvent.java rename modules/{configuration => rest}/src/test/java/org/apache/ignite/internal/rest/configuration/ClusterConfigurationControllerTest.java (90%) rename modules/{configuration => rest}/src/test/java/org/apache/ignite/internal/rest/configuration/ConfigurationControllerBaseTest.java (96%) rename modules/{configuration => rest}/src/test/java/org/apache/ignite/internal/rest/configuration/NodeConfigurationControllerTest.java (90%) rename modules/{configuration => rest}/src/test/java/org/apache/ignite/internal/rest/configuration/TestFactory.java (96%) copy modules/{configuration => rest}/src/test/java/org/apache/ignite/internal/rest/configuration/TestRootConfigurationSchema.java (100%) copy modules/{configuration => rest}/src/test/java/org/apache/ignite/internal/rest/configuration/TestSubConfigurationSchema.java (100%) rename modules/{configuration/src/test/java/org/apache/ignite/internal/configuration/rest => rest/src/test/java/org/apache/ignite/internal/rest/configuration}/presentation/ConfigurationPresentationTest.java (97%) rename modules/runner/src/integrationTest/java/org/apache/ignite/internal/{AbstractClusterIntegrationTest.java => ClusterPerTestIntegrationTest.java} (92%) copy modules/{configuration/src/test/java/org/apache/ignite/internal/rest/configuration/TestRootConfigurationSchema.java => runner/src/integrationTest/java/org/apache/ignite/internal/IgniteIntegrationTest.java} (58%) create mode 100644 modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/ItSslConfigurationValidationTest.java create mode 100644 modules/runner/src/integrationTest/java/org/apache/ignite/internal/deployment/ItDeploymentUnitTest.java create mode 100644 modules/runner/src/integrationTest/java/org/apache/ignite/internal/junit/StopAllIgnitesAfterTests.java rename modules/runner/src/integrationTest/java/org/apache/ignite/internal/rest/{ssl => }/RestNode.java (54%) create mode 100644 modules/runner/src/integrationTest/java/org/apache/ignite/internal/rest/RestNodeBuilder.java create mode 100644 modules/runner/src/integrationTest/java/org/apache/ignite/internal/rest/authentication/ItAuthenticationTest.java rename modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/{AbstractBasicIntegrationTest.java => ClusterPerClassIntegrationTest.java} (95%) create mode 100644 modules/runner/src/integrationTest/java/org/apache/ignite/internal/table/ItReadOnlyTransactionTest.java create mode 100644 modules/runner/src/integrationTest/java/org/apache/ignite/internal/table/ItRoReadsTest.java create mode 100644 modules/runner/src/integrationTest/resources/ssl/client.pfx create mode 100644 modules/runner/src/integrationTest/resources/ssl/server.jks create mode 100644 modules/runner/src/integrationTest/resources/ssl/trust.jks copy modules/{configuration/src/test/java/org/apache/ignite/internal/rest/configuration/TestSubConfigurationSchema.java => schema/src/main/java/org/apache/ignite/internal/schema/BinaryTupleContainer.java} (66%) copy modules/{rest => security}/build.gradle (76%) rename modules/{configuration/src/test/java/org/apache/ignite/internal/rest/configuration/TestSubConfigurationSchema.java => security/src/main/java/org/apache/ignite/internal/configuration/AuthenticationConfigurationSchema.java} (66%) copy modules/{network/src/main/java/org/apache/ignite/internal/network/configuration/KeyStoreConfigurationValidator.java => security/src/main/java/org/apache/ignite/internal/configuration/AuthenticationConfigurationValidator.java} (73%) create mode 100644 modules/security/src/main/java/org/apache/ignite/internal/configuration/AuthenticationConfigurationValidatorImpl.java rename modules/{sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/ModifyRow.java => security/src/main/java/org/apache/ignite/internal/configuration/AuthenticationProviderConfigurationSchema.java} (56%) rename modules/{network/src/main/java/org/apache/ignite/internal/network/configuration/KeyStoreConfigurationValidator.java => security/src/main/java/org/apache/ignite/internal/configuration/AuthenticationProvidersValidator.java} (66%) create mode 100644 modules/security/src/main/java/org/apache/ignite/internal/configuration/AuthenticationProvidersValidatorImpl.java copy modules/{schema/src/main/java/org/apache/ignite/internal/schema/configuration/storage/DataStorageConfigurationSchema.java => security/src/main/java/org/apache/ignite/internal/configuration/BasicAuthenticationProviderConfigurationSchema.java} (64%) copy modules/{rest/src/main/java/org/apache/ignite/internal/rest/configuration/RestConfigurationModule.java => security/src/main/java/org/apache/ignite/internal/configuration/SecurityConfigurationModule.java} (68%) rename modules/{configuration/src/test/java/org/apache/ignite/internal/rest/configuration/TestRootConfigurationSchema.java => security/src/main/java/org/apache/ignite/internal/configuration/SecurityConfigurationSchema.java} (70%) copy modules/{rest/src/main/java/org/apache/ignite/internal/rest => security/src/main/java/org/apache/ignite/internal}/configuration/package-info.java (88%) create mode 100644 modules/security/src/test/java/org/apache/ignite/internal/configuration/AuthenticationConfigurationValidatorTest.java create mode 100644 modules/security/src/test/java/org/apache/ignite/internal/configuration/AuthenticationProvidersValidatorTest.java create mode 100644 modules/security/src/test/java/org/apache/ignite/internal/configuration/SecurityConfigurationModuleTest.java create mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/TxAttributes.java create mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/UpdateableTable.java create mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/exp/CustomTypesConversion.java delete mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/InternalIgniteTable.java create mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/sql/IgniteSqlDecimalLiteral.java create mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/sql/IgniteSqlParserUtil.java create mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/type/IgniteCustomTypeCoercionRules.java create mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/type/IgniteCustomTypeSpec.java delete mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/type/UuidFunctions.java create mode 100644 modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/util/SafeCustomTypeInternalConversion.java copy modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/benchmarks/{TpchBenchmark.java => TpchParseBenchmark.java} (65%) rename modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/benchmarks/{TpchBenchmark.java => TpchPrepareBenchmark.java} (83%) rename modules/sql-engine/src/{main/java/org/apache/ignite/internal/sql/engine/util/LocalTxAttributesHolder.java => test/java/org/apache/ignite/internal/sql/engine/framework/NoOpTransaction.java} (60%) create mode 100644 modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/IndexSearchBoundsPlannerTest.java create mode 100644 modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/sql/IgniteSqlDecimalLiteralTest.java create mode 100644 modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/sql/SqlLiteralArchTest.java create mode 100644 modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/util/TypeUtilsTest.java create mode 100644 modules/table/src/main/java/org/apache/ignite/internal/table/distributed/gc/GcStorageHandler.java create mode 100644 modules/table/src/main/java/org/apache/ignite/internal/table/distributed/gc/MvGc.java create mode 100644 modules/table/src/test/java/org/apache/ignite/internal/table/distributed/PartitionGcOnWriteConcurrentTest.java create mode 100644 modules/table/src/test/java/org/apache/ignite/internal/table/distributed/PartitionGcOnWriteTest.java create mode 100644 modules/table/src/test/java/org/apache/ignite/internal/table/distributed/gc/MvGcTest.java