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 2015/05/08 12:28:24 UTC
[50/50] incubator-ignite git commit: ignite-471: merging
ignite-sprint-4
ignite-471: merging ignite-sprint-4
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/50cb10f3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/50cb10f3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/50cb10f3
Branch: refs/heads/ignite-471
Commit: 50cb10f3c4f002f6e233d667cb1b1c185185d24b
Parents: 519ffea 0c13a08
Author: Denis Magda <dm...@gridgain.com>
Authored: Fri May 8 12:50:05 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Fri May 8 12:50:05 2015 +0300
----------------------------------------------------------------------
DEVNOTES.txt | 4 +-
assembly/release-base.xml | 2 +
assembly/release-schema-import.xml | 50 ++
examples/pom.xml | 2 +-
.../streaming/wordcount/CacheConfig.java | 5 -
modules/aop/pom.xml | 2 +-
modules/aws/pom.xml | 2 +-
.../config/grid-client-config.properties | 50 +-
modules/clients/pom.xml | 2 +-
.../ClientPropertiesConfigurationSelfTest.java | 12 +-
modules/cloud/pom.xml | 6 +-
modules/codegen/pom.xml | 2 +-
.../ignite/codegen/MessageCodeGenerator.java | 57 +-
modules/core/pom.xml | 2 +-
.../java/org/apache/ignite/IgniteCache.java | 5 +
.../org/apache/ignite/IgniteJdbcDriver.java | 81 ++-
.../configuration/CacheConfiguration.java | 259 +++++++--
.../configuration/IgniteConfiguration.java | 344 +++++++++---
.../ignite/internal/GridDirectCollection.java | 3 +
.../ignite/internal/GridUpdateNotifier.java | 66 ++-
.../ignite/internal/IgniteComponentType.java | 36 +-
.../apache/ignite/internal/IgniteKernal.java | 83 ++-
.../org/apache/ignite/internal/IgnitionEx.java | 15 +-
.../client/GridClientConfiguration.java | 2 +-
.../managers/communication/GridIoManager.java | 30 +-
.../communication/GridIoMessageFactory.java | 12 +-
.../managers/indexing/GridIndexingManager.java | 14 +-
.../processors/cache/CacheObjectImpl.java | 2 +-
.../cache/DynamicCacheDescriptor.java | 16 +-
.../processors/cache/GridCacheAdapter.java | 518 +++++++++---------
.../processors/cache/GridCacheMapEntry.java | 27 +-
.../GridCachePartitionExchangeManager.java | 3 +
.../processors/cache/GridCacheProcessor.java | 192 ++++---
.../processors/cache/GridCacheSwapManager.java | 35 +-
.../processors/cache/GridCacheTtlManager.java | 156 +++---
.../processors/cache/GridCacheUtils.java | 6 +-
...ridCacheOptimisticCheckPreparedTxFuture.java | 434 ---------------
...idCacheOptimisticCheckPreparedTxRequest.java | 232 --------
...dCacheOptimisticCheckPreparedTxResponse.java | 179 -------
.../distributed/GridCacheTxRecoveryFuture.java | 506 ++++++++++++++++++
.../distributed/GridCacheTxRecoveryRequest.java | 261 +++++++++
.../GridCacheTxRecoveryResponse.java | 182 +++++++
.../GridDistributedTxRemoteAdapter.java | 2 +-
.../distributed/dht/GridDhtLocalPartition.java | 2 +-
.../dht/GridPartitionedGetFuture.java | 2 +-
.../cache/query/GridCacheQueryManager.java | 18 +-
.../cache/query/GridCacheSqlQuery.java | 137 ++++-
.../cache/query/GridCacheTwoStepQuery.java | 25 +-
.../cache/transactions/IgniteInternalTx.java | 5 +-
.../cache/transactions/IgniteTxAdapter.java | 2 +-
.../cache/transactions/IgniteTxHandler.java | 38 +-
.../transactions/IgniteTxLocalAdapter.java | 2 +-
.../cache/transactions/IgniteTxManager.java | 173 ++----
.../datastreamer/DataStreamerImpl.java | 2 +
.../processors/igfs/IgfsDataManager.java | 3 +
.../processors/igfs/IgfsMetaManager.java | 2 +-
.../internal/processors/igfs/IgfsUtils.java | 11 +-
.../processors/query/GridQueryIndexing.java | 19 +-
.../processors/query/GridQueryProcessor.java | 76 ++-
.../messages/GridQueryNextPageResponse.java | 68 ++-
.../h2/twostep/messages/GridQueryRequest.java | 22 +-
.../util/spring/IgniteSpringHelper.java | 4 +-
.../internal/visor/cache/VisorCacheMetrics.java | 53 +-
.../cache/VisorCacheNearConfiguration.java | 4 +-
.../visor/cache/VisorCacheStartTask.java | 155 ++++++
.../internal/visor/query/VisorQueryArg.java | 14 +-
.../internal/visor/query/VisorQueryJob.java | 2 +
.../internal/visor/util/VisorTaskUtils.java | 10 +
.../apache/ignite/lang/IgniteAsyncSupport.java | 4 +-
.../org/apache/ignite/spi/IgniteSpiAdapter.java | 19 +-
.../discovery/tcp/TcpClientDiscoverySpi.java | 4 -
.../spi/discovery/tcp/TcpDiscoverySpi.java | 4 -
.../discovery/tcp/TcpDiscoverySpiAdapter.java | 8 +-
.../resources/META-INF/classnames.properties | 23 +-
.../core/src/main/resources/ignite.properties | 2 +-
.../internal/GridUpdateNotifierSelfTest.java | 30 +-
.../processors/cache/CacheGetFromJobTest.java | 110 ++++
.../GridCacheAbstractFailoverSelfTest.java | 4 +-
.../IgniteCacheEntryListenerAbstractTest.java | 4 +-
...CacheLoadingConcurrentGridStartSelfTest.java | 154 ++++++
.../GridCacheAbstractNodeRestartSelfTest.java | 94 ++--
...GridCacheLoadingConcurrentGridStartTest.java | 154 ------
...xOriginatingNodeFailureAbstractSelfTest.java | 2 +-
.../dht/GridCacheDhtPreloadSelfTest.java | 2 +-
...rDisabledPrimaryNodeFailureRecoveryTest.java | 31 ++
...rtitionedPrimaryNodeFailureRecoveryTest.java | 31 ++
...woBackupsPrimaryNodeFailureRecoveryTest.java | 37 ++
...ePrimaryNodeFailureRecoveryAbstractTest.java | 533 +++++++++++++++++++
.../GridCachePartitionedNodeRestartTest.java | 4 +-
...ePartitionedOptimisticTxNodeRestartTest.java | 4 +-
.../GridCacheReplicatedNodeRestartSelfTest.java | 2 +
.../IgniteCacheExpiryPolicyAbstractTest.java | 2 +-
.../IgniteCacheExpiryPolicyTestSuite.java | 2 +
.../expiry/IgniteCacheTtlCleanupSelfTest.java | 85 +++
.../igfs/IgfsClientCacheSelfTest.java | 132 +++++
.../processors/igfs/IgfsOneClientNodeTest.java | 133 +++++
.../processors/igfs/IgfsStreamsSelfTest.java | 2 +-
.../tcp/TcpClientDiscoverySelfTest.java | 8 +
.../testsuites/IgniteCacheRestartTestSuite.java | 5 +-
.../ignite/testsuites/IgniteCacheTestSuite.java | 5 +-
.../IgniteCacheTxRecoverySelfTestSuite.java | 4 +
.../ignite/testsuites/IgniteIgfsTestSuite.java | 3 +
modules/extdata/p2p/pom.xml | 2 +-
modules/extdata/uri/pom.xml | 2 +-
modules/gce/pom.xml | 6 +-
modules/geospatial/pom.xml | 2 +-
modules/hadoop/pom.xml | 2 +-
modules/hibernate/pom.xml | 2 +-
modules/indexing/pom.xml | 2 +-
.../processors/query/h2/IgniteH2Indexing.java | 173 +++++-
.../query/h2/opt/GridH2AbstractKeyValueRow.java | 92 +---
.../query/h2/opt/GridH2KeyValueRowOffheap.java | 7 +-
.../query/h2/opt/GridH2KeyValueRowOnheap.java | 6 +-
.../query/h2/opt/GridH2RowDescriptor.java | 14 +-
.../processors/query/h2/opt/GridH2Table.java | 10 +-
.../query/h2/opt/GridH2ValueCacheObject.java | 191 +++++++
.../query/h2/opt/GridLuceneIndex.java | 95 ++--
.../processors/query/h2/sql/GridSqlQuery.java | 20 +
.../query/h2/sql/GridSqlQueryParser.java | 10 +-
.../query/h2/sql/GridSqlQuerySplitter.java | 11 +-
.../processors/query/h2/sql/GridSqlSelect.java | 2 +-
.../processors/query/h2/sql/GridSqlUnion.java | 2 +-
.../query/h2/twostep/GridMapQueryExecutor.java | 24 +-
.../query/h2/twostep/GridMergeIndex.java | 6 +-
.../h2/twostep/GridMergeIndexUnsorted.java | 4 +-
.../h2/twostep/GridReduceQueryExecutor.java | 128 ++++-
.../query/h2/twostep/GridResultPage.java | 80 ++-
.../query/h2/twostep/msg/GridH2Array.java | 124 +++++
.../query/h2/twostep/msg/GridH2Boolean.java | 112 ++++
.../query/h2/twostep/msg/GridH2Byte.java | 113 ++++
.../query/h2/twostep/msg/GridH2Bytes.java | 113 ++++
.../query/h2/twostep/msg/GridH2CacheObject.java | 148 +++++
.../query/h2/twostep/msg/GridH2Date.java | 115 ++++
.../query/h2/twostep/msg/GridH2Decimal.java | 134 +++++
.../query/h2/twostep/msg/GridH2Double.java | 113 ++++
.../query/h2/twostep/msg/GridH2Float.java | 113 ++++
.../query/h2/twostep/msg/GridH2Geometry.java | 134 +++++
.../query/h2/twostep/msg/GridH2Integer.java | 113 ++++
.../query/h2/twostep/msg/GridH2JavaObject.java | 113 ++++
.../query/h2/twostep/msg/GridH2Long.java | 113 ++++
.../query/h2/twostep/msg/GridH2Null.java | 78 +++
.../query/h2/twostep/msg/GridH2Short.java | 113 ++++
.../query/h2/twostep/msg/GridH2String.java | 115 ++++
.../query/h2/twostep/msg/GridH2Time.java | 116 ++++
.../query/h2/twostep/msg/GridH2Timestamp.java | 133 +++++
.../query/h2/twostep/msg/GridH2Uuid.java | 133 +++++
.../h2/twostep/msg/GridH2ValueMessage.java | 49 ++
.../twostep/msg/GridH2ValueMessageFactory.java | 201 +++++++
.../IgniteCacheAbstractFieldsQuerySelfTest.java | 21 +
.../IgniteCacheQueryMultiThreadedSelfTest.java | 6 +-
.../h2/GridIndexingSpiAbstractSelfTest.java | 130 ++++-
modules/jcl/pom.xml | 2 +-
modules/jta/pom.xml | 2 +-
modules/log4j/pom.xml | 2 +-
modules/rest-http/pom.xml | 2 +-
modules/scalar/pom.xml | 2 +-
modules/schedule/pom.xml | 2 +-
modules/schema-import/pom.xml | 8 +-
.../ignite/schema/generator/CodeGenerator.java | 41 +-
modules/slf4j/pom.xml | 2 +-
modules/spring/pom.xml | 2 +-
.../util/spring/IgniteSpringHelperImpl.java | 2 +-
modules/ssh/pom.xml | 2 +-
...gniteProjectionStartStopRestartSelfTest.java | 26 +-
modules/tools/pom.xml | 2 +-
modules/urideploy/pom.xml | 2 +-
modules/visor-console/pom.xml | 2 +-
.../commands/cache/VisorCacheCommand.scala | 2 +-
.../commands/cache/VisorCacheScanCommand.scala | 2 +-
modules/visor-plugins/pom.xml | 2 +-
modules/web/pom.xml | 2 +-
modules/yardstick/pom.xml | 2 +-
pom.xml | 226 +++++++-
173 files changed, 7858 insertions(+), 2414 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/codegen/src/main/java/org/apache/ignite/codegen/MessageCodeGenerator.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheSqlQuery.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheSqlQuery.java
index 2ee690a,7a0e140..b48f887
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheSqlQuery.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheSqlQuery.java
@@@ -86,21 -94,30 +94,30 @@@ public class GridCacheSqlQuery implemen
return params;
}
- /** {@inheritDoc} */
- @Override public void writeExternal(ObjectOutput out) throws IOException {
- U.writeString(out, alias);
- U.writeString(out, qry);
- U.writeArray(out, params);
+ /**
+ * @param m Marshaller.
+ * @throws IgniteCheckedException If failed.
+ */
+ public void marshallParams(Marshaller m) throws IgniteCheckedException {
+ if (paramsBytes != null)
+ return;
+
+ assert params != null;
+
- paramsBytes = m.marshal(params);
++ paramsBytes = m.marshal(params).array();
}
- /** {@inheritDoc} */
- @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
- alias = U.readString(in);
- qry = U.readString(in);
- params = U.readArray(in);
+ /**
+ * @param m Marshaller.
+ * @throws IgniteCheckedException If failed.
+ */
+ public void unmarshallParams(Marshaller m) throws IgniteCheckedException {
+ if (params != null)
+ return;
+
+ assert paramsBytes != null;
- if (F.isEmpty(params))
- params = EMPTY_PARAMS;
- params = m.unmarshal(paramsBytes, null);
++ params = m.unmarshal(ByteBuffer.wrap(paramsBytes), null);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/core/src/main/resources/META-INF/classnames.properties
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/indexing/pom.xml
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/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 6709a89,975378c..c16579f
--- 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
@@@ -62,8 -64,8 +64,9 @@@ import javax.cache.*
import java.io.*;
import java.lang.reflect.*;
import java.math.*;
+import java.nio.*;
import java.sql.*;
+ import java.sql.Date;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2ValueCacheObject.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2ValueCacheObject.java
index 0000000,0a37674..55c09cd
mode 000000,100644..100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2ValueCacheObject.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2ValueCacheObject.java
@@@ -1,0 -1,191 +1,191 @@@
+ /*
+ * 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.query.h2.opt;
+
+ import org.apache.ignite.*;
+ import org.apache.ignite.internal.processors.cache.CacheObject;
+ import org.apache.ignite.internal.processors.cache.*;
+ import org.h2.message.*;
+ import org.h2.util.*;
+ import org.h2.value.*;
+
+ import java.sql.*;
+
+ /**
+ * H2 Value over {@link CacheObject}. Replacement for {@link ValueJavaObject}.
+ */
+ public class GridH2ValueCacheObject extends Value {
+ /** */
+ private CacheObject obj;
+
+ /** */
+ private GridCacheContext<?,?> cctx;
+
+ /**
+ * @param cctx Cache context.
+ * @param obj Object.
+ */
+ public GridH2ValueCacheObject(GridCacheContext<?,?> cctx, CacheObject obj) {
+ assert obj != null;
+
+ this.obj = obj;
+ this.cctx = cctx; // Allowed to be null in tests.
+ }
+
+ /**
+ * @return Cache object.
+ */
+ public CacheObject getCacheObject() {
+ return obj;
+ }
+
+ /**
+ * @return Cache context.
+ */
+ public GridCacheContext<?,?> getCacheContext() {
+ return cctx;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getSQL() {
+ throw new UnsupportedOperationException();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getType() {
+ return Value.JAVA_OBJECT;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getPrecision() {
+ return 0;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getDisplaySize() {
+ return 64;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getString() {
+ return getObject().toString();
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte[] getBytes() {
+ return Utils.cloneByteArray(getBytesNoCopy());
+ }
+
+ /**
+ * @return Cache object context.
+ */
+ private CacheObjectContext objectContext() {
+ return cctx == null ? null : cctx.cacheObjectContext();
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte[] getBytesNoCopy() {
+ if (obj.type() == CacheObject.TYPE_REGULAR) {
+ // Result must be the same as `marshaller.marshall(obj.value(coctx, false));`
+ try {
- return obj.valueBytes(objectContext());
++ return obj.valueBytes(objectContext()).array();
+ }
+ catch (IgniteCheckedException e) {
+ throw DbException.convert(e);
+ }
+ }
+
+ // For portables and byte array cache object types.
+ return Utils.serialize(obj.value(objectContext(), false), null);
+ }
+
+ /** {@inheritDoc} */
+ @Override public Object getObject() {
+ return obj.value(objectContext(), false);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void set(PreparedStatement prep, int parameterIndex) throws SQLException {
+ prep.setObject(parameterIndex, getObject(), Types.JAVA_OBJECT);
+ }
+
+ /** {@inheritDoc} */
+ @SuppressWarnings("unchecked")
+ @Override protected int compareSecure(Value v, CompareMode mode) {
+ Object o1 = getObject();
+ Object o2 = v.getObject();
+
+ boolean o1Comparable = o1 instanceof Comparable;
+ boolean o2Comparable = o2 instanceof Comparable;
+
+ if (o1Comparable && o2Comparable &&
+ Utils.haveCommonComparableSuperclass(o1.getClass(), o2.getClass())) {
+ Comparable<Object> c1 = (Comparable<Object>)o1;
+
+ return c1.compareTo(o2);
+ }
+
+ // Group by types.
+ if (o1.getClass() != o2.getClass()) {
+ if (o1Comparable != o2Comparable)
+ return o1Comparable ? -1 : 1;
+
+ return o1.getClass().getName().compareTo(o2.getClass().getName());
+ }
+
+ // Compare hash codes.
+ int h1 = hashCode();
+ int h2 = v.hashCode();
+
+ if (h1 == h2) {
+ if (o1.equals(o2))
+ return 0;
+
+ return Utils.compareNotNullSigned(getBytesNoCopy(), v.getBytesNoCopy());
+ }
+
+ return h1 > h2 ? 1 : -1;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int hashCode() {
+ return getObject().hashCode();
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean equals(Object other) {
+ if (!(other instanceof Value))
+ return false;
+
+ Value otherVal = (Value)other;
+
+ return otherVal.getType() == Value.JAVA_OBJECT
+ && getObject().equals(otherVal.getObject());
+ }
+
+ /** {@inheritDoc} */
+ @Override public Value convertPrecision(long precision, boolean force) {
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMemory() {
+ return 0;
+ }
+ }
+
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneIndex.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneIndex.java
index ca2186e,f2f11be..b3dae86
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneIndex.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridLuceneIndex.java
@@@ -167,7 -173,7 +174,7 @@@ public class GridLuceneIndex implement
}
}
- String keyStr = org.apache.commons.codec.binary.Base64.encodeBase64String(U.toArray(marshaller.marshal(key)));
- String keyStr = org.apache.commons.codec.binary.Base64.encodeBase64String(k.valueBytes(coctx));
++ String keyStr = org.apache.commons.codec.binary.Base64.encodeBase64String(k.valueBytes(coctx).array());
try {
// Delete first to avoid duplicates.
@@@ -178,19 -184,8 +185,8 @@@
doc.add(new Field(KEY_FIELD_NAME, keyStr, Field.Store.YES, Field.Index.NOT_ANALYZED));
- if (storeVal && type.valueClass() != String.class) {
- ByteBuffer buf = marshaller.marshal(val);
-
- if (buf.hasArray())
- doc.add(new Field(VAL_FIELD_NAME, buf.array(), buf.position(), buf.remaining()));
- else {
- byte[] bytes = new byte[buf.remaining()];
-
- buf.get(bytes);
-
- doc.add(new Field(VAL_FIELD_NAME, bytes));
- }
- }
+ if (type.valueClass() != String.class)
- doc.add(new Field(VAL_FIELD_NAME, v.valueBytes(coctx)));
++ doc.add(new Field(VAL_FIELD_NAME, v.valueBytes(coctx).array()));
doc.add(new Field(VER_FIELD_NAME, ver));
@@@ -213,10 -208,10 +209,10 @@@
* @param key Key.
* @throws IgniteCheckedException If failed.
*/
- public void remove(Object key) throws IgniteCheckedException {
+ public void remove(CacheObject key) throws IgniteCheckedException {
try {
writer.deleteDocuments(new Term(KEY_FIELD_NAME,
- org.apache.commons.codec.binary.Base64.encodeBase64String(U.toArray(marshaller.marshal(key)))));
- org.apache.commons.codec.binary.Base64.encodeBase64String(key.valueBytes(objectContext()))));
++ org.apache.commons.codec.binary.Base64.encodeBase64String(key.valueBytes(objectContext()).array())));
}
catch (IOException e) {
throw new IgniteCheckedException(e);
@@@ -341,6 -341,20 +342,20 @@@
}
/**
+ * @param bytes Bytes.
+ * @param ldr Class loader.
+ * @return Object.
+ * @throws IgniteCheckedException If failed.
+ */
+ @SuppressWarnings("unchecked")
+ private <Z> Z unmarshall(byte[] bytes, ClassLoader ldr) throws IgniteCheckedException {
+ if (coctx == null) // For tests.
+ return (Z)Utils.deserialize(bytes, null);
+
- return (Z)coctx.processor().unmarshal(coctx, bytes, ldr);
++ return (Z)coctx.unmarshal(ByteBuffer.wrap(bytes), ldr);
+ }
+
+ /**
* Finds next element.
*
* @throws IgniteCheckedException If failed.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQuerySelfTest.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQuerySelfTest.java
index 23fa81f,3159589..c91e430
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQuerySelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQuerySelfTest.java
@@@ -27,7 -27,9 +27,8 @@@ import org.apache.ignite.internal.*
import org.apache.ignite.internal.processors.cache.query.*;
import org.apache.ignite.internal.processors.datastructures.*;
import org.apache.ignite.internal.processors.query.*;
+ import org.apache.ignite.internal.processors.query.h2.sql.*;
import org.apache.ignite.internal.util.typedef.*;
-import org.apache.ignite.marshaller.optimized.*;
import org.apache.ignite.spi.discovery.*;
import org.apache.ignite.spi.discovery.tcp.*;
import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheQueryMultiThreadedSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/50cb10f3/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
index d52e173,3ec67b2..fa4bae2
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
@@@ -526,4 -540,68 +540,68 @@@ public abstract class GridIndexingSpiAb
return textIdx == null;
}
}
+
+ /**
+ */
+ private static class TestCacheObject implements CacheObject {
+ /** */
+ private Object val;
+
+ /**
+ * @param val Value.
+ */
+ private TestCacheObject(Object val) {
+ this.val = val;
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override public <T> T value(CacheObjectContext ctx, boolean cpy) {
+ return (T)val;
+ }
+
+ /** {@inheritDoc} */
- @Override public byte[] valueBytes(CacheObjectContext ctx) throws IgniteCheckedException {
- return Utils.serialize(val, null);
++ @Override public ByteBuffer valueBytes(CacheObjectContext ctx) throws IgniteCheckedException {
++ return ByteBuffer.wrap(Utils.serialize(val, null));
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte type() {
+ throw new UnsupportedOperationException();
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheObject prepareForCache(CacheObjectContext ctx) {
+ throw new UnsupportedOperationException();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void finishUnmarshal(CacheObjectContext ctx, ClassLoader ldr) throws IgniteCheckedException {
+ throw new UnsupportedOperationException();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void prepareMarshal(CacheObjectContext ctx) throws IgniteCheckedException {
+ throw new UnsupportedOperationException();
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
+ throw new UnsupportedOperationException();
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
+ throw new UnsupportedOperationException();
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte directType() {
+ throw new UnsupportedOperationException();
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte fieldsCount() {
+ throw new UnsupportedOperationException();
+ }
+ }
}