This is an automated email from the ASF dual-hosted git repository. gvvinblade pushed a commit to branch ignite-12248 in repository https://gitbox.apache.org/repos/asf/ignite.git
commit 382ffae939d73aa4d640ac2991b88dc9a0b8a70d Merge: f54e7a5 f60771d Author: Igor Seliverstov <[email protected]> AuthorDate: Mon Sep 14 10:39:45 2020 +0300 Merge branch 'master' into ignite-12248 .gitignore | 6 + assembly/libs/README.txt | 1 - checkstyle/checkstyle.xml | 7 +- .../jmh/misc/JmhTracingContextBenchmark.java | 112 ++++ .../internal/jdbc2/JdbcMetadataSelfTest.java | 4 +- .../ignite/jdbc/thin/JdbcThinMetadataSelfTest.java | 15 +- .../SystemViewRowAttributeWalkerGenerator.java | 4 + .../jdbc/JdbcThinCompatibilityTest.java | 197 ++++++ .../ignite/compatibility/jdbc/package-info.java} | 18 +- .../junits/IgniteCompatibilityAbstractTest.java | 87 +-- .../IgniteCompatibilityBasicTestSuite.java | 4 +- .../ignite/internal/commandline/Command.java | 31 + .../ignite/internal/commandline/CommandList.java | 5 +- .../ignite/internal/commandline/WarmUpCommand.java | 121 ++++ .../commandline/encryption/EncryptionCommand.java | 6 +- .../commandline/CommandHandlerParsingTest.java | 36 +- .../apache/ignite/util/GridCommandHandlerTest.java | 68 +- .../org/apache/ignite/IgniteSystemProperties.java | 571 +++++++++++++++++ ...ateCounterMvccImpl.java => SystemProperty.java} | 37 +- .../java/org/apache/ignite/cache/CacheManager.java | 6 +- .../java/org/apache/ignite/cache/CacheMetrics.java | 2 +- .../configuration/DataStorageConfiguration.java | 6 +- .../ignite/configuration/IgniteConfiguration.java | 2 +- .../ignite/internal/GridKernalGatewayImpl.java | 7 +- .../org/apache/ignite/internal/IgniteKernal.java | 20 +- .../ignite/internal/LongJVMPauseDetector.java | 15 +- .../binary/streams/BinaryMemoryAllocatorChunk.java | 6 +- .../internal/client/GridClientBeforeNodeStart.java | 66 ++ .../ignite/internal/client/GridClientFactory.java | 33 +- .../client/GridClientNodeStateBeforeStart.java} | 19 +- .../internal/client/impl/GridClientImpl.java | 190 ++++-- .../impl/GridClientNodeStateBeforeStartImpl.java | 49 ++ .../impl/connection/GridClientConnection.java | 9 + .../connection/GridClientConnectionManager.java | 12 + .../GridClientConnectionManagerAdapter.java | 156 +++-- .../GridClientConnectionManagerOsImpl.java | 7 +- .../connection/GridClientNioTcpConnection.java | 8 + .../client/router/impl/GridRouterClientImpl.java | 2 +- .../client/thin/ClientCacheAffinityMapping.java | 2 +- .../client/thin/ClientClusterGroupImpl.java | 23 +- .../internal/client/thin/ClientClusterImpl.java | 5 +- .../ignite/internal/client/thin/ClientUtils.java | 21 +- .../internal/client/thin/TcpClientChannel.java | 4 +- .../internal/client/thin/TcpIgniteClient.java | 2 +- .../ignite/internal/jdbc/thin/JdbcThinTcpIo.java | 19 +- .../managers/discovery/GridDiscoveryManager.java | 7 +- .../walker/BinaryMetadataViewWalker.java | 56 ++ .../systemview/walker/MetastorageViewWalker.java} | 30 +- .../processors/affinity/AffinityAssignment.java | 5 +- .../affinity/GridAffinityAssignmentCache.java | 11 +- .../cache/CacheAffinitySharedManager.java | 6 +- .../processors/cache/CacheGroupContext.java | 12 +- .../processors/cache/CacheMetricsImpl.java | 37 +- .../internal/processors/cache/ExchangeContext.java | 4 +- .../processors/cache/GridCacheAdapter.java | 18 +- .../processors/cache/GridCacheConcurrentMap.java | 5 +- .../cache/GridCacheConcurrentMapImpl.java | 37 +- .../processors/cache/GridCacheContext.java | 6 +- .../processors/cache/GridCacheMapEntry.java | 12 +- .../processors/cache/GridCacheMvccManager.java | 7 +- .../cache/GridCachePartitionExchangeManager.java | 18 +- .../processors/cache/GridCacheProcessor.java | 11 +- .../cache/GridCacheSharedTtlCleanupManager.java | 11 + .../processors/cache/GridCacheTtlManager.java | 5 +- .../internal/processors/cache/GridCacheUtils.java | 5 +- .../processors/cache/GridNoStorageCacheMap.java | 6 +- .../cache/PartitionUpdateCounterMvccImpl.java | 5 + .../cache/PartitionUpdateCounterTrackingImpl.java | 7 +- .../internal/processors/cache/WalStateManager.java | 19 +- .../binary/CacheObjectBinaryProcessorImpl.java | 17 +- .../distributed/GridDistributedCacheEntry.java | 3 +- .../dht/GridCachePartitionedConcurrentMap.java | 8 +- .../dht/GridDhtTransactionalCacheAdapter.java | 3 +- .../dht/GridPartitionedSingleGetFuture.java | 4 +- .../distributed/dht/atomic/GridDhtAtomicCache.java | 11 +- .../CachePartitionPartialCountersMap.java | 11 + .../dht/preloader/GridDhtPartitionDemander.java | 360 +++++------ .../preloader/GridDhtPartitionsExchangeFuture.java | 27 +- .../dht/preloader/GridDhtPreloader.java | 46 +- .../dht/preloader/GridDhtPreloaderAssignments.java | 16 + .../IgniteHistoricalIteratorException.java | 9 + .../dht/topology/GridClientPartitionTopology.java | 10 +- .../dht/topology/GridDhtLocalPartition.java | 530 ++++----------- .../dht/topology/GridDhtPartitionTopology.java | 4 +- .../dht/topology/GridDhtPartitionTopologyImpl.java | 148 ++--- .../dht/topology/GridDhtPartitionsReservation.java | 20 +- .../dht/topology/PartitionsEvictManager.java | 503 +++++---------- .../distributed/near/GridNearTxEnlistFuture.java | 5 + .../cache/distributed/near/GridNearTxLocal.java | 57 +- .../GridNearReadRepairAbstractFuture.java | 4 +- .../processors/cache/mvcc/MvccCachingManager.java | 5 +- .../GridCacheDatabaseSharedManager.java | 57 +- .../cache/persistence/GridCacheOffheapManager.java | 55 +- .../IgniteCacheDatabaseSharedManager.java | 9 + .../persistence/checkpoint/CheckpointHistory.java | 137 +++- .../cache/persistence/checkpoint/Checkpointer.java | 5 +- .../pagelocktracker/LockTrackerFactory.java | 31 +- .../pagelocktracker/SharedPageLockTracker.java | 58 +- .../cache/persistence/file/FilePageStore.java | 2 +- .../cache/persistence/freelist/PagesList.java | 53 +- .../cache/persistence/metastorage/MetaStorage.java | 5 + .../pendingtask/DurableBackgroundTask.java | 17 + .../cache/persistence/pagemem/FullPageIdTable.java | 7 +- .../cache/persistence/pagemem/PageMemoryImpl.java | 13 +- .../pagemem/PagesWriteThrottlePolicy.java | 5 +- .../pagemem/RobinHoodBackwardShiftHashMap.java | 4 +- .../cache/persistence/tree/BPlusTree.java | 2 +- .../persistence/wal/FileWriteAheadLogManager.java | 29 +- .../wal/filehandle/FileHandleManagerImpl.java | 2 +- .../CacheContinuousQueryEventBuffer.java | 21 +- .../continuous/CacheContinuousQueryHandler.java | 24 +- .../cache/transactions/IgniteTransactionsImpl.java | 16 +- .../cache/transactions/IgniteTxManager.java | 41 +- .../cache/transactions/IgniteTxStateImpl.java | 1 - .../cache/transactions/TransactionProxyImpl.java | 31 +- .../TransactionProxyRollbackOnlyImpl.java | 2 +- .../cache/transactions/TxDeadlockDetection.java | 7 +- .../processors/cluster/ClusterProcessor.java | 10 +- .../autoadjust/BaselineAutoAdjustScheduler.java | 3 +- .../baseline/autoadjust/ChangeTopologyWatcher.java | 4 + .../datastructures/GridAtomicCacheQueueImpl.java | 7 +- .../processors/diagnostic/DiagnosticProcessor.java | 7 +- .../processors/failure/FailureProcessor.java | 9 +- .../internal/processors/job/GridJobProcessor.java | 6 +- .../jobmetrics/GridJobMetricsProcessor.java | 7 +- .../localtask/DurableBackgroundTasksProcessor.java | 35 +- .../persistence/DistributedMetaStorageImpl.java | 42 +- .../odbc/jdbc/JdbcConnectionContext.java | 10 +- .../processors/odbc/jdbc/JdbcRequestHandler.java | 4 +- .../transactions/PlatformTransactions.java | 8 + .../internal/processors/query/QueryUtils.java | 9 +- .../internal/processors/rest/GridRestCommand.java | 8 +- .../processors/rest/GridRestProcessor.java | 15 +- .../internal/processors/rest/GridRestProtocol.java | 5 + .../GridClientNodeStateBeforeStartRequest.java} | 25 +- .../client/message/GridClientWarmUpRequest.java | 90 +++ .../NodeStateBeforeStartCommandHandler.java | 75 +++ .../rest/handlers/task/GridTaskCommandHandler.java | 2 +- .../rest/protocols/GridRestProtocolAdapter.java | 5 + .../rest/protocols/tcp/GridTcpRestNioListener.java | 22 + .../rest/protocols/tcp/GridTcpRestProtocol.java | 6 +- .../GridRestNodeStateBeforeStartRequest.java} | 16 +- .../request/GridRestWarmUpRequest.java} | 38 +- .../ignite/internal/processors/tracing/MTC.java | 30 +- .../ignite/internal/util/GridLogThrottle.java | 6 +- .../ignite/internal/util/GridReflectionCache.java | 6 +- .../apache/ignite/internal/util/GridUnsafe.java | 7 +- .../apache/ignite/internal/util/IgniteUtils.java | 5 +- .../ignite/internal/util/OffheapReadWriteLock.java | 19 +- .../ignite/internal/util/StripedExecutor.java | 8 +- .../internal/util/io/GridUnsafeDataInput.java | 3 +- .../internal/util/io/GridUnsafeDataOutput.java | 3 +- .../util/nio/GridNioRecoveryDescriptor.java | 8 +- .../ignite/internal/util/nio/GridNioServer.java | 24 +- .../util/portscanner/GridJmxPortFinder.java | 2 + .../util/tostring/GridToStringBuilder.java | 14 +- .../internal/util/tostring/SBLengthLimit.java | 4 +- .../visor/node/VisorBasicConfiguration.java | 3 +- .../tcp/internal/GridNioServerWrapper.java | 27 +- .../tcp/internal/InboundConnectionHandler.java | 7 +- .../internal/TcpCommunicationConfiguration.java | 11 +- .../spi/deployment/local/LocalDeploymentSpi.java | 2 + .../ignite/spi/discovery/tcp/ClientImpl.java | 6 +- .../ignite/spi/discovery/tcp/ServerImpl.java | 8 +- .../ignite/spi/discovery/tcp/TcpDiscoveryImpl.java | 3 +- .../ignite/spi/discovery/tcp/TcpDiscoverySpi.java | 16 + .../spi/systemview/view/BinaryMetadataView.java | 85 +++ .../systemview/view/MetastorageView.java} | 36 +- .../apache/ignite/spi/tracing/NoopTracingSpi.java | 2 + .../ignite/startup/cmdline/CommandLineStartup.java | 116 +++- .../main/resources/META-INF/classnames.properties | 2 + modules/core/src/test/config/log4j-test.xml | 9 + .../ignite/cache/ResetLostPartitionTest.java | 8 +- .../client/ClientCacheConfigurationTest.java | 56 +- .../org/apache/ignite/client/IgniteBinaryTest.java | 25 + .../ignite/internal/metric/JmxExporterSpiTest.java | 120 ++++ .../ignite/internal/metric/SystemViewSelfTest.java | 116 ++++ .../cache/CacheGroupsMetricsRebalanceTest.java | 110 ++-- .../cache/WalModeChangeAdvancedSelfTest.java | 4 +- ...iteExchangeLatchManagerCoordinatorFailTest.java | 45 +- ...CachePartitionLostAfterSupplierHasLeftTest.java | 18 +- .../distributed/CacheRentingStateRepairTest.java | 21 +- .../IgniteCacheClientNodeChangingTopologyTest.java | 2 + ...eScheduleResendPartitionsAfterEvictionTest.java | 135 ---- .../dht/topology/BlockedEvictionsTest.java | 483 ++++++++++++++ .../DropCacheContextDuringEvictionTest.java | 103 --- .../dht/topology/EvictPartitionInLogTest.java | 38 +- .../EvictionWhilePartitionGroupIsReservedTest.java | 168 +++++ .../GridDhtLocalPartitionSyncEviction.java | 125 ++++ ...MovingPartitionIsEvictedDuringClearingTest.java | 173 +++++ .../PartitionsEvictManagerAbstractTest.java | 212 ------ .../PartitionsEvictionTaskFailureHandlerTest.java | 49 -- ...reloadingRestartWhileClearingPartitionTest.java | 166 +++++ .../RentingPartitionIsOwnedDuringEvictionTest.java | 94 ++- ...yPartitionHistoricallyWithReorderedUpdates.java | 223 +++++++ .../processors/cache/persistence/EagerTtlTest.java | 203 ++++++ .../IgnitePdsCacheEntriesExpirationTest.java | 4 +- .../IgnitePdsPartitionFilesDestroyTest.java | 2 +- .../db/wal/WalRecoveryTxLogicalRecordsTest.java | 31 + ...acheRemoteMultiplePartitionReservationTest.java | 6 +- .../TxRollbackOnMapOnInvalidTopologyTest.java | 4 +- .../cache/warmup/BlockedWarmUpConfiguration.java | 4 +- ...ockedWarmUp.java => BlockedWarmUpStrategy.java} | 6 +- .../SimpleObservableWarmUpConfiguration.java | 2 +- ...Up.java => SimpleObservableWarmUpStrategy.java} | 2 +- .../processors/cache/warmup/WarmUpSelfTest.java | 10 +- .../cache/warmup/WarmUpTestPluginProvider.java | 8 +- .../tcp/TcpClientDiscoverySpiSelfTest.java | 2 + .../cmdline/CommandLinePrintPropertiesTest.java | 113 ++++ .../junits/common/GridAbstractExamplesTest.java | 5 + .../junits/common/GridCommonAbstractTest.java | 2 +- .../ignite/testsuites/IgniteBasicTestSuite.java | 4 - .../ignite/testsuites/IgniteCacheTestSuite7.java | 10 +- .../ignite/testsuites/IgnitePdsMvccTestSuite3.java | 24 +- .../ignite/testsuites/IgnitePdsTestSuite3.java | 2 + .../ignite/testsuites/IgnitePdsTestSuite4.java | 2 + .../ignite/testsuites/IgniteStartUpTestSuite.java | 6 +- ...ridCommandHandlerClusterByClassTest_help.output | 3 + ...andHandlerClusterByClassWithSSLTest_help.output | 3 + modules/gce/pom.xml | 2 +- .../h2/DurableBackgroundCleanupIndexTreeTask.java | 19 + .../processors/query/h2/database/H2Tree.java | 9 +- .../cache/metric/SqlViewExporterSpiTest.java | 111 +++- .../db/LongDestroyDurableBackgroundTaskTest.java | 105 ++- modules/jms11/README.txt | 29 - modules/jms11/licenses/apache-2.0.txt | 202 ------ modules/jms11/pom.xml | 104 --- .../apache/ignite/stream/jms11/JmsStreamer.java | 565 ---------------- .../ignite/stream/jms11/MessageTransformer.java | 41 -- .../apache/ignite/stream/jms11/package-info.java | 22 - .../ignite/stream/jms11/IgniteJmsStreamerTest.java | 708 --------------------- .../ignite/stream/jms11/TestTransformers.java | 127 ---- .../apache/ignite/stream/jms11/package-info.java | 22 - .../cpp/common/include/ignite/ignite_error.h | 6 + .../cpp/core/src/transactions/transactions.cpp | 1 + .../platforms/cpp/thin-client-test/CMakeLists.txt | 4 +- .../config/ssl/generate_certificates.sh | 18 +- .../project/vs/thin-client-test.vcxproj | 1 + .../platforms/cpp/thin-client-test/src/tx_test.cpp | 400 ++++++++++++ modules/platforms/cpp/thin-client/CMakeLists.txt | 2 + .../impl/thin/transactions/transactions_proxy.h | 145 +++++ .../include/ignite/thin/ignite_client.h | 12 + .../include/ignite/thin/transactions/transaction.h | 100 +++ .../ignite/thin/transactions/transaction_consts.h | 119 ++++ .../ignite/thin/transactions/transactions.h | 130 ++++ .../cpp/thin-client/project/vs/thin-client.vcxproj | 7 + .../cpp/thin-client/src/ignite_client.cpp | 5 + .../src/impl/cache/cache_client_impl.cpp | 86 +++ .../thin-client/src/impl/cache/cache_client_impl.h | 8 + .../src/impl/cache/cache_client_proxy.cpp | 2 - .../thin-client/src/impl/ignite_client_impl.cpp | 13 +- .../cpp/thin-client/src/impl/ignite_client_impl.h | 11 + .../platforms/cpp/thin-client/src/impl/message.cpp | 9 +- .../platforms/cpp/thin-client/src/impl/message.h | 201 +++++- .../src/impl/transactions/transaction_impl.h | 183 ++++++ .../src/impl/transactions/transactions_impl.cpp | 214 +++++++ .../src/impl/transactions/transactions_impl.h | 129 ++++ .../src/impl/transactions/transactions_proxy.cpp | 82 +++ .../Apache.Ignite.Core.Tests.csproj | 2 + .../Cache/CacheLocalActiveTransactionsTest.cs | 208 ++++++ .../Cache/CacheTransactionGridStopTest.cs | 48 ++ .../Cache/OptimisticTransactionTest.cs | 9 +- .../Cache/PartitionLossTest.cs | 12 +- .../Apache.Ignite.Core.Tests/ExceptionsTest.cs | 2 +- .../IgniteStartStopTest.cs | 2 +- .../Apache.Ignite.Core/Apache.Ignite.Core.csproj | 2 + .../Common/IgniteIllegalStateException.cs | 69 ++ .../Apache.Ignite.Core/Impl/ExceptionUtils.cs | 1 + .../Impl/Transactions/TransactionImpl.cs | 12 +- .../Transactions/TransactionRollbackOnlyProxy.cs | 261 ++++++++ .../Impl/Transactions/TransactionsImpl.cs | 55 +- .../Transactions/ITransactions.cs | 19 +- modules/platforms/python/pyignite/api/sql.py | 5 +- .../python/pyignite/connection/__init__.py | 4 + .../platforms/python/pyignite/connection/ssl.py | 40 +- modules/platforms/python/tests/config/ssl.xml | 58 ++ .../platforms/python/tests/config/ssl/README.txt | 3 + .../python/tests/config/ssl/client_full.pem | 52 ++ .../tests/config/ssl/client_with_pass_full.pem | 54 ++ .../platforms/python/tests/config/ssl/server.jks | Bin 0 -> 2380 bytes .../platforms/python/tests/config/ssl/trust.jks | Bin 0 -> 1346 bytes modules/platforms/python/tests/conftest.py | 11 +- modules/platforms/python/tests/test_handshake.py | 3 +- modules/platforms/python/tests/test_sql.py | 30 + .../OverrideAnnotationOnTheSameLineCheck.java | 100 --- .../ipfinder/zk/TcpDiscoveryZookeeperIpFinder.java | 5 +- .../zk/internal/ZookeeperDiscoveryImpl.java | 41 +- parent/pom.xml | 11 +- pom.xml | 1 - 289 files changed, 9317 insertions(+), 4445 deletions(-) diff --cc modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java index fbabdf8,b8c5cd4..fc44067 --- a/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java @@@ -94,12 -94,9 +94,12 @@@ public class JdbcThinTcpIo /** Version 2.8.0. */ private static final ClientListenerProtocolVersion VER_2_8_0 = ClientListenerProtocolVersion.create(2, 8, 0); - /** Version 2.8.1. Adds features flags support. */ - private static final ClientListenerProtocolVersion VER_2_8_1 = ClientListenerProtocolVersion.create(2, 8, 1); + /** Version 2.9.0. Adds user attributes support. Adds features flags support. */ + private static final ClientListenerProtocolVersion VER_2_9_0 = ClientListenerProtocolVersion.create(2, 9, 0); + /** Version 2.9.0. */ + private static final ClientListenerProtocolVersion VER_2_9_0 = ClientListenerProtocolVersion.create(2, 9, 0); + /** Current version. */ private static final ClientListenerProtocolVersion CURRENT_VER = VER_2_9_0; @@@ -307,14 -306,10 +309,13 @@@ SqlStateCode.CLIENT_CONNECTION_FAILED, e); } } - } - if (ver.compareTo(VER_2_8_1) >= 0) writer.writeByteArray(ThinProtocolFeature.featuresAsBytes(enabledFeatures())); + } + if (ver.compareTo(VER_2_9_0) >= 0) + writer.writeBoolean(connProps.isUseExperimentalQueryEngine()); + if (!F.isEmpty(connProps.getUsername())) { assert ver.compareTo(VER_2_5_0) >= 0 : "Authentication is supported since 2.5"; diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcConnectionContext.java index 3ea5f35,0d9ea39..afa842d --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcConnectionContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcConnectionContext.java @@@ -65,12 -65,9 +65,12 @@@ public class JdbcConnectionContext exte /** Version 2.8.0: adds query id in order to implement cancel feature, partition awareness support: IEP-23.*/ static final ClientListenerProtocolVersion VER_2_8_0 = ClientListenerProtocolVersion.create(2, 8, 0); - /** Version 2.8.1: adds features flags support.*/ - static final ClientListenerProtocolVersion VER_2_8_1 = ClientListenerProtocolVersion.create(2, 8, 1); + /** Version 2.9.0: adds user attributes, adds features flags support. */ + static final ClientListenerProtocolVersion VER_2_9_0 = ClientListenerProtocolVersion.create(2, 9, 0); + /** Version 2.9.0: adds experimental query engine support */ + static final ClientListenerProtocolVersion VER_2_9_0 = ClientListenerProtocolVersion.create(2, 9, 0); + /** Current version. */ public static final ClientListenerProtocolVersion CURRENT_VER = VER_2_9_0;
