You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2016/02/15 08:52:07 UTC
[23/50] [abbrv] ignite git commit: Merge branch 'ignite-1.5' of
https://git-wip-us.apache.org/repos/asf/ignite into ignite-split2
Merge branch 'ignite-1.5' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-split2
# Conflicts:
# modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
# modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
# modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
# modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteBinaryCacheQueryTestSuite.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/dddb817b
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/dddb817b
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/dddb817b
Branch: refs/heads/ignite-1232
Commit: dddb817bb77ca263f76291517466541bc1238c0c
Parents: 16242b7 a3a8138
Author: S.Vladykin <sv...@gridgain.com>
Authored: Mon Dec 14 21:12:05 2015 +0300
Committer: S.Vladykin <sv...@gridgain.com>
Committed: Mon Dec 14 21:12:05 2015 +0300
----------------------------------------------------------------------
.gitignore | 1 +
assembly/docfiles/ignite_logo.png | Bin 0 -> 24315 bytes
assembly/release-fabric-base.xml | 31 +-
bin/ignite.bat | 7 +-
bin/include/parseargs.bat | 4 +-
examples/pom.xml | 2 +-
examples/schema-import/README.txt | 2 +-
examples/schema-import/pom.xml | 2 +-
.../java/org/apache/ignite/schema/Demo.java | 6 +-
...ComputeClientBinaryTaskExecutionExample.java | 4 +-
.../CacheClientBinaryPutGetExample.java | 8 +-
.../datagrid/CacheClientBinaryQueryExample.java | 15 +-
.../store/auto/CacheBinaryAutoStoreExample.java | 38 +-
.../examples/datagrid/CacheQueryExample.java | 6 +
.../datagrid/CacheTransactionExample.java | 4 +-
.../starschema/CacheStarSchemaExample.java | 9 +-
.../store/auto/CacheAutoStoreExample.java | 81 +-
.../messaging/MessagingPingPongExample.java | 4 -
.../ignite/examples/model/Organization.java | 16 +-
.../apache/ignite/examples/model/Person.java | 40 +-
.../ignite/examples/util/DbH2ServerStartup.java | 31 +-
.../examples/CacheClientBinaryExampleTest.java | 46 +
.../CacheClientPortableExampleTest.java | 46 -
.../ComputeClientBinaryExampleTest.java | 37 +
.../ComputeClientPortableExampleTest.java | 37 -
.../testsuites/IgniteExamplesSelfTestSuite.java | 15 +-
.../examples/MessagingExamplesSelfTest.java | 2 -
modules/aop/pom.xml | 2 +-
.../apache/ignite/gridify/AbstractAopTest.java | 32 +-
modules/apache-license-gen/pom.xml | 2 +-
modules/aws/pom.xml | 2 +-
modules/camel/pom.xml | 2 +-
modules/clients/pom.xml | 62 +-
.../client/impl/ClientCacheFlagsCodecTest.java | 8 +-
.../src/test/resources/spring-server-node.xml | 8 +-
.../test/resources/spring-server-ssl-node.xml | 8 +-
modules/cloud/pom.xml | 2 +-
modules/codegen/pom.xml | 2 +-
.../ignite/codegen/MessageCodeGenerator.java | 1 +
modules/core/pom.xml | 10 +-
.../java/org/apache/ignite/IgniteBinary.java | 124 +-
.../java/org/apache/ignite/IgniteCache.java | 8 +-
.../main/java/org/apache/ignite/Ignition.java | 18 +-
.../ignite/binary/BinaryCollectionFactory.java | 33 +
.../apache/ignite/binary/BinaryMapFactory.java | 33 +
.../apache/ignite/binary/BinaryRawReader.java | 8 +-
.../org/apache/ignite/binary/BinaryReader.java | 13 +-
.../org/apache/ignite/cache/QueryEntity.java | 3 +-
.../affinity/AffinityNodeHashResolver.java | 6 +-
.../store/jdbc/CacheAbstractJdbcStore.java | 5 +-
.../cache/store/jdbc/CacheJdbcPojoStore.java | 2 +-
.../configuration/BinaryConfiguration.java | 4 +-
.../configuration/CacheConfiguration.java | 5 +-
.../configuration/IgniteConfiguration.java | 4 +-
.../configuration/TransactionConfiguration.java | 47 +-
.../apache/ignite/internal/GridComponent.java | 3 +-
.../ignite/internal/GridKernalContextImpl.java | 2 +-
.../ignite/internal/GridPluginComponent.java | 4 +-
.../apache/ignite/internal/IgniteKernal.java | 52 +-
.../ignite/internal/IgniteNodeAttributes.java | 4 +-
.../org/apache/ignite/internal/IgnitionEx.java | 65 +-
.../ignite/internal/MarshallerContextImpl.java | 23 +-
.../binary/BinaryCachingMetadataHandler.java | 70 +
.../internal/binary/BinaryClassDescriptor.java | 813 ++++
.../ignite/internal/binary/BinaryContext.java | 1102 +++++
.../ignite/internal/binary/BinaryEnumCache.java | 69 +
.../internal/binary/BinaryEnumObjectImpl.java | 311 ++
.../internal/binary/BinaryFieldAccessor.java | 856 ++++
.../ignite/internal/binary/BinaryFieldImpl.java | 116 +
.../internal/binary/BinaryInternalIdMapper.java | 161 +
.../internal/binary/BinaryMarshaller.java | 142 +
.../ignite/internal/binary/BinaryMetadata.java | 263 ++
.../binary/BinaryMetadataCollector.java | 277 ++
.../internal/binary/BinaryMetadataHandler.java | 44 +
.../binary/BinaryNoopMetadataHandler.java | 53 +
.../ignite/internal/binary/BinaryObjectEx.java | 30 +
.../internal/binary/BinaryObjectExImpl.java | 251 ++
.../internal/binary/BinaryObjectImpl.java | 569 +++
.../binary/BinaryObjectOffheapImpl.java | 417 ++
.../internal/binary/BinaryPositionReadable.java | 47 +
.../internal/binary/BinaryPrimitives.java | 382 ++
.../internal/binary/BinaryRawReaderEx.java | 33 +
.../internal/binary/BinaryRawWriterEx.java | 60 +
.../internal/binary/BinaryReaderExImpl.java | 2028 +++++++++
.../internal/binary/BinaryReaderHandles.java | 108 +
.../binary/BinaryReaderHandlesHolder.java | 46 +
.../binary/BinaryReaderHandlesHolderImpl.java | 44 +
.../ignite/internal/binary/BinarySchema.java | 494 +++
.../internal/binary/BinarySchemaRegistry.java | 172 +
.../binary/BinaryThreadLocalContext.java | 69 +
.../ignite/internal/binary/BinaryTypeImpl.java | 93 +
.../ignite/internal/binary/BinaryUtils.java | 1864 ++++++++
.../ignite/internal/binary/BinaryWriteMode.java | 178 +
.../internal/binary/BinaryWriterExImpl.java | 1768 ++++++++
.../internal/binary/BinaryWriterHandles.java | 101 +
.../binary/BinaryWriterSchemaHolder.java | 148 +
.../internal/binary/GridBinaryMarshaller.java | 286 ++
.../binary/builder/BinaryAbstractLazyValue.java | 57 +
.../binary/builder/BinaryBuilderEnum.java | 115 +
.../binary/builder/BinaryBuilderReader.java | 846 ++++
.../BinaryBuilderSerializationAware.java | 31 +
.../binary/builder/BinaryBuilderSerializer.java | 217 +
.../builder/BinaryEnumArrayLazyValue.java | 113 +
.../binary/builder/BinaryLazyArrayList.java | 167 +
.../binary/builder/BinaryLazyLinkedList.java | 218 +
.../internal/binary/builder/BinaryLazyMap.java | 221 +
.../internal/binary/builder/BinaryLazySet.java | 92 +
.../binary/builder/BinaryLazyValue.java | 28 +
.../builder/BinaryModifiableLazyValue.java | 52 +
.../builder/BinaryObjectArrayLazyValue.java | 90 +
.../binary/builder/BinaryObjectBuilderImpl.java | 572 +++
.../binary/builder/BinaryPlainBinaryObject.java | 53 +
.../binary/builder/BinaryPlainLazyValue.java | 49 +
.../binary/builder/BinaryValueWithType.java | 76 +
.../internal/binary/builder/package-info.java | 22 +
.../ignite/internal/binary/package-info.java | 22 +
.../streams/BinaryAbstractInputStream.java | 379 ++
.../streams/BinaryAbstractOutputStream.java | 347 ++
.../binary/streams/BinaryAbstractStream.java | 80 +
.../binary/streams/BinaryHeapInputStream.java | 166 +
.../binary/streams/BinaryHeapOutputStream.java | 176 +
.../binary/streams/BinaryInputStream.java | 162 +
.../binary/streams/BinaryMemoryAllocator.java | 57 +
.../streams/BinaryMemoryAllocatorChunk.java | 117 +
.../streams/BinaryOffheapInputStream.java | 144 +
.../streams/BinaryOffheapOutputStream.java | 222 +
.../binary/streams/BinaryOutputStream.java | 259 ++
.../internal/binary/streams/BinaryStream.java | 53 +
.../internal/binary/streams/package-info.java | 22 +
.../internal/client/GridClientCacheFlag.java | 10 +-
.../internal/client/GridClientCompute.java | 4 +-
.../client/GridClientConfiguration.java | 4 +-
.../client/impl/GridClientComputeImpl.java | 20 +-
.../impl/connection/GridClientConnection.java | 6 +-
.../GridClientConnectionManagerAdapter.java | 6 +-
.../connection/GridClientNioTcpConnection.java | 34 +-
.../internal/direct/DirectMessageWriter.java | 108 +-
.../internal/managers/GridManagerAdapter.java | 5 +-
.../managers/communication/GridIoManager.java | 3 +-
.../communication/GridIoMessageFactory.java | 12 +-
.../deployment/GridDeploymentManager.java | 5 +-
.../portable/BinaryCachingMetadataHandler.java | 70 -
.../internal/portable/BinaryEnumCache.java | 69 -
.../internal/portable/BinaryEnumObjectImpl.java | 311 --
.../internal/portable/BinaryFieldAccessor.java | 866 ----
.../internal/portable/BinaryFieldImpl.java | 116 -
.../portable/BinaryInternalIdMapper.java | 161 -
.../internal/portable/BinaryMarshaller.java | 142 -
.../internal/portable/BinaryMetadata.java | 180 -
.../portable/BinaryMetadataCollector.java | 277 --
.../portable/BinaryMetadataHandler.java | 44 -
.../portable/BinaryNoopMetadataHandler.java | 53 -
.../internal/portable/BinaryObjectEx.java | 30 -
.../internal/portable/BinaryObjectExImpl.java | 251 --
.../internal/portable/BinaryObjectImpl.java | 580 ---
.../portable/BinaryObjectOffheapImpl.java | 429 --
.../internal/portable/BinaryRawReaderEx.java | 33 -
.../internal/portable/BinaryRawWriterEx.java | 60 -
.../internal/portable/BinaryReaderExImpl.java | 2020 ---------
.../internal/portable/BinaryReaderHandles.java | 108 -
.../portable/BinaryReaderHandlesHolder.java | 46 -
.../portable/BinaryReaderHandlesHolderImpl.java | 44 -
.../portable/BinaryThreadLocalContext.java | 69 -
.../internal/portable/BinaryTypeImpl.java | 93 -
.../internal/portable/BinaryWriteMode.java | 181 -
.../internal/portable/BinaryWriterExImpl.java | 1833 --------
.../internal/portable/BinaryWriterHandles.java | 101 -
.../portable/BinaryWriterSchemaHolder.java | 148 -
.../portable/GridPortableMarshaller.java | 307 --
.../portable/PortableClassDescriptor.java | 814 ----
.../internal/portable/PortableContext.java | 1112 -----
.../portable/PortablePositionReadable.java | 47 -
.../internal/portable/PortablePrimitives.java | 382 --
.../internal/portable/PortableSchema.java | 466 --
.../portable/PortableSchemaRegistry.java | 172 -
.../ignite/internal/portable/PortableUtils.java | 1979 ---------
.../builder/BinaryObjectBuilderImpl.java | 580 ---
.../builder/PortableAbstractLazyValue.java | 57 -
.../portable/builder/PortableBuilderEnum.java | 116 -
.../portable/builder/PortableBuilderReader.java | 859 ----
.../PortableBuilderSerializationAware.java | 31 -
.../builder/PortableBuilderSerializer.java | 222 -
.../builder/PortableEnumArrayLazyValue.java | 114 -
.../portable/builder/PortableLazyArrayList.java | 166 -
.../builder/PortableLazyLinkedList.java | 217 -
.../portable/builder/PortableLazyMap.java | 220 -
.../portable/builder/PortableLazyMapEntry.java | 68 -
.../portable/builder/PortableLazySet.java | 92 -
.../portable/builder/PortableLazyValue.java | 28 -
.../builder/PortableModifiableLazyValue.java | 52 -
.../builder/PortableObjectArrayLazyValue.java | 91 -
.../builder/PortablePlainLazyValue.java | 49 -
.../builder/PortablePlainPortableObject.java | 53 -
.../portable/builder/PortableValueWithType.java | 76 -
.../internal/portable/builder/package-info.java | 22 -
.../ignite/internal/portable/package-info.java | 22 -
.../streams/PortableAbstractInputStream.java | 379 --
.../streams/PortableAbstractOutputStream.java | 347 --
.../streams/PortableAbstractStream.java | 80 -
.../streams/PortableHeapInputStream.java | 166 -
.../streams/PortableHeapOutputStream.java | 176 -
.../portable/streams/PortableInputStream.java | 162 -
.../streams/PortableMemoryAllocator.java | 57 -
.../streams/PortableMemoryAllocatorChunk.java | 117 -
.../streams/PortableOffheapInputStream.java | 144 -
.../streams/PortableOffheapOutputStream.java | 222 -
.../portable/streams/PortableOutputStream.java | 259 --
.../portable/streams/PortableStream.java | 53 -
.../internal/portable/streams/package-info.java | 22 -
.../processors/GridProcessorAdapter.java | 5 +-
.../CacheDefaultBinaryAffinityKeyMapper.java | 10 +-
.../processors/cache/CacheInvokeEntry.java | 10 +-
.../processors/cache/CacheLazyEntry.java | 34 +-
.../processors/cache/CacheObjectContext.java | 74 +-
.../processors/cache/CacheOperationContext.java | 12 +-
.../processors/cache/GridCacheAdapter.java | 168 +-
.../cache/GridCacheConcurrentMap.java | 736 +---
.../processors/cache/GridCacheContext.java | 44 +-
.../processors/cache/GridCacheEntryEx.java | 8 +-
.../processors/cache/GridCacheEventManager.java | 24 +-
.../processors/cache/GridCacheIoManager.java | 5 +-
.../processors/cache/GridCacheMapEntry.java | 98 +-
.../cache/GridCacheMapEntryFactory.java | 13 +-
.../cache/GridCacheOffheapSwapEntry.java | 4 +-
.../processors/cache/GridCacheProcessor.java | 45 +-
.../processors/cache/GridCacheProxyImpl.java | 2 +-
.../processors/cache/GridCacheReturn.java | 10 +-
.../processors/cache/IgniteCacheProxy.java | 36 +-
.../processors/cache/IgniteInternalCache.java | 48 +-
.../cache/binary/BinaryMetadataKey.java | 82 +
.../CacheDefaultBinaryAffinityKeyMapper.java | 51 +
.../cache/binary/CacheObjectBinaryContext.java | 56 +
.../binary/CacheObjectBinaryProcessor.java | 106 +
.../binary/CacheObjectBinaryProcessorImpl.java | 911 ++++
.../cache/binary/IgniteBinaryImpl.java | 178 +
.../processors/cache/binary/package-info.java | 22 +
.../CacheDataStructuresManager.java | 11 +-
.../distributed/GridDistributedCacheEntry.java | 14 +-
.../distributed/GridDistributedLockRequest.java | 2 +-
.../dht/CacheDistributedGetFutureAdapter.java | 10 +-
.../dht/GridDhtAffinityAssignmentResponse.java | 2 +-
.../distributed/dht/GridDhtCacheAdapter.java | 21 +-
.../distributed/dht/GridDhtCacheEntry.java | 14 +-
.../cache/distributed/dht/GridDhtGetFuture.java | 4 +-
.../dht/GridDhtOffHeapCacheEntry.java | 15 +-
.../distributed/dht/GridDhtTxPrepareFuture.java | 2 +-
.../distributed/dht/GridNoStorageCacheMap.java | 4 +-
.../dht/GridPartitionedGetFuture.java | 14 +-
.../dht/GridPartitionedSingleGetFuture.java | 26 +-
.../dht/atomic/GridDhtAtomicCache.java | 49 +-
.../dht/atomic/GridDhtAtomicCacheEntry.java | 16 +-
.../atomic/GridDhtAtomicOffHeapCacheEntry.java | 15 +-
.../dht/atomic/GridDhtAtomicUpdateRequest.java | 4 +-
.../dht/atomic/GridNearAtomicUpdateFuture.java | 4 +-
.../dht/atomic/GridNearAtomicUpdateRequest.java | 4 +-
.../dht/colocated/GridDhtColocatedCache.java | 49 +-
.../colocated/GridDhtColocatedCacheEntry.java | 14 +-
.../GridDhtColocatedOffHeapCacheEntry.java | 15 +-
.../colocated/GridDhtDetachedCacheEntry.java | 4 +-
.../GridDhtPartitionsExchangeFuture.java | 4 +-
.../preloader/GridDhtPartitionsFullMessage.java | 8 +-
.../distributed/near/GridNearAtomicCache.java | 10 +-
.../distributed/near/GridNearCacheAdapter.java | 18 +-
.../distributed/near/GridNearCacheEntry.java | 22 +-
.../distributed/near/GridNearGetFuture.java | 22 +-
.../near/GridNearOffHeapCacheEntry.java | 15 +-
.../near/GridNearTransactionalCache.java | 12 +-
.../cache/distributed/near/GridNearTxLocal.java | 6 +-
.../cache/jta/CacheJtaManagerAdapter.java | 4 +-
.../processors/cache/local/GridLocalCache.java | 8 +-
.../cache/local/GridLocalCacheEntry.java | 15 +-
.../local/atomic/GridLocalAtomicCache.java | 82 +-
.../CacheDefaultPortableAffinityKeyMapper.java | 51 -
.../portable/CacheObjectBinaryProcessor.java | 106 -
.../CacheObjectBinaryProcessorImpl.java | 904 ----
.../portable/CacheObjectPortableContext.java | 56 -
.../cache/portable/IgniteBinaryImpl.java | 178 -
.../cache/portable/PortableMetadataKey.java | 82 -
.../processors/cache/portable/package-info.java | 22 -
.../query/GridCacheDistributedQueryManager.java | 8 +-
.../cache/query/GridCacheQueryAdapter.java | 32 +-
.../query/GridCacheQueryFutureAdapter.java | 4 +-
.../cache/query/GridCacheQueryManager.java | 64 +-
.../cache/query/GridCacheQueryRequest.java | 22 +-
.../continuous/CacheContinuousQueryEvent.java | 8 +-
.../cache/store/CacheOsStoreManager.java | 12 +-
.../cache/store/CacheStoreManager.java | 10 +-
.../store/GridCacheStoreManagerAdapter.java | 18 +-
.../transactions/IgniteTxLocalAdapter.java | 44 +-
.../cache/transactions/IgniteTxLocalEx.java | 6 +-
.../cacheobject/IgniteCacheObjectProcessor.java | 16 +-
.../IgniteCacheObjectProcessorImpl.java | 6 +-
.../processors/cacheobject/NoOpBinary.java | 2 +-
.../datastreamer/DataStreamerEntry.java | 6 +-
.../datastructures/DataStructuresProcessor.java | 165 +-
.../GridTransactionalCacheQueueImpl.java | 32 +-
.../jobmetrics/GridJobMetricsProcessor.java | 8 +-
.../platform/PlatformAbstractPredicate.java | 6 +-
.../platform/PlatformAbstractTarget.java | 20 +-
.../processors/platform/PlatformContext.java | 10 +-
.../platform/PlatformContextImpl.java | 27 +-
.../platform/PlatformExtendedException.java | 4 +-
.../platform/PlatformNoopProcessor.java | 4 +-
.../processors/platform/PlatformProcessor.java | 8 +-
.../platform/PlatformProcessorImpl.java | 38 +-
.../platform/cache/PlatformCache.java | 34 +-
.../cache/PlatformCacheEntryFilterImpl.java | 6 +-
.../cache/PlatformCacheEntryProcessorImpl.java | 16 +-
.../platform/cache/PlatformCacheIterator.java | 4 +-
.../PlatformCachePartialUpdateException.java | 16 +-
.../cache/affinity/PlatformAffinity.java | 6 +-
.../query/PlatformAbstractQueryCursor.java | 4 +-
.../PlatformContinuousQueryRemoteFilter.java | 4 +-
.../cache/query/PlatformFieldsQueryCursor.java | 4 +-
.../cache/query/PlatformQueryCursor.java | 4 +-
.../cache/store/PlatformCacheStoreCallback.java | 4 +-
.../callback/PlatformCallbackGateway.java | 8 +-
.../callback/PlatformCallbackUtils.java | 6 +-
.../platform/cluster/PlatformClusterGroup.java | 6 +-
.../cluster/PlatformClusterNodeFilterImpl.java | 6 +-
.../platform/compute/PlatformAbstractJob.java | 4 +-
.../platform/compute/PlatformAbstractTask.java | 4 +-
.../platform/compute/PlatformClosureJob.java | 4 +-
.../platform/compute/PlatformCompute.java | 20 +-
.../platform/compute/PlatformFullJob.java | 4 +-
.../platform/compute/PlatformFullTask.java | 6 +-
.../cpp/PlatformCppConfigurationClosure.java | 4 +-
.../datastreamer/PlatformDataStreamer.java | 15 +-
.../PlatformStreamReceiverImpl.java | 20 +-
.../dotnet/PlatformDotNetCacheStore.java | 18 +-
.../PlatformDotNetConfigurationClosure.java | 20 +-
.../dotnet/PlatformDotNetServiceImpl.java | 8 +-
.../events/PlatformEventFilterListenerImpl.java | 6 +-
.../platform/events/PlatformEvents.java | 4 +-
.../platform/memory/PlatformInputStream.java | 6 +-
.../platform/memory/PlatformOutputStream.java | 6 +-
.../messaging/PlatformMessageFilterImpl.java | 6 +-
.../messaging/PlatformMessageLocalFilter.java | 2 +-
.../platform/messaging/PlatformMessaging.java | 6 +-
.../services/PlatformAbstractService.java | 32 +-
.../platform/services/PlatformService.java | 6 +-
.../platform/services/PlatformServices.java | 32 +-
.../transactions/PlatformTransactions.java | 4 +-
.../platform/utils/PlatformFutureUtils.java | 4 +-
.../platform/utils/PlatformReaderBiClosure.java | 4 +-
.../platform/utils/PlatformReaderClosure.java | 4 +-
.../platform/utils/PlatformUtils.java | 6 +-
.../platform/utils/PlatformWriterBiClosure.java | 4 +-
.../platform/utils/PlatformWriterClosure.java | 4 +-
.../query/GridQueryCacheObjectsIterator.java | 14 +-
.../processors/query/GridQueryProcessor.java | 91 +-
.../message/GridClientBinaryMetaData.java | 71 +
.../message/GridClientPortableMetaData.java | 71 -
.../client/message/GridClientTaskRequest.java | 14 +-
.../internal/util/GridMessageCollection.java | 160 +
.../ignite/internal/util/IgniteUtils.java | 18 +-
.../internal/util/UUIDCollectionMessage.java | 42 +-
.../util/nio/GridNioBackPressureControl.java | 14 +-
.../ignite/internal/util/nio/GridNioServer.java | 11 +-
.../ignite/internal/visor/cache/VisorCache.java | 13 +
.../internal/visor/query/VisorQueryJob.java | 76 +-
.../internal/visor/query/VisorQueryUtils.java | 5 +-
.../internal/visor/util/VisorMimeTypes.java | 10 +-
.../marshaller/optimized/package-info.java | 2 +-
.../marshaller/portable/package-info.java | 22 -
.../PlatformDotNetBinaryConfiguration.java | 6 +-
.../dotnet/PlatformDotNetConfiguration.java | 8 +-
.../org/apache/ignite/spi/IgniteSpiThread.java | 10 +-
.../sharedfs/SharedFsCheckpointSpi.java | 4 +-
.../communication/tcp/TcpCommunicationSpi.java | 6 +-
.../ignite/spi/discovery/tcp/ServerImpl.java | 17 +-
.../TcpDiscoveryMulticastIpFinder.java | 106 +-
.../org/apache/ignite/thread/IgniteThread.java | 45 +-
.../ignite/thread/IgniteThreadPoolExecutor.java | 37 +-
.../java/org/jsr166/ConcurrentHashMap8.java | 2 +-
.../resources/META-INF/classnames.properties | 68 +-
.../core/src/main/resources/ignite.properties | 2 +-
.../ignite/binary/test1/1.1/test1-1.1.jar | Bin 0 -> 2548 bytes
.../ignite/binary/test1/1.1/test1-1.1.pom | 9 +
.../binary/test1/maven-metadata-local.xml | 12 +
.../ignite/binary/test2/1.1/test2-1.1.jar | Bin 0 -> 1361 bytes
.../ignite/binary/test2/1.1/test2-1.1.pom | 9 +
.../binary/test2/maven-metadata-local.xml | 12 +
...heJdbcPojoStoreBinaryMarshallerSelfTest.java | 2 +-
...eJdbcStoreAbstractMultithreadedSelfTest.java | 5 +-
...CacheJdbcBlobStoreMultithreadedSelfTest.java | 2 +-
.../GridEventStorageCheckAllEventsSelfTest.java | 22 +-
.../IgniteClientReconnectAbstractTest.java | 96 +-
.../IgniteClientReconnectAtomicsTest.java | 57 +
.../IgniteClientReconnectCacheTest.java | 15 +-
.../IgniteClientReconnectCollectionsTest.java | 51 +
.../internal/binary/BinaryEnumsSelfTest.java | 446 ++
.../binary/BinaryFieldsAbstractSelfTest.java | 718 +++
.../binary/BinaryFieldsHeapSelfTest.java | 30 +
.../binary/BinaryFieldsOffheapSelfTest.java | 60 +
.../BinaryFooterOffsetsAbstractSelfTest.java | 205 +
.../binary/BinaryFooterOffsetsHeapSelfTest.java | 30 +
.../BinaryFooterOffsetsOffheapSelfTest.java | 60 +
.../binary/BinaryMarshallerSelfTest.java | 4167 ++++++++++++++++++
.../BinaryObjectBuilderAdditionalSelfTest.java | 1264 ++++++
.../binary/BinaryObjectBuilderSelfTest.java | 1108 +++++
.../binary/GridBinaryAffinityKeySelfTest.java | 234 +
...GridBinaryMarshallerCtxDisabledSelfTest.java | 247 ++
.../binary/GridBinaryMetaDataSelfTest.java | 371 ++
.../binary/GridBinaryWildcardsSelfTest.java | 464 ++
.../binary/TestCachingMetadataHandler.java | 45 +
.../GridBinaryMarshalerAwareTestClass.java | 67 +
.../mutabletest/GridBinaryTestClasses.java | 484 ++
.../binary/mutabletest/package-info.java | 22 +
.../BinaryFieldsHeapNonCompactSelfTest.java | 30 +
.../BinaryFieldsOffheapNonCompactSelfTest.java | 30 +
...naryFooterOffsetsHeapNonCompactSelfTest.java | 30 +
...yFooterOffsetsOffheapNonCompactSelfTest.java | 30 +
.../BinaryMarshallerNonCompactSelfTest.java | 30 +
...jectBuilderAdditionalNonCompactSelfTest.java | 30 +
.../BinaryObjectBuilderNonCompactSelfTest.java | 30 +
.../ignite/internal/binary/package-info.java | 22 +
.../binary/test/GridBinaryTestClass1.java | 28 +
.../binary/test/GridBinaryTestClass2.java | 24 +
.../internal/binary/test/package-info.java | 22 +
.../test/subpackage/GridBinaryTestClass3.java | 24 +
.../binary/test/subpackage/package-info.java | 22 +
.../internal/portable/BinaryEnumsSelfTest.java | 446 --
.../portable/BinaryFieldsAbstractSelfTest.java | 718 ---
.../portable/BinaryFieldsHeapSelfTest.java | 30 -
.../portable/BinaryFieldsOffheapSelfTest.java | 60 -
.../BinaryFooterOffsetsAbstractSelfTest.java | 205 -
.../BinaryFooterOffsetsHeapSelfTest.java | 30 -
.../BinaryFooterOffsetsOffheapSelfTest.java | 60 -
.../portable/BinaryMarshallerSelfTest.java | 3877 ----------------
.../BinaryObjectBuilderAdditionalSelfTest.java | 1291 ------
.../portable/BinaryObjectBuilderSelfTest.java | 1103 -----
.../GridPortableAffinityKeySelfTest.java | 234 -
...idPortableMarshallerCtxDisabledSelfTest.java | 247 --
.../portable/GridPortableMetaDataSelfTest.java | 371 --
.../portable/GridPortableWildcardsSelfTest.java | 464 --
.../portable/TestCachingMetadataHandler.java | 45 -
.../GridBinaryMarshalerAwareTestClass.java | 67 -
.../mutabletest/GridPortableTestClasses.java | 443 --
.../portable/mutabletest/package-info.java | 22 -
.../BinaryFieldsHeapNonCompactSelfTest.java | 30 -
.../BinaryFieldsOffheapNonCompactSelfTest.java | 30 -
...naryFooterOffsetsHeapNonCompactSelfTest.java | 30 -
...yFooterOffsetsOffheapNonCompactSelfTest.java | 30 -
.../BinaryMarshallerNonCompactSelfTest.java | 30 -
...jectBuilderAdditionalNonCompactSelfTest.java | 30 -
.../BinaryObjectBuilderNonCompactSelfTest.java | 30 -
.../ignite/internal/portable/package-info.java | 22 -
.../portable/test/GridPortableTestClass1.java | 28 -
.../portable/test/GridPortableTestClass2.java | 24 -
.../internal/portable/test/package-info.java | 22 -
.../test/subpackage/GridPortableTestClass3.java | 24 -
.../portable/test/subpackage/package-info.java | 22 -
...cheAbstractFullApiMultithreadedSelfTest.java | 2 +-
.../cache/GridCacheAbstractFullApiSelfTest.java | 29 +-
.../cache/GridCacheAlwaysEvictionPolicy.java | 2 +-
...eAtomicEntryProcessorDeploymentSelfTest.java | 69 +-
.../cache/GridCacheConcurrentMapSelfTest.java | 11 -
.../GridCacheConditionalDeploymentSelfTest.java | 20 +-
.../cache/GridCacheDeploymentSelfTest.java | 22 +-
.../GridCacheOffHeapTieredAbstractSelfTest.java | 8 +-
.../GridCacheOnCopyFlagAbstractSelfTest.java | 6 +-
.../processors/cache/GridCacheTestEntryEx.java | 8 +-
.../IgniteCacheEntryListenerAbstractTest.java | 8 +-
.../IgniteCacheStoreValueAbstractTest.java | 6 +-
.../IgniteStartCacheInTransactionSelfTest.java | 8 +
...gniteTopologyValidatorAbstractCacheTest.java | 18 +-
...iteTopologyValidatorAbstractTxCacheTest.java | 1 -
.../IgniteTxExceptionAbstractSelfTest.java | 59 +-
.../GridBinaryCacheEntryMemorySizeSelfTest.java | 48 +
...ryDuplicateIndexObjectsAbstractSelfTest.java | 161 +
...yAtomicEntryProcessorDeploymentSelfTest.java | 129 +
...naryObjectsAbstractDataStreamerSelfTest.java | 192 +
...aryObjectsAbstractMultiThreadedSelfTest.java | 241 +
.../GridCacheBinaryObjectsAbstractSelfTest.java | 981 +++++
.../GridCacheBinaryStoreAbstractSelfTest.java | 300 ++
.../GridCacheBinaryStoreBinariesSelfTest.java | 66 +
.../GridCacheBinaryStoreObjectsSelfTest.java | 55 +
...ctionalEntryProcessorDeploymentSelfTest.java | 31 +
...ntNodeBinaryObjectMetadataMultinodeTest.java | 295 ++
...CacheClientNodeBinaryObjectMetadataTest.java | 221 +
.../DataStreamProcessorBinarySelfTest.java | 71 +
.../GridDataStreamerImplSelfTest.java | 345 ++
.../GridCacheAffinityRoutingBinarySelfTest.java | 54 +
...OnlyBinaryDataStreamerMultiNodeSelfTest.java | 29 +
...BinaryDataStreamerMultithreadedSelfTest.java | 47 +
...cPartitionedOnlyBinaryMultiNodeSelfTest.java | 28 +
...titionedOnlyBinaryMultithreadedSelfTest.java | 47 +
...sNearPartitionedByteArrayValuesSelfTest.java | 41 +
...sPartitionedOnlyByteArrayValuesSelfTest.java | 42 +
...ateIndexObjectPartitionedAtomicSelfTest.java | 38 +
...xObjectPartitionedTransactionalSelfTest.java | 41 +
...AtomicNearDisabledOffheapTieredSelfTest.java | 29 +
...BinaryObjectsAtomicNearDisabledSelfTest.java | 51 +
...inaryObjectsAtomicOffheapTieredSelfTest.java | 29 +
.../GridCacheBinaryObjectsAtomicSelfTest.java | 51 +
...tionedNearDisabledOffheapTieredSelfTest.java | 30 +
...yObjectsPartitionedNearDisabledSelfTest.java | 51 +
...ObjectsPartitionedOffheapTieredSelfTest.java | 30 +
...idCacheBinaryObjectsPartitionedSelfTest.java | 51 +
.../dht/GridCacheMemoryModeBinarySelfTest.java | 36 +
...dCacheOffHeapTieredAtomicBinarySelfTest.java | 48 +
.../GridCacheOffHeapTieredBinarySelfTest.java | 48 +
...fHeapTieredEvictionAtomicBinarySelfTest.java | 96 +
...acheOffHeapTieredEvictionBinarySelfTest.java | 96 +
...ridCacheBinaryObjectsReplicatedSelfTest.java | 51 +
...idCacheBinaryObjectsAtomicLocalSelfTest.java | 32 +
...BinaryObjectsLocalOffheapTieredSelfTest.java | 29 +
.../GridCacheBinaryObjectsLocalSelfTest.java | 51 +
...IgniteCacheAbstractExecutionContextTest.java | 7 +-
...eAbstractDataStructuresFailoverSelfTest.java | 140 +-
.../CacheTryLockMultithreadedTest.java | 116 +
.../GridCacheAbstractNodeRestartSelfTest.java | 25 +-
...niteCacheClientNodeChangingTopologyTest.java | 125 +-
.../near/GridCacheNearTxExceptionSelfTest.java | 20 -
.../near/NearCachePutAllMultinodeTest.java | 167 +
...eRebalancingUnmarshallingFailedSelfTest.java | 2 +-
...idCacheReplicatedUnswapAdvancedSelfTest.java | 44 +-
.../GridCacheReplicatedPreloadSelfTest.java | 44 +-
.../BinaryAtomicCacheLocalEntriesSelfTest.java | 30 +
.../BinaryTxCacheLocalEntriesSelfTest.java | 84 +
...naryObjectsAbstractDataStreamerSelfTest.java | 192 -
...aryObjectsAbstractMultiThreadedSelfTest.java | 241 -
.../GridCacheBinaryObjectsAbstractSelfTest.java | 981 -----
...ntNodeBinaryObjectMetadataMultinodeTest.java | 295 --
...CacheClientNodeBinaryObjectMetadataTest.java | 221 -
.../GridCachePortableStoreAbstractSelfTest.java | 300 --
.../GridCachePortableStoreObjectsSelfTest.java | 55 -
...GridCachePortableStorePortablesSelfTest.java | 66 -
...ridPortableCacheEntryMemorySizeSelfTest.java | 48 -
...leDuplicateIndexObjectsAbstractSelfTest.java | 161 -
.../DataStreamProcessorPortableSelfTest.java | 71 -
.../GridDataStreamerImplSelfTest.java | 345 --
...ridCacheAffinityRoutingPortableSelfTest.java | 54 -
...lyPortableDataStreamerMultiNodeSelfTest.java | 29 -
...rtableDataStreamerMultithreadedSelfTest.java | 47 -
...artitionedOnlyPortableMultiNodeSelfTest.java | 28 -
...tionedOnlyPortableMultithreadedSelfTest.java | 47 -
...AtomicNearDisabledOffheapTieredSelfTest.java | 29 -
...BinaryObjectsAtomicNearDisabledSelfTest.java | 51 -
...inaryObjectsAtomicOffheapTieredSelfTest.java | 29 -
.../GridCacheBinaryObjectsAtomicSelfTest.java | 51 -
...tionedNearDisabledOffheapTieredSelfTest.java | 30 -
...yObjectsPartitionedNearDisabledSelfTest.java | 51 -
...ObjectsPartitionedOffheapTieredSelfTest.java | 30 -
...idCacheBinaryObjectsPartitionedSelfTest.java | 51 -
.../GridCacheMemoryModePortableSelfTest.java | 36 -
...acheOffHeapTieredAtomicPortableSelfTest.java | 48 -
...eapTieredEvictionAtomicPortableSelfTest.java | 96 -
...heOffHeapTieredEvictionPortableSelfTest.java | 96 -
.../GridCacheOffHeapTieredPortableSelfTest.java | 48 -
...ateIndexObjectPartitionedAtomicSelfTest.java | 38 -
...xObjectPartitionedTransactionalSelfTest.java | 41 -
...sNearPartitionedByteArrayValuesSelfTest.java | 41 -
...sPartitionedOnlyByteArrayValuesSelfTest.java | 42 -
...ridCacheBinaryObjectsReplicatedSelfTest.java | 51 -
...idCacheBinaryObjectsAtomicLocalSelfTest.java | 32 -
...BinaryObjectsLocalOffheapTieredSelfTest.java | 29 -
.../GridCacheBinaryObjectsLocalSelfTest.java | 51 -
...ContinuousQueryFailoverAbstractSelfTest.java | 186 +-
.../DataStreamProcessorSelfTest.java | 25 +-
.../loadtests/hashmap/GridHashMapLoadTest.java | 4 +-
.../marshaller/GridMarshallerAbstractTest.java | 32 +-
.../PlatformComputeBinarizableArgTask.java | 4 +-
.../platform/PlatformComputeEchoTask.java | 20 +-
.../platform/PlatformEventsWriteEventTask.java | 4 +-
.../GridSessionCheckpointAbstractSelfTest.java | 32 +-
.../session/GridSessionCheckpointSelfTest.java | 12 +-
...lientDiscoverySpiFailureTimeoutSelfTest.java | 5 +-
.../tcp/TcpClientDiscoverySpiMulticastTest.java | 97 +-
.../spi/discovery/tcp/TcpDiscoverySelfTest.java | 130 +-
.../TcpDiscoveryIpFinderAbstractSelfTest.java | 2 +-
.../TcpDiscoveryMulticastIpFinderSelfTest.java | 16 +-
.../testframework/junits/GridAbstractTest.java | 11 +-
.../ignite/testframework/junits/IgniteMock.java | 10 +-
.../junits/IgniteTestResources.java | 14 +-
.../IgniteBinaryCacheFullApiTestSuite.java | 37 +
.../testsuites/IgniteBinaryCacheTestSuite.java | 101 +
...ObjectsCacheDataStructuresSelfTestSuite.java | 2 +-
...BinaryObjectsCacheExpiryPolicyTestSuite.java | 2 +-
...gniteBinaryObjectsCacheRestartTestSuite.java | 2 +-
.../IgniteBinaryObjectsCacheTestSuite2.java | 2 +-
.../IgniteBinaryObjectsCacheTestSuite3.java | 13 +-
.../IgniteBinaryObjectsCacheTestSuite4.java | 2 +-
...IgniteBinaryObjectsComputeGridTestSuite.java | 2 +-
.../IgniteBinaryObjectsTestSuite.java | 119 +
.../ignite/testsuites/IgniteCacheTestSuite.java | 4 +-
.../IgnitePortableCacheFullApiTestSuite.java | 37 -
.../IgnitePortableCacheTestSuite.java | 102 -
.../IgnitePortableObjectsTestSuite.java | 114 -
.../testsuites/IgniteUtilSelfTestSuite.java | 2 +
.../ignite/util/GridMessageCollectionTest.java | 127 +
.../ignite/portable/test1/1.1/test1-1.1.jar | Bin 2548 -> 0 bytes
.../ignite/portable/test1/1.1/test1-1.1.pom | 9 -
.../portable/test1/maven-metadata-local.xml | 12 -
.../ignite/portable/test2/1.1/test2-1.1.jar | Bin 1361 -> 0 bytes
.../ignite/portable/test2/1.1/test2-1.1.pom | 9 -
.../portable/test2/maven-metadata-local.xml | 12 -
modules/docker/1.0.0/Dockerfile | 40 +
modules/docker/1.0.0/run.sh | 50 +
modules/docker/1.1.0/Dockerfile | 40 +
modules/docker/1.1.0/run.sh | 50 +
modules/docker/1.2.0/Dockerfile | 40 +
modules/docker/1.2.0/run.sh | 50 +
modules/docker/1.3.0/Dockerfile | 40 +
modules/docker/1.3.0/run.sh | 50 +
modules/docker/1.4.0/Dockerfile | 40 +
modules/docker/1.4.0/run.sh | 50 +
modules/docker/Dockerfile | 41 +-
modules/docker/build_users_libs.sh | 39 -
modules/docker/download_ignite.sh | 49 -
modules/docker/execute.sh | 62 -
modules/docker/run.sh | 36 +-
modules/extdata/p2p/pom.xml | 2 +-
.../CacheDeploymentBinaryEntryProcessor.java | 35 +
...cheDeploymentBinaryObjectEntryProcessor.java | 36 +
.../CacheDeploymentPortableEntryProcessor.java | 35 -
.../tests/p2p/CacheDeploymentTestValue3.java | 41 +
.../apache/ignite/tests/p2p/cache/Person.java | 77 +
.../ignite/tests/p2p/cache/PersonKey.java | 74 +
.../extdata/uri/modules/uri-dependency/pom.xml | 2 +-
modules/extdata/uri/pom.xml | 2 +-
modules/flume/pom.xml | 2 +-
modules/gce/pom.xml | 2 +-
modules/geospatial/pom.xml | 2 +-
modules/hadoop/pom.xml | 2 +-
modules/hibernate/pom.xml | 2 +-
.../HibernateTransactionalDataRegion.java | 18 +-
.../HibernateL2CacheTransactionalSelfTest.java | 23 +-
modules/indexing/pom.xml | 2 +-
.../processors/query/h2/IgniteH2Indexing.java | 13 +-
.../h2/twostep/GridReduceQueryExecutor.java | 2 +-
.../IgniteBinaryObjectFieldsQuerySelfTest.java | 246 ++
...niteCacheP2pUnmarshallingQueryErrorTest.java | 15 +-
.../query/IgniteSqlSplitterSelfTest.java | 4 +-
.../IgniteBinaryCacheQueryTestSuite.java | 116 +
.../IgnitePortableCacheQueryTestSuite.java | 114 -
modules/jcl/pom.xml | 2 +-
modules/jms11/pom.xml | 2 +-
modules/jta/pom.xml | 11 +-
.../cache/jta/jndi/CacheJndiTmFactory.java | 132 +
.../processors/cache/jta/CacheJtaManager.java | 41 +-
.../cache/AbstarctCacheJtaSelfTest.java | 183 +
.../cache/CacheJndiTmFactorySelfTest.java | 166 +
...CacheJtaConfigurationValidationSelfTest.java | 4 +-
...CacheJtaFactoryConfigValidationSelfTest.java | 142 +
.../processors/cache/GridCacheJtaSelfTest.java | 221 -
.../cache/GridCacheReplicatedJtaSelfTest.java | 32 -
.../cache/GridJtaLifecycleAwareSelfTest.java | 191 +
.../GridPartitionedCacheJtaFactorySelfTest.java | 41 +
...titionedCacheJtaLookupClassNameSelfTest.java | 83 +
.../GridReplicatedCacheJtaFactorySelfTest.java | 32 +
...plicatedCacheJtaLookupClassNameSelfTest.java | 32 +
.../GridTmLookupLifecycleAwareSelfTest.java | 122 -
.../ignite/testsuites/IgniteJtaTestSuite.java | 26 +-
modules/kafka/pom.xml | 2 +-
modules/log4j/pom.xml | 2 +-
modules/log4j2/pom.xml | 2 +-
modules/mesos/pom.xml | 2 +-
modules/mqtt/pom.xml | 2 +-
modules/osgi-karaf/pom.xml | 5 +-
.../osgi-karaf/src/main/resources/features.xml | 11 +-
modules/osgi-paxlogging/pom.xml | 6 +-
modules/osgi/pom.xml | 5 +-
.../ignite/osgi/classloaders/package-info.java | 21 +
.../org/apache/ignite/osgi/package-info.java | 21 +
.../ignite/osgi/AbstractIgniteKarafTest.java | 2 -
.../IgniteKarafFeaturesInstallationTest.java | 2 +-
.../ignite/osgi/IgniteOsgiServiceTest.java | 2 +-
modules/platforms/cpp/common/configure.ac | 2 +-
modules/platforms/cpp/common/src/java.cpp | 8 +-
modules/platforms/cpp/core-test/configure.ac | 2 +-
.../src/binary_reader_writer_raw_test.cpp | 10 +-
.../core-test/src/binary_reader_writer_test.cpp | 10 +-
modules/platforms/cpp/core/configure.ac | 2 +-
.../core/include/ignite/binary/binary_consts.h | 29 +-
.../cpp/core/include/ignite/ignition.h | 41 +-
modules/platforms/cpp/cpp.dxg | 1722 ++++++++
modules/platforms/cpp/examples/configure.ac | 2 +-
modules/platforms/cpp/ignite/configure.ac | 2 +-
.../Properties/AssemblyInfo.cs | 4 +-
.../Properties/AssemblyInfo.cs | 4 +-
.../Binary/BinarySelfTest.cs | 67 +
.../Config/marshaller-explicit.xml | 2 +-
.../Properties/AssemblyInfo.cs | 4 +-
.../Apache.Ignite.Core.csproj | 5 +
.../Cache/Query/IQueryCursor.cs | 2 +-
.../Apache.Ignite.Core/Cache/Query/QueryBase.cs | 2 +-
.../Store/CacheParallelLoadStoreAdapter.cs | 4 +-
.../Cache/Store/CacheStoreAdapter.cs | 12 +-
.../Cache/Store/ICacheStore.cs | 36 +-
.../Apache.Ignite.Core/Cluster/ICluster.cs | 2 +-
.../Cluster/IClusterMetrics.cs | 6 +-
.../Apache.Ignite.Core/Cluster/IClusterNode.cs | 6 +-
.../Apache.Ignite.Core/Compute/IComputeTask.cs | 2 +-
.../Datastream/IDataStreamer.cs | 12 +-
.../Apache.Ignite.Core/Events/CacheEvent.cs | 4 +-
.../Apache.Ignite.Core/Events/TaskEvent.cs | 2 +-
.../dotnet/Apache.Ignite.Core/IIgnite.cs | 6 +-
.../dotnet/Apache.Ignite.Core/Ignition.cs | 24 +-
.../Impl/Binary/BinaryObjectBuilder.cs | 8 +-
.../Impl/Binary/BinaryObjectHeader.cs | 10 +-
.../Impl/Binary/BinaryReflectiveActions.cs | 4 +-
.../Impl/Binary/BinarySystemHandlers.cs | 34 +-
.../Impl/Binary/BinaryUtils.cs | 94 +-
.../Impl/Binary/Metadata/BinaryTypeHolder.cs | 1 +
.../Apache.Ignite.Core/Impl/Cache/CacheImpl.cs | 2 -
.../Impl/Common/DelegateConverter.cs | 15 +-
.../dotnet/Apache.Ignite.Core/Impl/Ignite.cs | 8 +
.../Apache.Ignite.Core/Impl/NativeMethods.cs | 10 -
.../Impl/Unmanaged/IgniteJniNativeMethods.cs | 358 ++
.../Impl/Unmanaged/UnmanagedUtils.cs | 788 +---
.../Properties/AssemblyInfo.cs | 4 +-
.../Transactions/ITransaction.cs | 2 +-
modules/platforms/dotnet/Apache.Ignite.FxCop | 322 +-
modules/platforms/dotnet/Apache.Ignite.dxg | 2387 ++++++++++
modules/platforms/dotnet/Apache.Ignite.sln | 1 +
modules/platforms/dotnet/Apache.Ignite.slnrel | 43 -
.../Apache.Ignite/Properties/AssemblyInfo.cs | 4 +-
.../platforms/dotnet/Apache.Ignite_x86.slnrel | 43 -
modules/platforms/dotnet/README.txt | 36 +-
modules/platforms/dotnet/build.bat | 94 +
modules/platforms/dotnet/dotnet.dxg | 1795 ++++++++
.../Apache.Ignite.Examples.csproj | 4 +-
.../Properties/AssemblyInfo.cs | 4 +-
.../Apache.Ignite.ExamplesDll.csproj | 4 +-
.../Properties/AssemblyInfo.cs | 4 +-
modules/platforms/dotnet/examples/README.txt | 8 -
modules/platforms/dotnet/header.html | 27 +
modules/rest-http/pom.xml | 2 +-
modules/scalar-2.10/pom.xml | 2 +-
modules/scalar/pom.xml | 2 +-
modules/schedule/pom.xml | 2 +-
modules/schema-import/pom.xml | 2 +-
.../ignite/schema/generator/CodeGenerator.java | 30 +-
modules/slf4j/pom.xml | 2 +-
modules/spark-2.10/pom.xml | 2 +-
modules/spark/pom.xml | 2 +-
modules/spring/pom.xml | 2 +-
.../ignite/internal/GridFactorySelfTest.java | 45 +
.../GridSpringBeanSerializationSelfTest.java | 2 +
modules/ssh/pom.xml | 2 +-
modules/tools/pom.xml | 2 +-
modules/twitter/pom.xml | 2 +-
modules/urideploy/pom.xml | 2 +-
modules/visor-console-2.10/pom.xml | 2 +-
modules/visor-console/pom.xml | 2 +-
modules/visor-plugins/pom.xml | 2 +-
modules/web/pom.xml | 2 +-
.../config/benchmark-failover.properties | 2 +-
.../ignite-int-max-values-offheap-config.xml | 2 +-
.../ignite-int-max-values-onheap-config.xml | 2 +-
.../ignite-int-max-values-swap-config.xml | 2 +-
modules/yardstick/pom.xml | 2 +-
...IgniteTransactionalWriteInvokeBenchmark.java | 42 +-
modules/yarn/pom.xml | 2 +-
modules/zookeeper/pom.xml | 2 +-
parent/pom.xml | 15 +-
pom.xml | 6 +-
759 files changed, 48990 insertions(+), 39597 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/dddb817b/modules/codegen/src/main/java/org/apache/ignite/codegen/MessageCodeGenerator.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/dddb817b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index e387c0a,3c7f378..769f043
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@@ -720,9 -721,14 +721,14 @@@ public class GridIoMessageFactory imple
break;
- // [-3..119] - this
+ case 124:
+ msg = new GridMessageCollection<>();
+
+ break;
+
+ // [-3..119] [124] - this
// [120..123] - DR
- // [-4..-22] - SQL
+ // [-4..-28] - SQL
default:
if (ext != null) {
for (MessageFactory factory : ext) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/dddb817b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
index 0000000,e77b85a..15dd088
mode 000000,100644..100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
@@@ -1,0 -1,903 +1,911 @@@
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+ package org.apache.ignite.internal.processors.cache.binary;
+
+ import java.io.Externalizable;
+ import java.io.IOException;
+ import java.io.ObjectInput;
+ import java.io.ObjectOutput;
+ import java.util.ArrayList;
+ import java.util.Collection;
+ import java.util.Map;
+ import java.util.Set;
+ import java.util.UUID;
+ import java.util.concurrent.ConcurrentHashMap;
+ import java.util.concurrent.CountDownLatch;
+ import javax.cache.Cache;
+ import javax.cache.CacheException;
+ import javax.cache.event.CacheEntryEvent;
+ import javax.cache.event.CacheEntryListenerException;
+ import javax.cache.event.CacheEntryUpdatedListener;
+ import javax.cache.event.EventType;
+ import javax.cache.processor.EntryProcessor;
+ import javax.cache.processor.MutableEntry;
+ import org.apache.ignite.IgniteBinary;
+ import org.apache.ignite.IgniteCheckedException;
+ import org.apache.ignite.IgniteException;
+ import org.apache.ignite.binary.BinaryObject;
+ import org.apache.ignite.binary.BinaryObjectBuilder;
+ import org.apache.ignite.binary.BinaryObjectException;
+ import org.apache.ignite.binary.BinaryType;
+ import org.apache.ignite.cache.CacheEntryEventSerializableFilter;
+ import org.apache.ignite.cluster.ClusterNode;
+ import org.apache.ignite.cluster.ClusterTopologyException;
+ import org.apache.ignite.configuration.CacheConfiguration;
+ import org.apache.ignite.internal.GridKernalContext;
+ import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
+ import org.apache.ignite.internal.binary.BinaryEnumObjectImpl;
+ import org.apache.ignite.internal.binary.BinaryMarshaller;
+ import org.apache.ignite.internal.binary.BinaryMetadata;
+ import org.apache.ignite.internal.binary.BinaryMetadataHandler;
+ import org.apache.ignite.internal.binary.BinaryObjectEx;
+ import org.apache.ignite.internal.binary.BinaryObjectImpl;
+ import org.apache.ignite.internal.binary.BinaryObjectOffheapImpl;
+ import org.apache.ignite.internal.binary.BinaryTypeImpl;
+ import org.apache.ignite.internal.binary.GridBinaryMarshaller;
+ import org.apache.ignite.internal.binary.BinaryContext;
+ import org.apache.ignite.internal.binary.BinaryUtils;
+ import org.apache.ignite.internal.binary.builder.BinaryObjectBuilderImpl;
+ import org.apache.ignite.internal.binary.streams.BinaryInputStream;
+ import org.apache.ignite.internal.binary.streams.BinaryOffheapInputStream;
+ import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
+ import org.apache.ignite.internal.processors.cache.CacheEntryPredicate;
+ import org.apache.ignite.internal.processors.cache.CacheEntryPredicateAdapter;
+ import org.apache.ignite.internal.processors.cache.CacheObject;
+ import org.apache.ignite.internal.processors.cache.CacheObjectContext;
+ import org.apache.ignite.internal.processors.cache.CacheObjectImpl;
+ import org.apache.ignite.internal.processors.cache.GridCacheContext;
+ import org.apache.ignite.internal.processors.cache.GridCacheEntryEx;
+ import org.apache.ignite.internal.processors.cache.GridCacheUtils;
+ import org.apache.ignite.internal.processors.cache.IgniteCacheProxy;
+ import org.apache.ignite.internal.processors.cache.KeyCacheObject;
+ import org.apache.ignite.internal.processors.cache.query.CacheQuery;
+ import org.apache.ignite.internal.processors.cache.query.CacheQueryFuture;
+ import org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager;
+ import org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessorImpl;
+ import org.apache.ignite.internal.util.GridUnsafe;
+ import org.apache.ignite.internal.util.IgniteUtils;
+ import org.apache.ignite.internal.util.lang.GridMapEntry;
+ import org.apache.ignite.internal.util.tostring.GridToStringExclude;
+ import org.apache.ignite.internal.util.typedef.C1;
+ import org.apache.ignite.internal.util.typedef.F;
+ import org.apache.ignite.internal.util.typedef.T2;
+ import org.apache.ignite.internal.util.typedef.X;
+ import org.apache.ignite.internal.util.typedef.internal.CU;
+ import org.apache.ignite.internal.util.typedef.internal.S;
+ import org.apache.ignite.internal.util.typedef.internal.U;
+ import org.apache.ignite.lang.IgniteBiPredicate;
+ import org.apache.ignite.lang.IgniteBiTuple;
+ import org.apache.ignite.lang.IgniteClosure;
+ import org.apache.ignite.marshaller.Marshaller;
+ import org.jetbrains.annotations.Nullable;
+ import org.jsr166.ConcurrentHashMap8;
+ import sun.misc.Unsafe;
+
+ /**
+ * Binary processor implementation.
+ */
+ public class CacheObjectBinaryProcessorImpl extends IgniteCacheObjectProcessorImpl implements
+ CacheObjectBinaryProcessor {
+ /** */
+ private static final Unsafe UNSAFE = GridUnsafe.unsafe();
+
+ /** */
+ private final CountDownLatch startLatch = new CountDownLatch(1);
+
+ /** */
+ private final boolean clientNode;
+
+ /** */
+ private volatile IgniteCacheProxy<BinaryMetadataKey, BinaryMetadata> metaDataCache;
+
+ /** */
+ private final ConcurrentHashMap8<Integer, BinaryTypeImpl> clientMetaDataCache;
+
+ /** Predicate to filter binary meta data in utility cache. */
+ private final CacheEntryPredicate metaPred = new CacheEntryPredicateAdapter() {
+ private static final long serialVersionUID = 0L;
+
+ @Override public boolean apply(GridCacheEntryEx e) {
+ return e.key().value(e.context().cacheObjectContext(), false) instanceof BinaryMetadataKey;
+ }
+ };
+
+ /** */
+ private BinaryContext binaryCtx;
+
+ /** */
+ private Marshaller marsh;
+
+ /** */
+ private GridBinaryMarshaller binaryMarsh;
+
+ /** */
+ @GridToStringExclude
+ private IgniteBinary binaries;
+
+ /** Metadata updates collected before metadata cache is initialized. */
+ private final Map<Integer, BinaryMetadata> metaBuf = new ConcurrentHashMap<>();
+
+ /** */
+ private UUID metaCacheQryId;
+
+ /**
+ * @param ctx Kernal context.
+ */
+ public CacheObjectBinaryProcessorImpl(GridKernalContext ctx) {
+ super(ctx);
+
+ marsh = ctx.grid().configuration().getMarshaller();
+
+ clientNode = this.ctx.clientNode();
+
+ clientMetaDataCache = clientNode ? new ConcurrentHashMap8<Integer, BinaryTypeImpl>() : null;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void start() throws IgniteCheckedException {
+ if (marsh instanceof BinaryMarshaller) {
+ BinaryMetadataHandler metaHnd = new BinaryMetadataHandler() {
+ @Override public void addMeta(int typeId, BinaryType newMeta) throws BinaryObjectException {
+ assert newMeta != null;
+ assert newMeta instanceof BinaryTypeImpl;
+
+ BinaryMetadata newMeta0 = ((BinaryTypeImpl)newMeta).metadata();
+
+ if (metaDataCache == null) {
+ BinaryMetadata oldMeta = metaBuf.get(typeId);
+ BinaryMetadata mergedMeta = BinaryUtils.mergeMetadata(oldMeta, newMeta0);
+
+ if (oldMeta != mergedMeta) {
+ synchronized (this) {
+ mergedMeta = BinaryUtils.mergeMetadata(oldMeta, newMeta0);
+
+ if (oldMeta != mergedMeta)
+ metaBuf.put(typeId, mergedMeta);
+ else
+ return;
+ }
+
+ if (metaDataCache == null)
+ return;
+ else
+ metaBuf.remove(typeId);
+ }
+ else
+ return;
+ }
+
+ assert metaDataCache != null;
+
+ CacheObjectBinaryProcessorImpl.this.addMeta(typeId, newMeta0.wrap(binaryCtx));
+ }
+
+ @Override public BinaryType metadata(int typeId) throws BinaryObjectException {
+ if (metaDataCache == null)
+ U.awaitQuiet(startLatch);
+
+ return CacheObjectBinaryProcessorImpl.this.metadata(typeId);
+ }
+ };
+
+ BinaryMarshaller pMarh0 = (BinaryMarshaller)marsh;
+
+ binaryCtx = new BinaryContext(metaHnd, ctx.config());
+
+ IgniteUtils.invoke(BinaryMarshaller.class, pMarh0, "setBinaryContext", binaryCtx,
+ ctx.config());
+
+ binaryMarsh = new GridBinaryMarshaller(binaryCtx);
+
+ binaries = new IgniteBinaryImpl(ctx, this);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @SuppressWarnings("unchecked")
+ @Override public void onUtilityCacheStarted() throws IgniteCheckedException {
+ IgniteCacheProxy<Object, Object> proxy = ctx.cache().jcache(CU.UTILITY_CACHE_NAME);
+
+ boolean old = proxy.context().deploy().ignoreOwnership(true);
+
+ try {
+ metaDataCache = (IgniteCacheProxy)proxy.withNoRetries();
+ }
+ finally {
+ proxy.context().deploy().ignoreOwnership(old);
+ }
+
+ if (clientNode) {
+ assert !metaDataCache.context().affinityNode();
+
+ metaCacheQryId = metaDataCache.context().continuousQueries().executeInternalQuery(
+ new MetaDataEntryListener(),
+ new MetaDataEntryFilter(),
+ false,
+ true);
+
+ while (true) {
+ ClusterNode oldestSrvNode =
+ CU.oldestAliveCacheServerNode(ctx.cache().context(), AffinityTopologyVersion.NONE);
+
+ if (oldestSrvNode == null)
+ break;
+
+ GridCacheQueryManager qryMgr = metaDataCache.context().queries();
+
+ CacheQuery<Map.Entry<BinaryMetadataKey, BinaryMetadata>> qry =
+ qryMgr.createScanQuery(new MetaDataPredicate(), null, false);
+
+ qry.keepAll(false);
+
+ qry.projection(ctx.cluster().get().forNode(oldestSrvNode));
+
+ try {
+ CacheQueryFuture<Map.Entry<BinaryMetadataKey, BinaryMetadata>> fut = qry.execute();
+
+ Map.Entry<BinaryMetadataKey, BinaryMetadata> next;
+
+ while ((next = fut.next()) != null) {
+ assert next.getKey() != null : next;
+ assert next.getValue() != null : next;
+
+ addClientCacheMetaData(next.getKey(), next.getValue());
+ }
+ }
+ catch (IgniteCheckedException e) {
+ if (!ctx.discovery().alive(oldestSrvNode) || !ctx.discovery().pingNode(oldestSrvNode.id()))
+ continue;
+ else
+ throw e;
+ }
+ catch (CacheException e) {
+ if (X.hasCause(e, ClusterTopologyCheckedException.class, ClusterTopologyException.class))
+ continue;
+ else
+ throw e;
+ }
+
+ break;
+ }
+ }
+
+ for (Map.Entry<Integer, BinaryMetadata> e : metaBuf.entrySet())
+ addMeta(e.getKey(), e.getValue().wrap(binaryCtx));
+
+ metaBuf.clear();
+
+ startLatch.countDown();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void onKernalStop(boolean cancel) {
+ super.onKernalStop(cancel);
+
+ if (metaCacheQryId != null)
+ metaDataCache.context().continuousQueries().cancelInternalQuery(metaCacheQryId);
+ }
+
+ /**
+ * @param key Metadata key.
+ * @param newMeta Metadata.
+ */
+ private void addClientCacheMetaData(BinaryMetadataKey key, final BinaryMetadata newMeta) {
+ int key0 = key.typeId();
+
+ clientMetaDataCache.compute(key0, new ConcurrentHashMap8.BiFun<Integer, BinaryTypeImpl, BinaryTypeImpl>() {
+ @Override public BinaryTypeImpl apply(Integer key, BinaryTypeImpl oldMeta) {
+ BinaryMetadata res;
+
+ BinaryMetadata oldMeta0 = oldMeta != null ? oldMeta.metadata() : null;
+
+ try {
+ res = BinaryUtils.mergeMetadata(oldMeta0, newMeta);
+ }
+ catch (BinaryObjectException e) {
+ res = oldMeta0;
+ }
+
+ return res != null ? res.wrap(binaryCtx) : null;
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public int typeId(String typeName) {
+ if (binaryCtx == null)
+ return super.typeId(typeName);
+
+ return binaryCtx.typeId(typeName);
+ }
+
+ /**
+ * @param obj Object.
+ * @return Bytes.
+ * @throws org.apache.ignite.binary.BinaryObjectException If failed.
+ */
+ public byte[] marshal(@Nullable Object obj) throws BinaryObjectException {
+ byte[] arr = binaryMarsh.marshal(obj);
+
+ assert arr.length > 0;
+
+ return arr;
+ }
+
+ /**
+ * @param ptr Off-heap pointer.
+ * @param forceHeap If {@code true} creates heap-based object.
+ * @return Object.
+ * @throws org.apache.ignite.binary.BinaryObjectException If failed.
+ */
+ public Object unmarshal(long ptr, boolean forceHeap) throws BinaryObjectException {
+ assert ptr > 0 : ptr;
+
+ int size = UNSAFE.getInt(ptr);
+
+ ptr += 4;
+
+ byte type = UNSAFE.getByte(ptr++);
+
+ if (type != CacheObject.TYPE_BYTE_ARR) {
+ assert size > 0 : size;
+
+ BinaryInputStream in = new BinaryOffheapInputStream(ptr, size, forceHeap);
+
+ return binaryMarsh.unmarshal(in);
+ }
+ else
+ return U.copyMemory(ptr, size);
+ }
+
+ /** {@inheritDoc} */
+ @SuppressWarnings("unchecked")
+ @Override public Object marshalToBinary(@Nullable Object obj) throws BinaryObjectException {
+ if (obj == null)
+ return null;
+
+ if (BinaryUtils.isBinaryType(obj.getClass()))
+ return obj;
+
+ if (obj instanceof Object[]) {
+ Object[] arr = (Object[])obj;
+
+ Object[] pArr = new Object[arr.length];
+
+ for (int i = 0; i < arr.length; i++)
+ pArr[i] = marshalToBinary(arr[i]);
+
+ return pArr;
+ }
+
+ if (obj instanceof IgniteBiTuple) {
+ IgniteBiTuple tup = (IgniteBiTuple)obj;
+
+ if (obj instanceof T2)
+ return new T2<>(marshalToBinary(tup.get1()), marshalToBinary(tup.get2()));
+
+ return new IgniteBiTuple<>(marshalToBinary(tup.get1()), marshalToBinary(tup.get2()));
+ }
+
+ if (obj instanceof Collection) {
+ Collection<Object> col = (Collection<Object>)obj;
+
+ Collection<Object> pCol;
+
+ if (col instanceof Set)
+ pCol = (Collection<Object>)BinaryUtils.newSet((Set<?>)col);
+ else
+ pCol = new ArrayList<>(col.size());
+
+ for (Object item : col)
+ pCol.add(marshalToBinary(item));
+
+ return pCol;
+ }
+
+ if (obj instanceof Map) {
+ Map<?, ?> map = (Map<?, ?>)obj;
+
+ Map<Object, Object> pMap = BinaryUtils.newMap((Map<Object, Object>)obj);
+
+ for (Map.Entry<?, ?> e : map.entrySet())
+ pMap.put(marshalToBinary(e.getKey()), marshalToBinary(e.getValue()));
+
+ return pMap;
+ }
+
+ if (obj instanceof Map.Entry) {
+ Map.Entry<?, ?> e = (Map.Entry<?, ?>)obj;
+
+ return new GridMapEntry<>(marshalToBinary(e.getKey()), marshalToBinary(e.getValue()));
+ }
+
+ byte[] arr = binaryMarsh.marshal(obj);
+
+ assert arr.length > 0;
+
+ Object obj0 = binaryMarsh.unmarshal(arr, null);
+
+ // Possible if a class has writeObject method.
+ if (obj0 instanceof BinaryObject)
+ ((BinaryObjectImpl)obj0).detachAllowed(true);
+
+ return obj0;
+ }
+
+ /**
+ * @return Marshaller.
+ */
+ public GridBinaryMarshaller marshaller() {
+ return binaryMarsh;
+ }
+
+ /** {@inheritDoc} */
++ @Override public String affinityField(String keyType) {
++ if (portableCtx == null)
++ return null;
++
++ return portableCtx.affinityKeyFieldName(typeId(keyType));
++ }
++
++ /** {@inheritDoc} */
+ @Override public BinaryObjectBuilder builder(String clsName) {
+ return new BinaryObjectBuilderImpl(binaryCtx, clsName);
+ }
+
+ /** {@inheritDoc} */
+ @Override public BinaryObjectBuilder builder(BinaryObject binaryObj) {
+ return BinaryObjectBuilderImpl.wrap(binaryObj);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void updateMetadata(int typeId, String typeName, @Nullable String affKeyFieldName,
+ Map<String, Integer> fieldTypeIds, boolean isEnum) throws BinaryObjectException {
+ BinaryMetadata meta = new BinaryMetadata(typeId, typeName, fieldTypeIds, affKeyFieldName, null, isEnum);
+
+ binaryCtx.updateMetadata(typeId, meta);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void addMeta(final int typeId, final BinaryType newMeta) throws BinaryObjectException {
+ assert newMeta != null;
+ assert newMeta instanceof BinaryTypeImpl;
+
+ BinaryMetadata newMeta0 = ((BinaryTypeImpl)newMeta).metadata();
+
+ final BinaryMetadataKey key = new BinaryMetadataKey(typeId);
+
+ try {
+ BinaryMetadata oldMeta = metaDataCache.localPeek(key);
+ BinaryMetadata mergedMeta = BinaryUtils.mergeMetadata(oldMeta, newMeta0);
+
+ BinaryObjectException err = metaDataCache.invoke(key, new MetadataProcessor(mergedMeta));
+
+ if (err != null)
+ throw err;
+ }
+ catch (CacheException e) {
+ throw new BinaryObjectException("Failed to update meta data for type: " + newMeta.typeName(), e);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override public BinaryType metadata(final int typeId) throws BinaryObjectException {
+ try {
+ if (clientNode) {
+ BinaryType typeMeta = clientMetaDataCache.get(typeId);
+
+ if (typeMeta != null)
+ return typeMeta;
+
+ BinaryMetadata meta = metaDataCache.getTopologySafe(new BinaryMetadataKey(typeId));
+
+ return meta != null ? meta.wrap(binaryCtx) : null;
+ }
+ else {
+ BinaryMetadataKey key = new BinaryMetadataKey(typeId);
+
+ BinaryMetadata meta = metaDataCache.localPeek(key);
+
+ if (meta == null && !metaDataCache.context().preloader().syncFuture().isDone())
+ meta = metaDataCache.getTopologySafe(key);
+
+ return meta != null ? meta.wrap(binaryCtx) : null;
+ }
+ }
+ catch (CacheException e) {
+ throw new BinaryObjectException(e);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public Map<Integer, BinaryType> metadata(Collection<Integer> typeIds)
+ throws BinaryObjectException {
+ try {
+ Collection<BinaryMetadataKey> keys = new ArrayList<>(typeIds.size());
+
+ for (Integer typeId : typeIds)
+ keys.add(new BinaryMetadataKey(typeId));
+
+ Map<BinaryMetadataKey, BinaryMetadata> meta = metaDataCache.getAll(keys);
+
+ Map<Integer, BinaryType> res = U.newHashMap(meta.size());
+
+ for (Map.Entry<BinaryMetadataKey, BinaryMetadata> e : meta.entrySet())
+ res.put(e.getKey().typeId(), e.getValue().wrap(binaryCtx));
+
+ return res;
+ }
+ catch (CacheException e) {
+ throw new BinaryObjectException(e);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @SuppressWarnings("unchecked")
+ @Override public Collection<BinaryType> metadata() throws BinaryObjectException {
+ if (clientNode)
+ return F.viewReadOnly(clientMetaDataCache.values(), new IgniteClosure<BinaryTypeImpl, BinaryType>() {
+ @Override public BinaryType apply(BinaryTypeImpl meta) {
+ return meta;
+ }
+ });
+ else {
+ return F.viewReadOnly(metaDataCache.entrySetx(metaPred),
+ new C1<Cache.Entry<BinaryMetadataKey, BinaryMetadata>, BinaryType>() {
+ private static final long serialVersionUID = 0L;
+
+ @Override public BinaryType apply(Cache.Entry<BinaryMetadataKey, BinaryMetadata> e) {
+ return e.getValue().wrap(binaryCtx);
+ }
+ });
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public BinaryObject buildEnum(String typeName, int ord) throws IgniteException {
+ typeName = BinaryContext.typeName(typeName);
+
+ int typeId = binaryCtx.typeId(typeName);
+
+ updateMetadata(typeId, typeName, null, null, true);
+
+ return new BinaryEnumObjectImpl(binaryCtx, typeId, null, ord);
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteBinary binary() throws IgniteException {
+ return binaries;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isBinaryObject(Object obj) {
+ return obj instanceof BinaryObject;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isBinaryEnabled(CacheConfiguration<?, ?> ccfg) {
+ return marsh instanceof BinaryMarshaller;
+ }
+
+ /**
+ * @param po Binary object.
+ * @return Affinity key.
+ */
+ public Object affinityKey(BinaryObject po) {
+ try {
+ BinaryType meta = po.type();
+
+ if (meta != null) {
+ String affKeyFieldName = meta.affinityKeyFieldName();
+
+ if (affKeyFieldName != null)
+ return po.field(affKeyFieldName);
+ }
+ else if (po instanceof BinaryObjectEx) {
+ int id = ((BinaryObjectEx)po).typeId();
+
+ String affKeyFieldName = binaryCtx.affinityKeyFieldName(id);
+
+ if (affKeyFieldName != null)
+ return po.field(affKeyFieldName);
+ }
+ }
+ catch (BinaryObjectException e) {
+ U.error(log, "Failed to get affinity field from binary object: " + po, e);
+ }
+
+ return po;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int typeId(Object obj) {
+ if (obj == null)
+ return 0;
+
+ return isBinaryObject(obj) ? ((BinaryObjectEx)obj).typeId() : typeId(obj.getClass().getSimpleName());
+ }
+
+ /** {@inheritDoc} */
+ @Override public Object field(Object obj, String fieldName) {
+ if (obj == null)
+ return null;
+
+ return isBinaryObject(obj) ? ((BinaryObject)obj).field(fieldName) : super.field(obj, fieldName);
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean hasField(Object obj, String fieldName) {
+ return obj != null && ((BinaryObject)obj).hasField(fieldName);
+ }
+
+ /**
+ * @return Binary context.
+ */
+ public BinaryContext binaryContext() {
+ return binaryCtx;
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheObjectContext contextForCache(CacheConfiguration cfg) throws IgniteCheckedException {
+ assert cfg != null;
+
+ boolean binaryEnabled = marsh instanceof BinaryMarshaller && !GridCacheUtils.isSystemCache(cfg.getName()) &&
+ !GridCacheUtils.isIgfsCache(ctx.config(), cfg.getName());
+
+ CacheObjectContext ctx0 = super.contextForCache(cfg);
+
+ CacheObjectContext res = new CacheObjectBinaryContext(ctx,
+ ctx0.copyOnGet(),
+ ctx0.storeValue(),
+ binaryEnabled,
+ ctx0.addDeploymentInfo());
+
+ ctx.resource().injectGeneric(res.defaultAffMapper());
+
+ return res;
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte[] marshal(CacheObjectContext ctx, Object val) throws IgniteCheckedException {
+ if (!((CacheObjectBinaryContext)ctx).binaryEnabled() || binaryMarsh == null)
+ return super.marshal(ctx, val);
+
+ byte[] arr = binaryMarsh.marshal(val);
+
+ assert arr.length > 0;
+
+ return arr;
+ }
+
+ /** {@inheritDoc} */
+ @Override public Object unmarshal(CacheObjectContext ctx, byte[] bytes, ClassLoader clsLdr)
+ throws IgniteCheckedException {
+ if (!((CacheObjectBinaryContext)ctx).binaryEnabled() || binaryMarsh == null)
+ return super.unmarshal(ctx, bytes, clsLdr);
+
+ return binaryMarsh.unmarshal(bytes, clsLdr);
+ }
+
+ /** {@inheritDoc} */
+ @Override public KeyCacheObject toCacheKeyObject(CacheObjectContext ctx, Object obj, boolean userObj) {
+ if (!((CacheObjectBinaryContext)ctx).binaryEnabled())
+ return super.toCacheKeyObject(ctx, obj, userObj);
+
+ if (obj instanceof KeyCacheObject)
+ return (KeyCacheObject)obj;
+
+ if (((CacheObjectBinaryContext)ctx).binaryEnabled()) {
+ obj = toBinary(obj);
+
+ if (obj instanceof BinaryObject)
+ return (BinaryObjectImpl)obj;
+ }
+
+ return toCacheKeyObject0(obj, userObj);
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override public CacheObject toCacheObject(CacheObjectContext ctx, @Nullable Object obj,
+ boolean userObj) {
+ if (!((CacheObjectBinaryContext)ctx).binaryEnabled())
+ return super.toCacheObject(ctx, obj, userObj);
+
+ if (obj == null || obj instanceof CacheObject)
+ return (CacheObject)obj;
+
+ obj = toBinary(obj);
+
+ if (obj instanceof BinaryObject)
+ return (BinaryObjectImpl)obj;
+
+ return toCacheObject0(obj, userObj);
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheObject toCacheObject(CacheObjectContext ctx, byte type, byte[] bytes) {
+ if (type == BinaryObjectImpl.TYPE_BINARY)
+ return new BinaryObjectImpl(binaryContext(), bytes, 0);
+
+ return super.toCacheObject(ctx, type, bytes);
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheObject toCacheObject(GridCacheContext ctx, long valPtr, boolean tmp)
+ throws IgniteCheckedException {
+ if (!((CacheObjectBinaryContext)ctx.cacheObjectContext()).binaryEnabled())
+ return super.toCacheObject(ctx, valPtr, tmp);
+
+ Object val = unmarshal(valPtr, !tmp);
+
+ if (val instanceof BinaryObjectOffheapImpl)
+ return (BinaryObjectOffheapImpl)val;
+
+ return new CacheObjectImpl(val, null);
+ }
+
+ /** {@inheritDoc} */
+ @Override public Object unwrapTemporary(GridCacheContext ctx, Object obj) throws BinaryObjectException {
+ if (!((CacheObjectBinaryContext)ctx.cacheObjectContext()).binaryEnabled())
+ return obj;
+
+ if (obj instanceof BinaryObjectOffheapImpl)
+ return ((BinaryObjectOffheapImpl)obj).heapCopy();
+
+ return obj;
+ }
+
+ /**
+ * @param obj Object.
+ * @return Binary object.
+ * @throws IgniteException In case of error.
+ */
+ @Nullable public Object toBinary(@Nullable Object obj) throws IgniteException {
+ if (obj == null)
+ return null;
+
+ if (isBinaryObject(obj))
+ return obj;
+
+ return marshalToBinary(obj);
+ }
+
+ /**
+ * Processor responsible for metadata update.
+ */
+ private static class MetadataProcessor
+ implements EntryProcessor<BinaryMetadataKey, BinaryMetadata, BinaryObjectException>, Externalizable {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** */
+ private BinaryMetadata newMeta;
+
+ /**
+ * For {@link Externalizable}.
+ */
+ public MetadataProcessor() {
+ // No-op.
+ }
+
+ /**
+ * @param newMeta New metadata.
+ */
+ private MetadataProcessor(BinaryMetadata newMeta) {
+ assert newMeta != null;
+
+ this.newMeta = newMeta;
+ }
+
+ /** {@inheritDoc} */
+ @Override public BinaryObjectException process(MutableEntry<BinaryMetadataKey, BinaryMetadata> entry,
+ Object... args) {
+ try {
+ BinaryMetadata oldMeta = entry.getValue();
+
+ BinaryMetadata mergedMeta = BinaryUtils.mergeMetadata(oldMeta, newMeta);
+
+ if (mergedMeta != oldMeta)
+ entry.setValue(mergedMeta);
+
+ return null;
+ }
+ catch (BinaryObjectException e) {
+ return e;
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(newMeta);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ newMeta = (BinaryMetadata)in.readObject();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(MetadataProcessor.class, this);
+ }
+ }
+
+ /**
+ *
+ */
+ class MetaDataEntryListener implements CacheEntryUpdatedListener<BinaryMetadataKey, BinaryMetadata> {
+ /** {@inheritDoc} */
+ @Override public void onUpdated(
+ Iterable<CacheEntryEvent<? extends BinaryMetadataKey, ? extends BinaryMetadata>> evts)
+ throws CacheEntryListenerException {
+ for (CacheEntryEvent<? extends BinaryMetadataKey, ? extends BinaryMetadata> evt : evts) {
+ assert evt.getEventType() == EventType.CREATED || evt.getEventType() == EventType.UPDATED : evt;
+
+ BinaryMetadataKey key = evt.getKey();
+
+ final BinaryMetadata newMeta = evt.getValue();
+
+ assert newMeta != null : evt;
+
+ addClientCacheMetaData(key, newMeta);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(MetaDataEntryListener.class, this);
+ }
+ }
+
+ /**
+ *
+ */
+ static class MetaDataEntryFilter implements CacheEntryEventSerializableFilter<Object, Object> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** {@inheritDoc} */
+ @Override public boolean evaluate(CacheEntryEvent<?, ?> evt) throws CacheEntryListenerException {
+ return evt.getKey() instanceof BinaryMetadataKey;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(MetaDataEntryFilter.class, this);
+ }
+ }
+
+ /**
+ *
+ */
+ static class MetaDataPredicate implements IgniteBiPredicate<Object, Object> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** {@inheritDoc} */
+ @Override public boolean apply(Object key, Object val) {
+ return key instanceof BinaryMetadataKey;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(MetaDataPredicate.class, this);
+ }
+ }
+ }
http://git-wip-us.apache.org/repos/asf/ignite/blob/dddb817b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/dddb817b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java
index e552411,cadf1a9..27d93ad
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java
@@@ -170,10 -170,4 +170,10 @@@ public interface IgniteCacheObjectProce
* @return Ignite binary interface.
*/
public IgniteBinary binary();
+
+ /**
+ * @param keyType Key type name.
+ * @return Affinity filed name or {@code null}.
+ */
+ public String affinityField(String keyType);
- }
+ }
http://git-wip-us.apache.org/repos/asf/ignite/blob/dddb817b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/dddb817b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/dddb817b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/dddb817b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index 89bf44c,8625be9..7b696ff
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@@ -1113,8 -1045,7 +1116,8 @@@ public class IgniteH2Indexing implement
twoStepQry.pageSize(qry.getPageSize());
- QueryCursorImpl<List<?>> cursor = new QueryCursorImpl<>(queryTwoStep(cctx, twoStepQry, cctx.keepBinary()));
+ QueryCursorImpl<List<?>> cursor = new QueryCursorImpl<>(
- runQueryTwoStep(cctx, twoStepQry, cctx.keepPortable(), enforceJoinOrder));
++ runQueryTwoStep(cctx, twoStepQry, cctx.keepBinary(), enforceJoinOrder));
cursor.fieldsMeta(meta);
http://git-wip-us.apache.org/repos/asf/ignite/blob/dddb817b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
index 6e9bf21,828d9bd..00d2f27
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
@@@ -1350,24 -1240,4 +1350,24 @@@ public class GridReduceQueryExecutor
return res;
}
}
+
+ /**
+ *
+ */
+ private class ExplicitPartitionsSpecializer implements IgniteBiClosure<ClusterNode,Message,Message> {
+ /** */
+ private final Map<ClusterNode,IntArray> partsMap;
+
+ /**
+ * @param partsMap Partitions map.
+ */
+ private ExplicitPartitionsSpecializer(Map<ClusterNode,IntArray> partsMap) {
+ this.partsMap = partsMap;
+ }
+
+ /** {@inheritDoc} */
+ @Override public Message apply(ClusterNode n, Message msg) {
+ return copy(msg, n, partsMap);
+ }
+ }
- }
+ }
http://git-wip-us.apache.org/repos/asf/ignite/blob/dddb817b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
----------------------------------------------------------------------