Merge remote-tracking branch 'remotes/origin/master' into ignite-5272 # Conflicts: # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedSingleGetFuture.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/75ef7f3a Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/75ef7f3a Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/75ef7f3a Branch: refs/heads/ignite-5272 Commit: 75ef7f3a2f729f22c4233ff2bdf151599d1dba25 Parents: 8288f30 b843f07 Author: sboikov <[email protected]> Authored: Tue Jun 13 10:46:05 2017 +0300 Committer: sboikov <[email protected]> Committed: Tue Jun 13 10:46:05 2017 +0300 ---------------------------------------------------------------------- config/ignite-log4j.xml | 6 +- config/ignite-log4j2.xml | 6 +- .../ClientTcpUnreachableMultiNodeSelfTest.java | 6 +- modules/clients/src/test/resources/log4j.xml | 2 +- .../apache/ignite/IgniteSystemProperties.java | 6 + .../configuration/IgniteConfiguration.java | 6 + .../org/apache/ignite/internal/GridTopic.java | 6 +- .../ignite/internal/IgniteDiagnosticAware.java | 28 ++ .../ignite/internal/IgniteDiagnosticInfo.java | 45 ++ .../internal/IgniteDiagnosticMessage.java | 467 +++++++++++++++++++ .../IgniteDiagnosticPrepareContext.java | 279 +++++++++++ .../apache/ignite/internal/IgniteKernal.java | 7 +- .../ignite/internal/binary/BinaryContext.java | 1 - .../ignite/internal/binary/BinaryFieldEx.java | 5 + .../ignite/internal/binary/BinaryFieldImpl.java | 5 + .../ignite/internal/client/GridClientNode.java | 9 +- .../client/impl/GridClientNodeImpl.java | 22 +- .../connection/GridClientNioTcpConnection.java | 3 +- .../managers/communication/GridIoManager.java | 2 +- .../communication/GridIoMessageFactory.java | 8 +- .../processors/GridProcessorAdapter.java | 10 + .../cache/CacheAffinitySharedManager.java | 3 +- .../processors/cache/ClusterCachesInfo.java | 30 +- .../processors/cache/GridCacheAttributes.java | 17 +- .../processors/cache/GridCacheIoManager.java | 35 ++ .../GridCachePartitionExchangeManager.java | 136 ++++-- .../cache/GridCacheSharedManagerAdapter.java | 9 + .../GridDistributedTxPrepareRequest.java | 14 +- .../GridDistributedTxPrepareResponse.java | 2 +- .../distributed/dht/GridDhtCacheAdapter.java | 1 + .../distributed/dht/GridDhtCacheEntry.java | 30 +- .../dht/GridDhtTransactionalCacheAdapter.java | 3 +- .../distributed/dht/GridDhtTxLocalAdapter.java | 5 +- .../distributed/dht/GridDhtTxPrepareFuture.java | 42 +- .../dht/GridPartitionedSingleGetFuture.java | 37 +- .../GridDhtAtomicAbstractUpdateFuture.java | 76 ++- .../GridDhtAtomicAbstractUpdateRequest.java | 22 +- .../dht/atomic/GridDhtAtomicCache.java | 43 +- .../atomic/GridDhtAtomicSingleUpdateFuture.java | 6 +- .../GridDhtAtomicSingleUpdateRequest.java | 14 + .../dht/atomic/GridDhtAtomicUpdateFuture.java | 4 +- ...idNearAtomicAbstractSingleUpdateRequest.java | 19 +- .../GridNearAtomicAbstractUpdateFuture.java | 200 ++++++-- .../GridNearAtomicAbstractUpdateRequest.java | 85 +++- .../atomic/GridNearAtomicFullUpdateRequest.java | 24 +- ...GridNearAtomicSingleUpdateFilterRequest.java | 23 +- .../GridNearAtomicSingleUpdateFuture.java | 42 +- ...GridNearAtomicSingleUpdateInvokeRequest.java | 23 +- .../GridNearAtomicSingleUpdateRequest.java | 20 +- .../dht/atomic/GridNearAtomicUpdateFuture.java | 46 +- .../atomic/GridNearAtomicUpdateResponse.java | 24 +- .../colocated/GridDhtColocatedLockFuture.java | 88 +++- .../GridDhtPartitionsExchangeFuture.java | 48 +- .../distributed/near/GridNearGetRequest.java | 1 - .../distributed/near/GridNearLockFuture.java | 1 + .../distributed/near/GridNearLockRequest.java | 13 +- .../near/GridNearTxFinishFuture.java | 11 +- .../near/GridNearTxPrepareFutureAdapter.java | 5 +- .../near/GridNearTxPrepareResponse.java | 14 + .../cache/transactions/IgniteTxEntry.java | 8 + .../cache/transactions/IgniteTxHandler.java | 2 + .../IgniteTxImplicitSingleStateImpl.java | 11 - .../cache/transactions/IgniteTxLocalState.java | 10 - .../IgniteTxRemoteStateAdapter.java | 7 - .../cache/transactions/IgniteTxState.java | 6 - .../cache/transactions/IgniteTxStateImpl.java | 32 -- .../processors/cluster/ClusterProcessor.java | 305 +++++++++++- .../PlatformDotNetConfigurationClosure.java | 8 +- .../utils/PlatformConfigurationUtils.java | 8 + .../query/DynamicTableAffinityKeyMapper.java | 92 ++++ .../processors/query/GridQueryProcessor.java | 59 ++- .../internal/processors/query/QueryUtils.java | 19 +- .../rest/client/message/GridClientNodeBean.java | 25 + .../top/GridTopologyCommandHandler.java | 1 + .../ignite/internal/util/nio/GridNioServer.java | 212 ++++++--- .../visor/cache/VisorCacheConfiguration.java | 13 + .../visor/query/VisorQueryIndexField.java | 32 +- .../communication/tcp/TcpCommunicationSpi.java | 185 +++++--- modules/core/src/test/config/log4j-test.xml | 6 +- modules/core/src/test/config/log4j2-test.xml | 6 +- .../src/test/config/log4j2-verbose-test.xml | 4 +- .../managers/IgniteDiagnosticMessagesTest.java | 255 ++++++++++ .../processors/cache/IgniteCacheGroupsTest.java | 98 ++-- .../IgniteOnePhaseCommitNearReadersTest.java | 270 +++++++++++ .../atomic/IgniteCacheAtomicProtocolTest.java | 128 +++++ .../loadtest/GridSingleExecutionTest.java | 4 +- .../cache/GridCacheAbstractLoadTest.java | 4 +- .../platform/PlatformComputeEchoTask.java | 4 +- .../testframework/junits/GridAbstractTest.java | 4 +- .../junits/logger/GridTestLog4jLogger.java | 4 +- .../ignite/testsuites/IgniteBasicTestSuite.java | 6 +- .../testsuites/IgniteCacheTestSuite2.java | 3 + .../testsuites/IgniteCacheTestSuite3.java | 4 +- .../query/h2/ddl/DdlStatementsProcessor.java | 5 +- .../processors/query/h2/opt/GridH2Table.java | 5 +- .../query/h2/sql/GridSqlCreateTable.java | 37 +- .../processors/query/h2/sql/GridSqlJoin.java | 7 + .../query/h2/sql/GridSqlQueryParser.java | 54 +++ .../query/h2/sql/GridSqlQuerySplitter.java | 82 +++- .../h2/twostep/msg/GridH2IndexRangeRequest.java | 2 + .../cache/index/H2DynamicTableSelfTest.java | 212 ++++++++- .../query/IgniteSqlSplitterSelfTest.java | 50 ++ .../apache/ignite/logger/log4j/Log4JLogger.java | 4 +- .../log4j/GridLog4jCorrectFileNameTest.java | 2 +- .../ignite/logger/log4j2/Log4J2Logger.java | 2 +- .../impls/matrix/SparseDistributedMatrix.java | 9 - .../matrix/SparseDistributedMatrixTest.java | 9 - .../Binary/BinaryCompactFooterInteropTest.cs | 8 +- .../Binary/BinaryDynamicRegistrationTest.cs | 7 +- .../Cache/CacheConfigurationTest.cs | 10 + .../Cache/Query/CacheDmlQueriesTest.cs | 197 +++++++- .../Compute/ComputeApiTest.cs | 25 +- .../Config/Log/dotnet-log4j.xml | 2 +- .../IgniteConfigurationSerializerTest.cs | 11 +- .../IgniteConfigurationTest.cs | 4 + .../Cache/Configuration/CacheConfiguration.cs | 23 + .../Datastream/IDataStreamer.cs | 8 +- .../Apache.Ignite.Core/IgniteConfiguration.cs | 20 + .../IgniteConfigurationSection.xsd | 12 + .../Impl/Binary/BinaryArrayEqualityComparer.cs | 6 +- .../Impl/Binary/BinaryObjectHeader.cs | 8 + .../commands/cache/VisorCacheCommand.scala | 1 + .../src/main/java/log4j.properties | 2 +- modules/web-console/backend/.gitignore | 1 + modules/web-console/backend/app/mongo.js | 1 + modules/web-console/frontend/.gitignore | 1 + .../generator/ConfigurationGenerator.js | 8 +- .../states/configuration/caches/general.pug | 4 + .../frontend/controllers/domains-controller.js | 169 +++---- .../views/configuration/domains-import.tpl.pug | 4 +- .../apache/ignite/console/agent/AgentUtils.java | 24 +- .../ignite/console/agent/db/DbColumn.java | 17 +- .../ignite/console/agent/db/DbSchema.java | 60 +++ .../apache/ignite/console/agent/db/DbTable.java | 21 +- .../db/dialect/DatabaseMetadataDialect.java | 27 +- .../agent/db/dialect/JdbcMetadataDialect.java | 42 +- .../agent/db/dialect/OracleMetadataDialect.java | 116 ++++- .../console/agent/handlers/ClusterListener.java | 28 +- .../agent/handlers/DatabaseListener.java | 18 +- .../src/main/resources/log4j.properties | 6 +- .../yardstick/cache/load/model/ModelUtil.java | 1 + 141 files changed, 4391 insertions(+), 961 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/75ef7f3a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/75ef7f3a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/75ef7f3a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/75ef7f3a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/75ef7f3a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/75ef7f3a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/75ef7f3a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java index 5566e94,62618f8..e910386 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java @@@ -150,29 -143,73 +144,82 @@@ public abstract class GridNearAtomicAbs this.op = op; this.subjId = subjId; this.taskNameHash = taskNameHash; + this.flags = flags; this.addDepInfo = addDepInfo; + } + + /** + * @param nearCache {@code True} if near cache enabled on originating node. + * @param topLocked Topology locked flag. + * @param retval Return value required flag. + * @param affMapping {@code True} if originating node detected that rebalancing finished and + * expects that update is mapped using current affinity. + * @param needPrimaryRes {@code True} if near node waits for primary response. + * @param skipStore Skip write-through to a CacheStore flag. + * @param keepBinary Keep binary flag. + * @param recovery Recovery mode flag. + * @return Flags. + */ + static byte flags( + boolean nearCache, + boolean topLocked, + boolean retval, + boolean affMapping, + boolean needPrimaryRes, + boolean skipStore, + boolean keepBinary, + boolean recovery) { + byte flags = 0; + + if (nearCache) + flags |= NEAR_CACHE_FLAG_MASK; - if (needPrimaryRes) - needPrimaryResponse(true); if (topLocked) - topologyLocked(true); + flags |= TOP_LOCKED_FLAG_MASK; + if (retval) - returnValue(true); + flags |= RET_VAL_FLAG_MASK; + + if (affMapping) + flags |= AFFINITY_MAPPING_FLAG_MASK; + + if (needPrimaryRes) + flags |= NEED_PRIMARY_RES_FLAG_MASK; + if (skipStore) - skipStore(true); + flags |= SKIP_STORE_FLAG_MASK; + if (keepBinary) - keepBinary(true); + flags |= KEEP_BINARY_FLAG_MASK; + if (recovery) - recovery(true); + flags |= RECOVERY_FLAG_MASK; + + return flags; + } + + /** + * @return {@code True} if originating node detected that rebalancing finished and + * expects that update is mapped using current affinity. + */ + boolean affinityMapping() { + return isFlag(AFFINITY_MAPPING_FLAG_MASK); + } + + /** + * @return {@code True} if near cache is enabled on node initiated operation. + */ + public boolean nearCache() { + return isFlag(NEAR_CACHE_FLAG_MASK); + if (nearCache) + setFlag(true, NEAR_CACHE_FLAG_MASK); + } + + /** + * @return {@code True} if near cache is enabled on node initiated operation. + */ + public boolean nearCache() { + return isFlag(NEAR_CACHE_FLAG_MASK); } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/75ef7f3a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicFullUpdateRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/75ef7f3a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFilterRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/75ef7f3a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/75ef7f3a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateInvokeRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/75ef7f3a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/75ef7f3a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java index b299db0,190ed3f..dc39888 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java @@@ -1008,9 -1004,17 +1004,18 @@@ public class GridNearAtomicUpdateFutur PrimaryRequestState mapped = pendingMappings.get(nodeId); if (mapped == null) { + byte flags = GridNearAtomicAbstractUpdateRequest.flags(nearEnabled, + topLocked, + retval, + mappingKnown, + needPrimaryRes, + skipStore, + keepBinary, + recovery); + GridNearAtomicFullUpdateRequest req = new GridNearAtomicFullUpdateRequest( cctx.cacheId(), + nearEnabled, nodeId, futId, topVer, http://git-wip-us.apache.org/repos/asf/ignite/blob/75ef7f3a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java ----------------------------------------------------------------------
