Merge remote-tracking branch 'remotes/origin/ignite-3478' into ignite-3479 # Conflicts: # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsSharedManager.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/db7534b4 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/db7534b4 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/db7534b4 Branch: refs/heads/ignite-3479 Commit: db7534b43d1f3db271658b70acf2ec451f39a7c9 Parents: 65203ce 0c4325a Author: sboikov <sboi...@gridgain.com> Authored: Fri Sep 22 14:21:18 2017 +0300 Committer: sboikov <sboi...@gridgain.com> Committed: Fri Sep 22 14:21:18 2017 +0300 ---------------------------------------------------------------------- README.md | 149 +++-- .../jdbc/suite/IgniteJdbcDriverTestSuite.java | 3 + .../jdbc/thin/JdbcThinErrorsSelfTest.java | 31 + .../thin/JdbcThinSelectAfterAlterTable.java | 173 +++++ .../apache/ignite/IgniteSystemProperties.java | 10 + .../PersistentStoreConfiguration.java | 34 +- .../internal/GridEventConsumeHandler.java | 9 +- .../IgniteDiagnosticPrepareContext.java | 4 +- .../internal/jdbc/thin/JdbcThinStatement.java | 7 +- .../managers/deployment/GridDeploymentInfo.java | 1 + .../deployment/GridDeploymentInfoBean.java | 21 +- .../discovery/GridDiscoveryManager.java | 26 +- .../pagemem/store/IgnitePageStoreManager.java | 4 +- .../cache/CacheAffinitySharedManager.java | 4 +- .../processors/cache/CacheMetricsImpl.java | 2 +- .../processors/cache/GridCacheAdapter.java | 18 +- .../cache/GridCacheDeploymentManager.java | 54 +- .../processors/cache/GridCacheIoManager.java | 9 +- .../processors/cache/GridCacheMapEntry.java | 9 +- .../processors/cache/GridCacheMvccManager.java | 5 +- .../GridDistributedTxRemoteAdapter.java | 2 +- .../dht/GridDhtPartitionTopologyImpl.java | 13 +- .../distributed/dht/GridDhtTxFinishFuture.java | 2 +- .../cache/distributed/dht/GridDhtTxLocal.java | 6 +- .../distributed/dht/GridDhtTxLocalAdapter.java | 4 +- .../dht/GridPartitionedGetFuture.java | 2 +- .../colocated/GridDhtColocatedLockFuture.java | 79 ++- .../GridDhtPartitionsExchangeFuture.java | 2 +- .../preloader/GridDhtPartitionsFullMessage.java | 2 +- .../distributed/near/GridNearLockFuture.java | 116 ++-- .../near/GridNearOptimisticTxPrepareFuture.java | 3 +- .../near/GridNearTransactionalCache.java | 3 - .../near/GridNearTxFastFinishFuture.java | 80 +++ .../near/GridNearTxFinishAndAckFuture.java | 11 +- .../near/GridNearTxFinishFuture.java | 26 +- .../cache/distributed/near/GridNearTxLocal.java | 311 ++++++--- .../distributed/near/NearTxFinishFuture.java | 8 +- .../mvcc/CacheCoordinatorsSharedManager.java | 29 +- .../GridCacheDatabaseSharedManager.java | 55 +- .../persistence/GridCacheOffheapManager.java | 2 +- .../IgniteCacheDatabaseSharedManager.java | 2 +- .../cache/persistence/file/AsyncFileIO.java | 218 ++++++ .../persistence/file/AsyncFileIOFactory.java | 52 ++ .../cache/persistence/file/FileIOFactory.java | 25 +- .../cache/persistence/file/FilePageStore.java | 7 +- .../persistence/file/FilePageStoreManager.java | 7 +- .../file/FileVersionCheckingFactory.java | 2 +- .../persistence/file/RandomAccessFileIO.java | 48 +- .../file/RandomAccessFileIOFactory.java | 14 +- .../persistence/pagemem/PageMemoryImpl.java | 96 ++- .../persistence/pagemem/PagesWriteThrottle.java | 104 +++ .../cache/persistence/tree/io/DataPageIO.java | 6 +- .../cache/persistence/tree/io/IOVersions.java | 3 + .../cache/persistence/tree/io/PageIO.java | 2 +- .../wal/AbstractWalRecordsIterator.java | 2 +- .../cache/persistence/wal/FileInput.java | 7 + .../wal/FileWriteAheadLogManager.java | 8 +- .../reader/StandaloneWalRecordsIterator.java | 4 +- .../query/GridCacheDistributedQueryManager.java | 2 +- .../cache/query/GridCacheQueryManager.java | 2 +- .../continuous/CacheContinuousQueryHandler.java | 9 +- .../cache/transactions/IgniteInternalTx.java | 2 +- .../cache/transactions/IgniteTxAdapter.java | 13 +- .../cache/transactions/IgniteTxHandler.java | 26 +- .../transactions/IgniteTxLocalAdapter.java | 10 +- .../cache/transactions/IgniteTxLocalEx.java | 7 +- .../cache/transactions/IgniteTxManager.java | 80 +-- .../odbc/odbc/OdbcConnectionContext.java | 6 +- .../processors/odbc/odbc/OdbcMessageParser.java | 17 +- .../odbc/odbc/OdbcQueryExecuteBatchResult.java | 16 +- .../odbc/odbc/OdbcRequestHandler.java | 54 +- .../processors/odbc/odbc/OdbcUtils.java | 24 +- .../processors/query/GridQueryProcessor.java | 30 +- .../timeout/GridTimeoutProcessor.java | 23 +- .../internal/util/future/GridFutureAdapter.java | 16 + .../ignite/spi/discovery/tcp/ServerImpl.java | 3 +- .../tcp/internal/TcpDiscoveryNode.java | 4 +- .../resources/META-INF/classnames.properties | 2 + .../processors/cache/CacheTxFastFinishTest.java | 9 +- .../cache/IgniteTxConfigCacheSelfTest.java | 14 + .../IgniteCacheThreadLocalTxTest.java | 223 +++++++ .../IgniteOptimisticTxSuspendResumeTest.java | 6 +- ...ionedMultiNodeLongTxTimeout2FullApiTest.java | 34 + .../cache/mvcc/CacheMvccTransactionsTest.java | 121 +++- .../IgnitePdsContinuousRestartTest.java | 45 +- ...ousRestartTestWithSharedGroupAndIndexes.java | 67 ++ ...ckpointSimulationWithRealCpDisabledTest.java | 4 +- .../file/IgnitePdsThreadInterruptionTest.java | 205 ++++++ .../db/wal/IgniteWalFlushFailoverTest.java | 22 +- .../db/wal/crc/IgniteDataIntegrityTests.java | 39 +- .../pagemem/BPlusTreePageMemoryImplTest.java | 4 +- .../BPlusTreeReuseListPageMemoryImplTest.java | 3 +- .../MetadataStoragePageMemoryImplTest.java | 4 +- .../pagemem/NoOpPageStoreManager.java | 2 +- .../pagemem/PageMemoryImplNoLoadTest.java | 4 +- .../persistence/pagemem/PageMemoryImplTest.java | 4 +- .../pagemem/PagesWriteThrottleSandboxTest.java | 264 ++++++++ .../pagemem/PagesWriteThrottleSmokeTest.java | 327 +++++++++ .../TxRollbackOnTimeoutNearCacheTest.java | 28 + ...ollbackOnTimeoutNoDeadlockDetectionTest.java | 47 ++ .../transactions/TxRollbackOnTimeoutTest.java | 655 +++++++++++++++++++ .../IgniteCacheFullApiSelfTestSuite.java | 2 + .../testsuites/IgniteCacheTestSuite6.java | 10 + .../ignite/testsuites/IgnitePdsTestSuite.java | 4 + .../ignite/testsuites/IgnitePdsTestSuite2.java | 3 + .../development/utils/IgniteWalConverter.java | 1 - .../hadoop/impl/HadoopTxConfigCacheTest.java | 4 +- .../processors/query/h2/IgniteH2Indexing.java | 9 + .../processors/query/h2/opt/GridH2Table.java | 2 + .../IgnitePersistentStoreSchemaLoadTest.java | 237 ++++--- .../IgnitePdsWithIndexingCoreTestSuite.java | 2 + modules/platforms/cpp/README.md | 222 +++++++ modules/platforms/cpp/odbc-test/Makefile.am | 1 + .../cpp/odbc-test/project/vs/odbc-test.vcxproj | 1 + .../project/vs/odbc-test.vcxproj.filters | 3 + .../platforms/cpp/odbc-test/src/errors_test.cpp | 289 ++++++++ .../platforms/cpp/odbc-test/src/parser_test.cpp | 4 +- .../cpp/odbc-test/src/queries_test.cpp | 16 +- modules/platforms/cpp/odbc/include/Makefile.am | 1 + .../cpp/odbc/include/ignite/odbc/common_types.h | 131 +++- .../ignite/odbc/diagnostic/diagnosable.h | 9 + .../odbc/diagnostic/diagnosable_adapter.h | 8 + .../cpp/odbc/include/ignite/odbc/message.h | 48 +- .../cpp/odbc/include/ignite/odbc/odbc_error.h | 94 +++ .../cpp/odbc/include/ignite/odbc/parser.h | 35 +- .../platforms/cpp/odbc/project/vs/odbc.vcxproj | 1 + .../cpp/odbc/project/vs/odbc.vcxproj.filters | 3 + modules/platforms/cpp/odbc/src/common_types.cpp | 51 ++ modules/platforms/cpp/odbc/src/connection.cpp | 25 +- .../odbc/src/diagnostic/diagnosable_adapter.cpp | 8 + .../odbc/src/diagnostic/diagnostic_record.cpp | 105 ++- modules/platforms/cpp/odbc/src/message.cpp | 37 +- .../cpp/odbc/src/query/batch_query.cpp | 13 +- .../odbc/src/query/column_metadata_query.cpp | 11 +- .../platforms/cpp/odbc/src/query/data_query.cpp | 31 +- .../cpp/odbc/src/query/table_metadata_query.cpp | 11 +- modules/platforms/cpp/odbc/src/statement.cpp | 11 +- .../Examples/Example.cs | 6 + modules/platforms/dotnet/README.md | 237 +++++-- .../Datagrid/EntryProcessorExample.cs | 4 + .../app/modules/agent/AgentManager.service.js | 8 +- .../ignite/console/demo/AgentMetadataDemo.java | 7 + 142 files changed, 5305 insertions(+), 813 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/db7534b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsSharedManager.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsSharedManager.java index f071141,d266bb3..893b1f9 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsSharedManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsSharedManager.java @@@ -571,10 -532,21 +584,16 @@@ public class CacheCoordinatorsSharedMan MvccCoordinatorVersionResponse res = new MvccCoordinatorVersionResponse(); - for (Long txVer : activeTxs.values()) + Long trackCntr = mvccCntr; + + for (Long txVer : activeTxs.values()) { + if (txVer < trackCntr) + trackCntr = txVer; + res.addTx(txVer); + } - Integer queries = activeQueries.get(trackCntr); - - if (queries != null) - activeQueries.put(trackCntr, queries + 1); - else - activeQueries.put(trackCntr, 1); + TestDebugLog.addEntryMessage(mvccCntr, res.activeTransactions(), "qry cntr"); res.init(futId, crdVer, mvccCntr, COUNTER_NA); http://git-wip-us.apache.org/repos/asf/ignite/blob/db7534b4/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccTransactionsTest.java ----------------------------------------------------------------------