Skip to content

Commit a3680b0

Browse files
Merge remote-tracking branch 'origin/master' into ignite-26582
2 parents 1d10f3e + a1abd2c commit a3680b0

File tree

43 files changed

+729
-515
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+729
-515
lines changed

modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/integration/IndexDdlIntegrationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,6 @@ private Collection<Index> indexes(String cacheName) {
203203

204204
/** */
205205
private LinkedHashMap<String, IndexKeyDefinition> indexKeyDefinitions(Index idx) {
206-
return grid(0).context().indexProcessor().indexDefinition(idx.id()).indexKeyDefinitions();
206+
return idx.indexDefinition().indexKeyDefinitions();
207207
}
208208
}

modules/core/src/main/java/org/apache/ignite/internal/cache/query/index/IndexProcessor.java

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
import java.util.HashMap;
2424
import java.util.List;
2525
import java.util.Map;
26-
import java.util.UUID;
27-
import java.util.concurrent.ConcurrentHashMap;
2826
import java.util.concurrent.locks.ReentrantReadWriteLock;
2927
import org.apache.ignite.IgniteCheckedException;
3028
import org.apache.ignite.IgniteLogger;
@@ -112,12 +110,7 @@ public static void registerIO() {
112110
/**
113111
* Registry of all indexes. High key is a cache name, lower key is an unique index name.
114112
*/
115-
private final Map<String, Map<String, Index>> cacheToIdx = new ConcurrentHashMap<>();
116-
117-
/**
118-
* Registry of all index definitions. Key is {@link Index#id()}, value is IndexDefinition used for creating index.
119-
*/
120-
private final Map<UUID, IndexDefinition> idxDefs = new ConcurrentHashMap<>();
113+
private final Map<String, Map<String, Index>> cacheToIdx = new HashMap<>();
121114

122115
/** Exclusive lock for DDL operations. */
123116
private final ReentrantReadWriteLock ddlLock = new ReentrantReadWriteLock();
@@ -242,7 +235,7 @@ public Index createIndex(GridCacheContext<?, ?> cctx, IndexFactory factory, Inde
242235
try {
243236
String cacheName = definition.idxName().cacheName();
244237

245-
cacheToIdx.putIfAbsent(cacheName, new ConcurrentHashMap<>());
238+
cacheToIdx.putIfAbsent(cacheName, new HashMap<>());
246239

247240
String uniqIdxName = definition.idxName().fullName();
248241

@@ -253,8 +246,6 @@ public Index createIndex(GridCacheContext<?, ?> cctx, IndexFactory factory, Inde
253246

254247
cacheToIdx.get(cacheName).put(uniqIdxName, idx);
255248

256-
idxDefs.put(idx.id(), definition);
257-
258249
return idx;
259250

260251
}
@@ -281,11 +272,8 @@ public void removeIndex(IndexName idxName, boolean softDelete) {
281272

282273
Index idx = idxs.remove(idxName.fullName());
283274

284-
if (idx != null) {
275+
if (idx != null)
285276
idx.destroy(softDelete);
286-
idxDefs.remove(idx.id());
287-
}
288-
289277
}
290278
finally {
291279
ddlLock.writeLock().unlock();
@@ -421,16 +409,6 @@ public Collection<Index> indexes(String cacheName) {
421409
}
422410
}
423411

424-
/**
425-
* Returns IndexDefinition used for creating index specified id.
426-
*
427-
* @param idxId UUID of index.
428-
* @return IndexDefinition used for creating index with id {@code idxId}.
429-
*/
430-
public IndexDefinition indexDefinition(UUID idxId) {
431-
return idxDefs.get(idxId);
432-
}
433-
434412
/**
435413
* Unregisters cache.
436414
*
@@ -638,7 +616,7 @@ public Map<String, Integer> secondaryIndexesInlineSize() {
638616
for (Index idx : idxs.values()) {
639617
if (idx instanceof InlineIndex && !QueryUtils.PRIMARY_KEY_INDEX.equals(idx.name())) {
640618
InlineIndex idx0 = (InlineIndex)idx;
641-
IndexDefinition idxDef = indexDefinition(idx.id());
619+
IndexDefinition idxDef = idx.indexDefinition();
642620
IndexName idxName = idxDef.idxName();
643621

644622
map.put(

modules/core/src/main/java/org/apache/ignite/internal/cache/query/index/IndexQueryProcessor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public <K, V> IndexQueryResult<K, V> queryLocal(
9393

9494
GridCursor<IndexRow> cursor = queryMultipleRanges(idx, cacheFilter, qry);
9595

96-
SortedIndexDefinition def = (SortedIndexDefinition)idxProc.indexDefinition(idx.id());
96+
SortedIndexDefinition def = idx.indexDefinition();
9797

9898
IndexQueryResultMeta meta = new IndexQueryResultMeta(def, qry.critSize());
9999

@@ -274,7 +274,7 @@ private SortedSegmentedIndex assertSortedIndex(Index idx) throws IgniteCheckedEx
274274
* Criteria fields have to match to a prefix of the index. Order of fields in criteria doesn't matter.
275275
*/
276276
private boolean checkIndex(SortedSegmentedIndex idx, String tblName, Map<String, String> criteriaFlds) {
277-
IndexDefinition idxDef = idxProc.indexDefinition(idx.id());
277+
IndexDefinition idxDef = idx.indexDefinition();
278278

279279
if (!tblName.equals(idxDef.idxName().tableName()))
280280
return false;
@@ -411,7 +411,7 @@ private GridCursor<IndexRow> querySortedIndex(
411411
IndexingQueryFilter cacheFilter,
412412
IndexSingleRangeQuery qry
413413
) throws IgniteCheckedException {
414-
IndexRowComparator rowCmp = ((SortedIndexDefinition)idxProc.indexDefinition(idx.id())).rowComparator();
414+
IndexRowComparator rowCmp = idx.indexDefinition().rowComparator();
415415

416416
BPlusTree.TreeRowClosure<IndexRow, IndexRow> treeFilter = qry.filter(rowCmp);
417417

modules/core/src/main/java/org/apache/ignite/internal/cache/query/index/sorted/defragmentation/IndexingDefragmentation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ private boolean defragmentTable(
145145
for (InlineIndex oldIdx : indexes.idxs) {
146146
InlineIndexRowHandler oldRowHnd = oldIdx.segment(0).rowHandler();
147147

148-
SortedIndexDefinition idxDef = (SortedIndexDefinition)indexing.indexDefinition(oldIdx.id());
148+
SortedIndexDefinition idxDef = oldIdx.indexDefinition();
149149

150150
InlineIndexImpl newIdx = new DefragIndexFactory(newCtx.offheap(), newCachePageMemory, oldIdx)
151151
.createIndex(cctx, idxDef)
@@ -224,7 +224,7 @@ private Collection<TableIndexes> tables(CacheGroupContext gctx) {
224224
List<InlineIndex> indexes = indexing.treeIndexes(cctx.name(), false);
225225

226226
for (InlineIndex idx: indexes) {
227-
String table = indexing.indexDefinition(idx.id()).idxName().tableName();
227+
String table = idx.indexDefinition().idxName().tableName();
228228

229229
idxs.putIfAbsent(table, new TableIndexes(cctx, table));
230230

modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
import org.apache.ignite.internal.codegen.GridDhtAffinityAssignmentRequestSerializer;
5656
import org.apache.ignite.internal.codegen.GridDhtAtomicDeferredUpdateResponseSerializer;
5757
import org.apache.ignite.internal.codegen.GridDhtAtomicNearResponseSerializer;
58+
import org.apache.ignite.internal.codegen.GridDhtAtomicSingleUpdateRequestSerializer;
5859
import org.apache.ignite.internal.codegen.GridDhtAtomicUpdateResponseSerializer;
5960
import org.apache.ignite.internal.codegen.GridDhtForceKeysRequestSerializer;
6061
import org.apache.ignite.internal.codegen.GridDhtForceKeysResponseSerializer;
@@ -307,7 +308,7 @@ public class GridIoMessageFactory implements MessageFactoryProvider {
307308
factory.register((short)-48, GridDhtAtomicNearResponse::new, new GridDhtAtomicNearResponseSerializer());
308309
factory.register((short)-45, GridChangeGlobalStateMessageResponse::new, new GridChangeGlobalStateMessageResponseSerializer());
309310
factory.register((short)-43, IgniteIoTestMessage::new);
310-
factory.register((short)-36, GridDhtAtomicSingleUpdateRequest::new);
311+
factory.register((short)-36, GridDhtAtomicSingleUpdateRequest::new, new GridDhtAtomicSingleUpdateRequestSerializer());
311312
factory.register((short)-27, GridDhtTxOnePhaseCommitAckRequest::new, new GridDhtTxOnePhaseCommitAckRequestSerializer());
312313
factory.register((short)-26, TxLockList::new, new TxLockListSerializer());
313314
factory.register((short)-25, TxLock::new, new TxLockSerializer());
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
package org.apache.ignite.internal.managers.discovery;
19+
20+
import org.apache.ignite.internal.codegen.TcpDiscoveryCheckFailedMessageSerializer;
21+
import org.apache.ignite.plugin.extensions.communication.MessageFactory;
22+
import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
23+
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCheckFailedMessage;
24+
25+
/** Message factory for discovery messages. */
26+
public class DiscoveryMessageFactory implements MessageFactoryProvider {
27+
/** {@inheritDoc} */
28+
@Override public void registerAll(MessageFactory factory) {
29+
factory.register((short)0, TcpDiscoveryCheckFailedMessage::new, new TcpDiscoveryCheckFailedMessageSerializer());
30+
}
31+
}

modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicAbstractUpdateFuture.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import javax.cache.processor.EntryProcessor;
2727
import org.apache.ignite.IgniteCheckedException;
2828
import org.apache.ignite.IgniteLogger;
29-
import org.apache.ignite.cache.CacheWriteSynchronizationMode;
3029
import org.apache.ignite.cluster.ClusterNode;
3130
import org.apache.ignite.internal.IgniteInternalFuture;
3231
import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
@@ -171,8 +170,6 @@ final void addWriteEntry(
171170
if (log.isDebugEnabled())
172171
log.debug("Mapping entry to DHT nodes [nodes=" + nodeIds(dhtNodes) + ", entry=" + entry + ']');
173172

174-
CacheWriteSynchronizationMode syncMode = updateReq.writeSynchronizationMode();
175-
176173
addDhtKey(entry.key(), dhtNodes);
177174

178175
for (int i = 0; i < dhtNodes.size(); i++) {
@@ -188,7 +185,6 @@ final void addWriteEntry(
188185
node.id(),
189186
futId,
190187
writeVer,
191-
syncMode,
192188
topVer,
193189
ttl,
194190
conflictExpireTime,
@@ -245,8 +241,6 @@ final void addNearWriteEntries(
245241
boolean readRepairRecovery) {
246242
assert readers != null;
247243

248-
CacheWriteSynchronizationMode syncMode = updateReq.writeSynchronizationMode();
249-
250244
addNearKey(entry.key(), readers);
251245

252246
AffinityTopologyVersion topVer = updateReq.topologyVersion();
@@ -278,7 +272,6 @@ final void addNearWriteEntries(
278272
node.id(),
279273
futId,
280274
writeVer,
281-
syncMode,
282275
topVer,
283276
ttl,
284277
expireTime,
@@ -435,7 +428,7 @@ private void initMapping(GridNearAtomicUpdateResponse updateRes) {
435428

436429
/**
437430
* @param nearNode Near node.
438-
* @param sndRes {@code True} if allow to send result from DHT nodes.
431+
* @param sndRes {@code True} if allow sending result from DHT nodes.
439432
* @param ret Return value.
440433
*/
441434
private void sendDhtRequests(ClusterNode nearNode, GridCacheReturn ret, boolean sndRes) {
@@ -513,7 +506,6 @@ final void onDhtResponse(UUID nodeId, GridDhtAtomicUpdateResponse res) {
513506
* @param nodeId Node ID.
514507
* @param futId Future ID.
515508
* @param writeVer Update version.
516-
* @param syncMode Write synchronization mode.
517509
* @param topVer Topology version.
518510
* @param ttl TTL.
519511
* @param conflictExpireTime Conflict expire time.
@@ -525,7 +517,6 @@ protected abstract GridDhtAtomicAbstractUpdateRequest createRequest(
525517
UUID nodeId,
526518
long futId,
527519
GridCacheVersion writeVer,
528-
CacheWriteSynchronizationMode syncMode,
529520
@NotNull AffinityTopologyVersion topVer,
530521
long ttl,
531522
long conflictExpireTime,

0 commit comments

Comments
 (0)