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 2017/05/26 14:06:37 UTC
[37/39] ignite git commit: Merge branch 'ignite-5075-cc' into
ignite-5075-cc-debug
Merge branch 'ignite-5075-cc' into ignite-5075-cc-debug
# Conflicts:
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEntry.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEventBuffer.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/7e56f3ae
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/7e56f3ae
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/7e56f3ae
Branch: refs/heads/ignite-5075-cc-debug
Commit: 7e56f3ae8cb616018cf267e9f4f16e66482f7ea5
Parents: 58919c5 be43bf8
Author: sboikov <sb...@gridgain.com>
Authored: Fri May 26 16:45:51 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri May 26 16:45:51 2017 +0300
----------------------------------------------------------------------
doap_Ignite.rdf | 2 +
.../examples/datagrid/CacheQueryExample.java | 2 +-
.../jdbc/suite/IgniteJdbcDriverTestSuite.java | 3 +
.../jdbc/thin/JdbcConnectionSelfTest.java | 195 ++
.../src/main/java/org/apache/ignite/Ignite.java | 18 +-
.../org/apache/ignite/IgniteJdbcThinDriver.java | 312 +++
.../configuration/CacheConfiguration.java | 5 +-
.../MemoryPolicyConfiguration.java | 96 +-
.../ignite/internal/GridKernalContext.java | 8 +-
.../ignite/internal/GridKernalContextImpl.java | 12 +-
.../org/apache/ignite/internal/IgniteEx.java | 27 +
.../apache/ignite/internal/IgniteKernal.java | 42 +-
.../internal/binary/BinaryWriterExImpl.java | 16 +-
.../internal/jdbc/thin/JdbcConnection.java | 529 +++++
.../ignite/internal/jdbc/thin/JdbcTcpIo.java | 207 ++
.../ignite/internal/jdbc2/JdbcConnection.java | 3 +-
.../managers/communication/GridIoManager.java | 380 +++-
.../communication/IgniteIoTestMessage.java | 362 ++-
.../managers/indexing/GridIndexingManager.java | 19 +-
.../processors/cache/ClusterCachesInfo.java | 10 +-
.../processors/cache/ExchangeActions.java | 2 +-
.../processors/cache/GridCacheIoManager.java | 6 +-
.../processors/cache/GridCacheMapEntry.java | 7 +-
.../GridCachePartitionExchangeManager.java | 2 +-
.../processors/cache/GridCacheProcessor.java | 47 +-
.../processors/cache/IgniteCacheProxy.java | 15 +-
.../IgniteCacheDatabaseSharedManager.java | 40 +
.../cache/database/MemoryMetricsImpl.java | 31 +-
.../cache/database/tree/BPlusTree.java | 64 +-
.../dht/GridClientPartitionTopology.java | 31 +-
.../dht/GridDhtPartitionTopology.java | 9 +-
.../dht/GridDhtPartitionTopologyImpl.java | 59 +-
.../GridDhtPartitionsExchangeFuture.java | 51 +-
.../cache/query/GridCacheQueryManager.java | 32 +-
.../continuous/CacheContinuousQueryEntry.java | 73 +-
.../CacheContinuousQueryEventBuffer.java | 224 +-
.../continuous/CacheContinuousQueryHandler.java | 4 +-
.../continuous/CacheContinuousQueryManager.java | 16 +-
.../CacheContinuousQueryPartitionRecovery.java | 2 +-
.../processors/odbc/OdbcNioListener.java | 242 --
.../internal/processors/odbc/OdbcProcessor.java | 199 --
.../odbc/SqlListenerAbstractMessageParser.java | 265 +++
.../odbc/SqlListenerAbstractObjectReader.java | 137 ++
.../odbc/SqlListenerAbstractObjectWriter.java | 111 +
.../processors/odbc/SqlListenerNioListener.java | 263 +++
.../processors/odbc/SqlListenerProcessor.java | 191 ++
.../odbc/SqlListenerRequestHandlerImpl.java | 494 ++++
.../processors/odbc/jdbc/JdbcMessageParser.java | 50 +
.../processors/odbc/jdbc/JdbcObjectReader.java | 33 +
.../processors/odbc/jdbc/JdbcObjectWriter.java | 33 +
.../processors/odbc/odbc/OdbcMessageParser.java | 249 +--
.../processors/odbc/odbc/OdbcObjectReader.java | 33 +
.../processors/odbc/odbc/OdbcObjectWriter.java | 32 +
.../odbc/odbc/OdbcRequestHandler.java | 513 -----
.../processors/query/GridQueryIndexing.java | 96 +-
.../processors/query/GridQueryProcessor.java | 232 +-
.../processors/query/QueryIndexKey.java | 20 +-
.../query/QueryTypeDescriptorImpl.java | 16 +-
.../processors/query/QueryTypeIdKey.java | 26 +-
.../processors/query/QueryTypeNameKey.java | 12 +-
.../internal/processors/query/QueryUtils.java | 14 +-
.../schema/SchemaIndexCacheVisitorImpl.java | 12 +-
.../operation/SchemaAbstractOperation.java | 2 +-
.../handlers/GridRestCommandHandlerAdapter.java | 3 +
.../handlers/cache/GridCacheCommandHandler.java | 10 +-
.../handlers/query/QueryCommandHandler.java | 13 +-
.../spi/indexing/IndexingQueryFilter.java | 8 +-
.../apache/ignite/spi/indexing/IndexingSpi.java | 17 +-
.../spi/indexing/noop/NoopIndexingSpi.java | 6 +-
...iteMarshallerCacheClassNameConflictTest.java | 9 +-
.../IgniteTxExceptionAbstractSelfTest.java | 6 +-
.../cache/MemoryPolicyConfigValidationTest.java | 62 +-
.../cache/query/IndexingSpiQuerySelfTest.java | 14 +-
.../cache/query/IndexingSpiQueryTxSelfTest.java | 6 +-
.../CacheContinuousQueryEventBufferTest.java | 7 +-
...eCacheContinuousQueryImmutableEntryTest.java | 4 +-
.../processors/igfs/IgfsIgniteMock.java | 24 +
.../odbc/OdbcProcessorValidationSelfTest.java | 182 --
.../SqlListenerProcessorValidationSelfTest.java | 184 ++
.../ignite/testframework/GridTestUtils.java | 8 +-
.../config/GridTestProperties.java | 3 +-
.../ignite/testframework/junits/IgniteMock.java | 5 +
.../junits/multijvm/IgniteProcessProxy.java | 18 +
.../ignite/testsuites/IgniteBasicTestSuite.java | 17 +-
.../testsuites/IgniteBinaryBasicTestSuite.java | 75 +-
...iteBinarySimpleNameMapperBasicTestSuite.java | 3 +-
.../query/h2/DmlStatementsProcessor.java | 71 +-
.../query/h2/GridH2ResultSetIterator.java | 191 --
.../query/h2/H2ConnectionWrapper.java | 67 +
.../processors/query/h2/H2DatabaseType.java | 161 ++
.../processors/query/h2/H2FieldsIterator.java | 50 +
.../processors/query/h2/H2KeyValueIterator.java | 48 +
.../query/h2/H2ResultSetIterator.java | 191 ++
.../processors/query/h2/H2RowDescriptor.java | 479 ++++
.../internal/processors/query/h2/H2Schema.java | 135 ++
.../processors/query/h2/H2SqlFieldMetadata.java | 111 +
.../processors/query/h2/H2StatementCache.java | 73 +
.../processors/query/h2/H2TableDescriptor.java | 345 +++
.../processors/query/h2/H2TableEngine.java | 89 +
.../query/h2/H2TwoStepCachedQuery.java | 49 +
.../query/h2/H2TwoStepCachedQueryKey.java | 107 +
.../internal/processors/query/h2/H2Utils.java | 299 +++
.../processors/query/h2/IgniteH2Indexing.java | 2112 +++---------------
.../query/h2/database/H2PkHashIndex.java | 4 +-
.../query/h2/database/H2TreeIndex.java | 4 +-
.../query/h2/ddl/DdlStatementsProcessor.java | 55 +-
.../query/h2/opt/GridH2IndexBase.java | 10 +-
.../processors/query/h2/opt/GridH2Table.java | 2 +-
.../query/h2/opt/GridH2TreeIndex.java | 2 +-
.../query/h2/opt/GridLuceneIndex.java | 15 +-
.../query/h2/sql/GridSqlCreateTable.java | 153 ++
.../query/h2/sql/GridSqlDropTable.java | 79 +
.../query/h2/sql/GridSqlQueryParser.java | 260 +++
.../query/h2/sql/GridSqlQuerySplitter.java | 4 +-
.../query/h2/twostep/GridMapQueryExecutor.java | 8 +-
.../h2/twostep/GridReduceQueryExecutor.java | 39 +-
.../cache/GridCacheCrossCacheQuerySelfTest.java | 12 +-
.../DynamicIndexAbstractBasicSelfTest.java | 18 +-
.../DynamicIndexAbstractConcurrentSelfTest.java | 8 +-
.../cache/index/H2DynamicTableSelfTest.java | 320 +++
.../query/IgniteQueryDedicatedPoolTest.java | 6 +-
.../h2/GridIndexingSpiAbstractSelfTest.java | 140 +-
.../query/h2/sql/GridQueryParsingTest.java | 286 ++-
.../IgniteCacheQuerySelfTestSuite.java | 2 +
.../cpp/odbc/include/ignite/odbc/message.h | 10 +
.../Impl/CacheFieldsQueryExecutor.cs | 39 -
.../Impl/CacheQueryableBase.cs | 14 +-
.../Impl/ICacheQueryableInternal.cs | 6 -
.../org/apache/ignite/IgniteSpringBean.java | 7 +
.../yardstick/IgniteBenchmarkArguments.java | 11 +
.../org/apache/ignite/yardstick/IgniteNode.java | 5 +
.../apache/ignite/yardstick/io/FileUtils.java | 64 +
132 files changed, 8742 insertions(+), 4341 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e56f3ae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e56f3ae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEventBuffer.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEventBuffer.java
index 5346144,7d33614..d0950ef
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEventBuffer.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEventBuffer.java
@@@ -28,9 -27,8 +27,10 @@@ import java.util.concurrent.ConcurrentS
import java.util.concurrent.atomic.AtomicReference;
import org.apache.ignite.IgniteSystemProperties;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
+import org.apache.ignite.spi.communication.tcp.TestDebugLog;
+import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.jetbrains.annotations.Nullable;
+ import org.jsr166.ConcurrentLinkedDeque8;
/**
*
@@@ -85,27 -83,31 +85,39 @@@ public class CacheContinuousQueryEventB
Batch batch = curBatch.get();
if (batch != null)
- entries = batch.backupFlushEntries();
+ ret = batch.flushCurrentEntries();
+
+ int size = backupQ.sizex();
- if (!backupQ.isEmpty()) {
- if (entries != null)
- backupQ.addAll(entries);
+ if (size > 0) {
+ if (ret == null)
+ ret = new ArrayList<>();
+
+ for (int i = 0; i < size; i++) {
+ CacheContinuousQueryEntry e = backupQ.pollFirst();
+
+ if (e != null)
+ ret.add(e);
+ else
+ break;
+ }
+ }
- ret = this.backupQ;
+ if (!pending.isEmpty()) {
+ if (ret == null)
+ ret = new ArrayList<>();
- backupQ = new ConcurrentLinkedDeque<>();
+ ret.addAll(pending.values());
}
- else
- ret = entries;
+ if (ret != null) {
+ for (CacheContinuousQueryEntry e : ret)
+ TestDebugLog.addEntryMessage(part,
+ e.updateCounter(),
+ "filtered " + e.filteredCount() +
+ " reset backup");
+ }
+
return ret;
}
@@@ -145,33 -147,29 +157,39 @@@
private Object process0(long cntr, CacheContinuousQueryEntry entry, boolean backup) {
assert cntr >= 0 : cntr;
- Batch batch = initBatch(entry.topologyVersion());
+ Batch batch;
+ Object res = null;
- if (batch == null || cntr < batch.startCntr) {
- if (backup)
- backupQ.add(entry);
+ for (;;) {
+ batch = initBatch(entry.topologyVersion());
+
+ if (batch == null || cntr < batch.startCntr) {
+ if (backup)
+ backupQ.add(entry);
- return entry;
- }
+ TestDebugLog.addEntryMessage(part,
+ cntr,
+ "buffer rcd small start=" + batch.startCntr +
+ " cntr=" + cntr +
+ ", backup=" + backup +
- " topVer=" + ((CacheContinuousQueryEntry)entry).topologyVersion());
-
- return entry;
++ " topVer=" + ((CacheContinuousQueryEntry)entry).topologyVersion());return entry;
+ }
- Object res = null;
+ if (cntr <= batch.endCntr) {
+ res = batch.processEntry0(null, cntr, entry, backup);
- if (cntr <= batch.endCntr)
- res = batch.processEvent0(null, cntr, entry, backup);
- else {
- if (res == RETRY)
++ if (
++ res = = RETRY)
+ continue;
+ }
- else
- pending.put(cntr, entry);
++ else{
+ TestDebugLog.addEntryMessage(part,
+ cntr,
+ "buffer add pending start=" + batch.startCntr +
+ " cntr=" + cntr +
- " topVer=" + ((CacheContinuousQueryEntry)entry).topologyVersion());
- pending.put(cntr, entry);
++ " topVer=" + ((CacheContinuousQueryEntry)entry).topologyVersion());pending.put(cntr, entry);}
+
+ break;
}
Batch batch0 = curBatch.get();
@@@ -200,19 -198,22 +218,22 @@@
if (batch != null)
return batch;
- long curCntr = currentPartitionCounter();
+ for (;;) {
+ long curCntr = currentPartitionCounter();
- if (curCntr == -1)
- return null;
+ if (curCntr == -1)
+ return null;
- TestDebugLog.addEntryMessage(part, curCntr, "created batch");
- batch = new Batch(curCntr + 1, 0L, new CacheContinuousQueryEntry[BUF_SIZE], topVer);
++ TestDebugLog.addEntryMessage(part, curCntr, "created batch");batch = new Batch(curCntr + 1, 0L, new CacheContinuousQueryEntry[BUF_SIZE], topVer);
- batch = new Batch(curCntr + 1, 0L, new CacheContinuousQueryEntry[BUF_SIZE], topVer);
+ if (curBatch.compareAndSet(null, batch))
+ return batch;
- if (curBatch.compareAndSet(null, batch))
- return batch;
+ batch = curBatch.get();
- return curBatch.get();
+ if (batch != null)
+ return batch;
+ }
}
/**
@@@ -376,13 -423,9 +443,16 @@@
int pos = (int)(cntr - startCntr);
synchronized (this) {
+ if (entries == null)
+ return RETRY;
+
+ TestDebugLog.addEntryMessage(part,
+ cntr,
+ "buffer process start=" + startCntr +
+ ", lastProc=" + lastProc +
+ " pos=" + pos +
+ " topVer=" + entry.topologyVersion());
+
entries[pos] = entry;
int next = lastProc + 1;
@@@ -405,45 -440,11 +475,20 @@@
filtered = 0;
- if (res == null) {
- if (backup)
- backupQ.add(entry0);
- else
- res = entry0;
- }
- else {
- assert !backup;
-
- List<CacheContinuousQueryEntry> resList;
-
- if (res instanceof CacheContinuousQueryEntry) {
- resList = new ArrayList<>();
-
- resList.add((CacheContinuousQueryEntry)res);
- }
- else {
- assert res instanceof List : res;
-
- resList = (List<CacheContinuousQueryEntry>)res;
- }
-
- resList.add(entry0);
-
- res = resList;
- }
+ res = addResult(res, entry0, backup);
}
- else
+ else {
filtered++;
+ TestDebugLog.addEntryMessage(part,
+ cntr,
+ "buffer process inc filtered start=" + startCntr +
+ ", lastProc=" + lastProc +
+ " pos=" + pos +
+ ", filtered=" + filtered +
+ " topVer=" + entry0.topologyVersion());
+ }
+
pos = i;
}
else
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e56f3ae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/7e56f3ae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryPartitionRecovery.java
----------------------------------------------------------------------