diff --git a/modules/core/src/main/java/org/apache/ignite/cache/PartitionLossPolicy.java b/modules/core/src/main/java/org/apache/ignite/cache/PartitionLossPolicy.java index 7c9b2a7ffa692..1ad4cc62f55c8 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/PartitionLossPolicy.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/PartitionLossPolicy.java @@ -59,7 +59,11 @@ public enum PartitionLossPolicy { /** * All reads and writes will proceed as if all partitions were in a consistent state. The result of reading * from a lost partition is undefined and may be different on different nodes in the cluster. + * + * @deprecated Since 2.8. This policy can lead to weird scenarios that are impossible to solve with current + * architecture. */ + @Deprecated READ_WRITE_ALL, /** diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java index 07fbef1284c62..b7ccecebb335d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java @@ -263,7 +263,7 @@ private void onCacheGroupStopped(AffinityTopologyVersion topVer) { * @param top Topology. * @param checkGrpId Group ID. */ - void checkRebalanceState(GridDhtPartitionTopology top, Integer checkGrpId) { + public void checkRebalanceState(GridDhtPartitionTopology top, Integer checkGrpId) { CacheAffinityChangeMessage msg = null; synchronized (mux) { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java index 5997f57b8c2f5..5c4a8e5d2090d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java @@ -1551,6 +1551,8 @@ void decrementSize(int cacheId) { /** {@inheritDoc} */ @Override public void updateSize(int cacheId, long delta) { +// U.dumpStack("update size " + ctx.cache().cacheDescriptor(cacheId).cacheName() + "< delta = " + delta); + storageSize.addAndGet(delta); if (grp.sharedGroup()) { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java index 89e03a2c67ac4..e5278ed04ed0a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java @@ -1449,6 +1449,14 @@ private void distributedExchange() throws IgniteCheckedException { try { if (crd.isLocal()) { + if (exchActions != null) { + Collection caches = exchActions.cachesToResetLostPartitions(); + + // Reset lost partitions on coordinator before update cache topology from single messages. + if (!F.isEmpty(caches)) + resetLostPartitions(caches); + } + if (remaining.isEmpty()) onAllReceived(null); } @@ -1805,6 +1813,8 @@ private void sendLocalPartitions(ClusterNode node) throws IgniteCheckedException true); } else { + log.info("single message"); + msg = cctx.exchange().createPartitionsSingleMessage(exchangeId(), false, true, @@ -3245,10 +3255,11 @@ private void finishExchangeOnCoordinator(@Nullable Collection sndRe if (exchActions != null) { assignPartitionsStates(); - Set caches = exchActions.cachesToResetLostPartitions(); + for (String cache : exchActions.cachesToResetLostPartitions()) { + GridCacheContext ctx = cctx.cacheContext(CU.cacheId(cache)); - if (!F.isEmpty(caches)) - resetLostPartitions(caches); + cctx.affinity().checkRebalanceState(ctx.topology(), ctx.groupId()); + } } } else if (discoveryCustomMessage instanceof SnapshotDiscoveryMessage diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java index c1f742eeaf7df..fb09c02b33da5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java @@ -80,6 +80,18 @@ * Key partition. */ public class GridDhtLocalPartition extends GridCacheConcurrentMapImpl implements Comparable, GridReservable { + public static final ConcurrentMap> MEGAMAP = new ConcurrentHashMap<>(); + + public void putState(GridDhtPartitionState oldState, GridDhtPartitionState newState) { + + if (grp.hasCache("default")) { + String nodeId = ctx.localNodeId().toString(); + String nodeIdx = nodeId.substring(nodeId.length() - 3); + + MEGAMAP.computeIfAbsent(nodeIdx, (v) -> new ConcurrentHashMap<>()).computeIfAbsent(id, v -> new StringBuilder(oldState.toString())).append(" -> ").append(newState); + } + } + /** */ private static final GridCacheMapEntryFactory ENTRY_FACTORY = GridDhtCacheEntry::new; @@ -559,6 +571,8 @@ private boolean casState(long state, GridDhtPartitionState toState) { boolean update = this.state.compareAndSet(state, setPartState(state, toState)); if (update) { + putState(prevState, toState); + try { ctx.wal().log(new PartitionMetaStateRecord(grp.groupId(), id, toState, updateCounter())); } @@ -582,6 +596,8 @@ private boolean casState(long state, GridDhtPartitionState toState) { boolean update = this.state.compareAndSet(state, setPartState(state, toState)); if (update) { + putState(prevState, toState); + if (log.isDebugEnabled()) log.debug("Partition changed state [grp=" + grp.cacheOrGroupName() + ", p=" + id + ", prev=" + prevState + ", to=" + toState + "]"); @@ -665,6 +681,8 @@ public IgniteInternalFuture rent(boolean updateSeq) { delayedRenting = true; if (getReservations(state0) == 0 && casState(state0, RENTING)) { + log.info(id() + " - " + RENTING + " clear async"); + delayedRenting = false; // Evict asynchronously, as the 'rent' method may be called @@ -854,7 +872,7 @@ public void awaitDestroy() { if (state() != EVICTED) return; - final long timeout = 10_000; + final long timeout = 30_000; for (;;) { try { @@ -1007,6 +1025,8 @@ public long updateCounter() { * @param val Update counter value. */ public void updateCounter(long val) { + log.info(" update cntr " + id() + ", cntr=" + val); + store.updateCounter(val); } @@ -1031,7 +1051,12 @@ public void initialUpdateCounter(long val) { * @return Update counter value before update. */ public long getAndIncrementUpdateCounter(long delta) { - return store.getAndIncrementUpdateCounter(delta); + long cntr = store.getAndIncrementUpdateCounter(delta); + +// if (cntr == 0) + log.info(" update cntr " + id() + ", cntr=" + cntr); + + return cntr; } /** @@ -1041,6 +1066,9 @@ public long getAndIncrementUpdateCounter(long delta) { * @param delta Delta. */ public void updateCounter(long start, long delta) { +// if (start == 0) +// log.info(" update cntr " + id() + ", start=" + start + ", delta=" + delta); + store.updateCounter(start, delta); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java index c90d40f9ce15e..db7268ad0c9e9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java @@ -1057,6 +1057,9 @@ else if (loc != null && state == RENTING && !showRenting) { if (part == null) continue; + if (part.state() == RENTING) + log.info(">xxx> observing RENTING " + part.id()); + map.put(i, part.state()); } @@ -2127,6 +2130,25 @@ else if (plc != PartitionLossPolicy.IGNORE) { lock.writeLock().lock(); try { + // LOST partitions that has at least one owner. + Set hasOwner = new HashSet<>(); + + for (GridDhtLocalPartition part : localPartitions()) { + if (part.state() != LOST) + continue; + + for (Map.Entry e : node2part.entrySet()) { + if (e.getValue().get(part.id()) != OWNING) + continue; + + assert !ctx.localNodeId().equals(e.getKey()); + + hasOwner.add(part.id()); + + break; + } + } + long updSeq = updateSeq.incrementAndGet(); for (Map.Entry e : node2part.entrySet()) { @@ -2134,6 +2156,11 @@ else if (plc != PartitionLossPolicy.IGNORE) { if (e0.getValue() != LOST) continue; +// AffinityAssignment assignment = grp.affinity().cachedAffinity(resTopVer); +// +// if (!assignment.idealAssignment().get(e0.getKey()).contains(ctx.discovery().node(e.getKey()))) +// continue; + e0.setValue(OWNING); GridDhtLocalPartition locPart = localPartition(e0.getKey(), resTopVer, false); @@ -2146,8 +2173,17 @@ else if (plc != PartitionLossPolicy.IGNORE) { long updateCntr = locPart.updateCounter(); - //Set update counters to 0, for full rebalance. - locPart.updateCounter(updateCntr, -updateCntr); + if (hasOwner.contains(locPart.id())) { + // Set update counters to 0, for full rebalance. + log.info(">xxx> " + grp.cacheOrGroupName() + " there is owner for " + locPart.id() + " reset counter 0"); + + locPart.updateCounter(updateCntr, -updateCntr); + } + else + log.info(">xxx> " + grp.cacheOrGroupName() + " there is no owner for " + locPart.id() + ", keeping update cntr = " + updateCntr); + + assert locPart.initialUpdateCounter() == 0 : locPart.initialUpdateCounter(); + locPart.initialUpdateCounter(0); } } @@ -2260,6 +2296,19 @@ else if (plc != PartitionLossPolicy.IGNORE) { } } +// if (lostParts != null) { +// for (Map.Entry e : node2part.entrySet()) { +// if (e.getKey().equals(ctx.localNodeId())) +// continue; +// +// for (Integer part : lostParts) { +// GridDhtPartitionState state = e.getValue().get(part); +// if (state != null && state.active()) +// e.getValue().put(part, LOST); +// } +// } +// } + node2part = new GridDhtPartitionFullMap(node2part, updateSeq.incrementAndGet()); } finally { lock.writeLock().unlock(); @@ -2344,7 +2393,7 @@ private boolean checkEvictions(long updateSeq, AffinityAssignment aff) { if (nodeIds.containsAll(F.nodeIds(affNodes))) { GridDhtPartitionState state0 = part.state(); - IgniteInternalFuture rentFut = part.rent(false); + IgniteInternalFuture rentFut = part.rent(true); rentingFutures.add(rentFut); @@ -2375,7 +2424,7 @@ private boolean checkEvictions(long updateSeq, AffinityAssignment aff) { if (locId.equals(n.id())) { GridDhtPartitionState state0 = part.state(); - IgniteInternalFuture rentFut = part.rent(false); + IgniteInternalFuture rentFut = part.rent(true); rentingFutures.add(rentFut); @@ -2415,6 +2464,7 @@ private boolean checkEvictions(long updateSeq, AffinityAssignment aff) { log.debug("Partitions have been scheduled to resend [reason=" + "Evictions are done [grp" + grp.cacheOrGroupName() + "]"); + log.info("schedule resend"); ctx.exchange().scheduleResendPartitions(); } finally { diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java index 3855c39cb58af..9b5bc6bf84cac 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java @@ -24,6 +24,7 @@ import java.util.Map; import java.util.Set; import java.util.TreeSet; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore; @@ -48,8 +49,10 @@ import org.apache.ignite.internal.managers.communication.GridIoMessage; import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; import org.apache.ignite.internal.processors.cache.CacheGroupContext; +import org.apache.ignite.internal.processors.cache.distributed.CacheBlockOnReadAbstractTest.RunnableX; import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsAbstractMessage; import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsFullMessage; +import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtLocalPartition; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.G; import org.apache.ignite.internal.util.typedef.P1; @@ -66,6 +69,7 @@ import static java.util.Arrays.asList; import static java.util.Collections.singletonList; +import static org.apache.ignite.IgniteSystemProperties.IGNITE_PRELOAD_RESEND_TIMEOUT; import static org.apache.ignite.cache.CacheMode.PARTITIONED; import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC; @@ -163,304 +167,352 @@ protected CacheConfiguration cacheConfiguration() { super.afterTest(); } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadOnlySafe() throws Exception { +// checkReadOnlySafe(); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadOnlySafeNoResendDelay() throws Exception { +// withoutResendDelay(this::checkReadOnlySafe); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadOnlySafeWithPersistence() throws Exception { +// isPersistenceEnabled = true; +// +// checkReadOnlySafe(); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadOnlySafeWithPersistenceNoResendDelay() throws Exception { +// isPersistenceEnabled = true; +// +// withoutResendDelay(this::checkReadOnlySafe); +// } +// +// /** +// * @throws Exception if failed. +// */ +// private void checkReadOnlySafe() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_ONLY_SAFE; +// +// checkLostPartition(false, true, killSingleNode); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadOnlyAll() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_ONLY_ALL; +// +// checkLostPartition(false, false, killSingleNode); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadOnlyAllWithPersistence() throws Exception { +// fail("https://issues.apache.org/jira/browse/IGNITE-10041"); +// +// partLossPlc = PartitionLossPolicy.READ_ONLY_ALL; +// +// isPersistenceEnabled = true; +// +// checkLostPartition(false, false, killSingleNode); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteSafe() throws Exception { +// checkReadWriteSafe(); +// } /** * @throws Exception if failed. */ @Test - public void testReadOnlySafe() throws Exception { - partLossPlc = PartitionLossPolicy.READ_ONLY_SAFE; + public void testReadWriteSafeNoResendDelay() throws Exception { + GridDhtLocalPartition.MEGAMAP.clear(); - checkLostPartition(false, true, killSingleNode); + withoutResendDelay(this::checkReadWriteSafe); } +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteSafeWithPersistence() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; +// +// checkReadWriteSafe(); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteSafeWithPersistenceNoResendDelay() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; +// +// withoutResendDelay(this::checkReadWriteSafe); +// } +// /** * @throws Exception if failed. */ - @Test - public void testReadOnlySafeWithPersistence() throws Exception { - partLossPlc = PartitionLossPolicy.READ_ONLY_SAFE; - - isPersistenceEnabled = true; - - checkLostPartition(false, true, killSingleNode); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadOnlyAll() throws Exception { - partLossPlc = PartitionLossPolicy.READ_ONLY_ALL; - - checkLostPartition(false, false, killSingleNode); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadOnlyAllWithPersistence() throws Exception { - fail("https://issues.apache.org/jira/browse/IGNITE-10041"); - - partLossPlc = PartitionLossPolicy.READ_ONLY_ALL; - - isPersistenceEnabled = true; - - checkLostPartition(false, false, killSingleNode); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteSafe() throws Exception { + private void checkReadWriteSafe() throws Exception { partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; checkLostPartition(true, true, killSingleNode); } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteSafeWithPersistence() throws Exception { - partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; - - isPersistenceEnabled = true; - - checkLostPartition(true, true, killSingleNode); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteAll() throws Exception { - partLossPlc = PartitionLossPolicy.READ_WRITE_ALL; - - checkLostPartition(true, false, killSingleNode); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteAllWithPersistence() throws Exception { - fail("https://issues.apache.org/jira/browse/IGNITE-10041"); - - partLossPlc = PartitionLossPolicy.READ_WRITE_ALL; - - isPersistenceEnabled = true; - - checkLostPartition(true, false, killSingleNode); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteSafeAfterKillTwoNodes() throws Exception { - partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; - - checkLostPartition(true, true, new TopologyChanger(false, asList(3, 2), asList(0, 1, 4), 0)); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteSafeAfterKillTwoNodesWithPersistence() throws Exception { - partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; - - isPersistenceEnabled = true; - - checkLostPartition(true, true, new TopologyChanger(false, asList(3, 2), asList(0, 1, 4), 0)); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteSafeAfterKillTwoNodesWithDelay() throws Exception { - partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; - - checkLostPartition(true, true, new TopologyChanger(false, asList(3, 2), asList(0, 1, 4), 20)); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteSafeAfterKillTwoNodesWithDelayWithPersistence() throws Exception { - partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; - - isPersistenceEnabled = true; - - checkLostPartition(true, true, new TopologyChanger(false, asList(3, 2), asList(0, 1, 4), 20)); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteSafeWithBackupsAfterKillThreeNodes() throws Exception { - partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; - - backups = 1; - - checkLostPartition(true, true, new TopologyChanger(true, asList(3, 2, 1), asList(0, 4), 0)); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteSafeWithBackupsAfterKillThreeNodesWithPersistence() throws Exception { - partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; - - backups = 1; - - isPersistenceEnabled = true; - - checkLostPartition(true, true, new TopologyChanger(true, asList(3, 2, 1), asList(0, 4), 0)); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteSafeAfterKillCrd() throws Exception { - partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; - - checkLostPartition(true, true, new TopologyChanger(true, asList(3, 0), asList(1, 2, 4), 0)); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteSafeAfterKillCrdWithPersistence() throws Exception { - partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; - - isPersistenceEnabled = true; - - checkLostPartition(true, true, new TopologyChanger(true, asList(3, 0), asList(1, 2, 4), 0)); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteSafeWithBackups() throws Exception { - partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; - - backups = 1; - - checkLostPartition(true, true, new TopologyChanger(true, asList(3, 2), asList(0, 1, 4), 0)); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteSafeWithBackupsWithPersistence() throws Exception { - partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; - - backups = 1; - - isPersistenceEnabled = true; - - checkLostPartition(true, true, new TopologyChanger(true, asList(3, 2), asList(0, 1, 4), 0)); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteSafeWithBackupsAfterKillCrd() throws Exception { - partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; - - backups = 1; - - checkLostPartition(true, true, new TopologyChanger(true, asList(3, 0), asList(1, 2, 4), 0)); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testReadWriteSafeWithBackupsAfterKillCrdWithPersistence() throws Exception { - partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; - - backups = 1; - - isPersistenceEnabled = true; - - checkLostPartition(true, true, new TopologyChanger(true, asList(3, 0), asList(1, 2, 4), 0)); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testIgnore() throws Exception { - fail("https://issues.apache.org/jira/browse/IGNITE-5078"); - - partLossPlc = PartitionLossPolicy.IGNORE; - - checkIgnore(killSingleNode); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testIgnoreWithPersistence() throws Exception { - fail("https://issues.apache.org/jira/browse/IGNITE-5078"); - - fail("https://issues.apache.org/jira/browse/IGNITE-10041"); - - partLossPlc = PartitionLossPolicy.IGNORE; - - isPersistenceEnabled = true; - - checkIgnore(killSingleNode); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testIgnoreKillThreeNodes() throws Exception { - partLossPlc = PartitionLossPolicy.IGNORE; - - // TODO aliveNodes should include node 4, but it fails due to https://issues.apache.org/jira/browse/IGNITE-5078. - // TODO need to add 4 to the aliveNodes after IGNITE-5078 is fixed. - // TopologyChanger onlyCrdIsAlive = new TopologyChanger(false, Arrays.asList(1, 2, 3), Arrays.asList(0, 4), 0); - TopologyChanger onlyCrdIsAlive = new TopologyChanger(false, asList(1, 2, 3), singletonList(0), 0); - - checkIgnore(onlyCrdIsAlive); - } - - /** - * @throws Exception if failed. - */ - @Test - public void testIgnoreKillThreeNodesWithPersistence() throws Exception { - fail("https://issues.apache.org/jira/browse/IGNITE-10041"); - - partLossPlc = PartitionLossPolicy.IGNORE; - - isPersistenceEnabled = true; - - // TODO aliveNodes should include node 4, but it fails due to https://issues.apache.org/jira/browse/IGNITE-5078. - // TODO need to add 4 to the aliveNodes after IGNITE-5078 is fixed. - // TopologyChanger onlyCrdIsAlive = new TopologyChanger(false, Arrays.asList(1, 2, 3), Arrays.asList(0, 4), 0); - TopologyChanger onlyCrdIsAlive = new TopologyChanger(false, asList(1, 2, 3), singletonList(0), 0); - - checkIgnore(onlyCrdIsAlive); - } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteAll() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_WRITE_ALL; +// +// checkLostPartition(true, false, killSingleNode); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteAllWithPersistence() throws Exception { +// fail("https://issues.apache.org/jira/browse/IGNITE-10041"); +// +// partLossPlc = PartitionLossPolicy.READ_WRITE_ALL; +// +// isPersistenceEnabled = true; +// +// checkLostPartition(true, false, killSingleNode); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteSafeAfterKillTwoNodes() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; +// +// checkLostPartition(true, true, new TopologyChanger(false, asList(3, 2), asList(0, 1, 4), 0)); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteSafeAfterKillTwoNodesWithPersistence() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; +// +// isPersistenceEnabled = true; +// +// checkLostPartition(true, true, new TopologyChanger(false, asList(3, 2), asList(0, 1, 4), 0)); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteSafeAfterKillTwoNodesWithDelay() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; +// +// checkLostPartition(true, true, new TopologyChanger(false, asList(3, 2), asList(0, 1, 4), 20)); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteSafeAfterKillTwoNodesWithDelayWithPersistence() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; +// +// isPersistenceEnabled = true; +// +// checkLostPartition(true, true, new TopologyChanger(false, asList(3, 2), asList(0, 1, 4), 20)); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteSafeWithBackupsAfterKillThreeNodes() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; +// +// backups = 1; +// +// checkLostPartition(true, true, new TopologyChanger(true, asList(3, 2, 1), asList(0, 4), 0)); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteSafeWithBackupsAfterKillThreeNodesWithPersistence() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; +// +// backups = 1; +// +// isPersistenceEnabled = true; +// +// checkLostPartition(true, true, new TopologyChanger(true, asList(3, 2, 1), asList(0, 4), 0)); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteSafeAfterKillCrd() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; +// +// checkLostPartition(true, true, new TopologyChanger(true, asList(3, 0), asList(1, 2, 4), 0)); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteSafeAfterKillCrdWithPersistence() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; +// +// isPersistenceEnabled = true; +// +// checkLostPartition(true, true, new TopologyChanger(true, asList(3, 0), asList(1, 2, 4), 0)); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteSafeWithBackups() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; +// +// backups = 1; +// +// checkLostPartition(true, true, new TopologyChanger(true, asList(3, 2), asList(0, 1, 4), 0)); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteSafeWithBackupsWithPersistence() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; +// +// backups = 1; +// +// isPersistenceEnabled = true; +// +// checkLostPartition(true, true, new TopologyChanger(true, asList(3, 2), asList(0, 1, 4), 0)); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteSafeWithBackupsAfterKillCrd() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; +// +// backups = 1; +// +// checkLostPartition(true, true, new TopologyChanger(true, asList(3, 0), asList(1, 2, 4), 0)); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testReadWriteSafeWithBackupsAfterKillCrdWithPersistence() throws Exception { +// partLossPlc = PartitionLossPolicy.READ_WRITE_SAFE; +// +// backups = 1; +// +// isPersistenceEnabled = true; +// +// checkLostPartition(true, true, new TopologyChanger(true, asList(3, 0), asList(1, 2, 4), 0)); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testIgnore() throws Exception { +// fail("https://issues.apache.org/jira/browse/IGNITE-5078"); +// +// partLossPlc = PartitionLossPolicy.IGNORE; +// +// checkIgnore(killSingleNode); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testIgnoreWithPersistence() throws Exception { +// fail("https://issues.apache.org/jira/browse/IGNITE-5078"); +// +// fail("https://issues.apache.org/jira/browse/IGNITE-10041"); +// +// partLossPlc = PartitionLossPolicy.IGNORE; +// +// isPersistenceEnabled = true; +// +// checkIgnore(killSingleNode); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testIgnoreKillThreeNodes() throws Exception { +// partLossPlc = PartitionLossPolicy.IGNORE; +// +// // TODO aliveNodes should include node 4, but it fails due to https://issues.apache.org/jira/browse/IGNITE-5078. +// // TODO need to add 4 to the aliveNodes after IGNITE-5078 is fixed. +// // TopologyChanger onlyCrdIsAlive = new TopologyChanger(false, Arrays.asList(1, 2, 3), Arrays.asList(0, 4), 0); +// TopologyChanger onlyCrdIsAlive = new TopologyChanger(false, asList(1, 2, 3), singletonList(0), 0); +// +// checkIgnore(onlyCrdIsAlive); +// } +// +// /** +// * @throws Exception if failed. +// */ +// @Test +// public void testIgnoreKillThreeNodesWithPersistence() throws Exception { +// fail("https://issues.apache.org/jira/browse/IGNITE-10041"); +// +// partLossPlc = PartitionLossPolicy.IGNORE; +// +// isPersistenceEnabled = true; +// +// // TODO aliveNodes should include node 4, but it fails due to https://issues.apache.org/jira/browse/IGNITE-5078. +// // TODO need to add 4 to the aliveNodes after IGNITE-5078 is fixed. +// // TopologyChanger onlyCrdIsAlive = new TopologyChanger(false, Arrays.asList(1, 2, 3), Arrays.asList(0, 4), 0); +// TopologyChanger onlyCrdIsAlive = new TopologyChanger(false, asList(1, 2, 3), singletonList(0), 0); +// +// checkIgnore(onlyCrdIsAlive); +// } /** * @param topChanger topology changer. @@ -568,9 +620,17 @@ private void checkLostPartition(boolean canWrite, boolean safe, TopologyChanger } } + log.info(">xxx> reset lost parts"); + ignite(4).resetLostPartitions(singletonList(DEFAULT_CACHE_NAME)); - awaitPartitionMapExchange(true, true, null); + log.info(">xxx> reset lost parts finished"); + + try { + awaitPartitionMapExchange(true, true, null); + } finally { + printMegaMap(); + } for (Ignite ig : G.allGrids()) { IgniteCache cache = ig.cache(DEFAULT_CACHE_NAME); @@ -597,6 +657,15 @@ private void checkLostPartition(boolean canWrite, boolean safe, TopologyChanger } } + private void printMegaMap() { + for (Map.Entry> e : GridDhtLocalPartition.MEGAMAP.entrySet()) { + log.info(">xxx> -------- " + e.getKey()); + + for (Map.Entry e0 : e.getValue().entrySet()) + log.info(">xxx>\t" + e0.getKey() + ": " + e0.getValue()); + } + } + /** * @param client Client flag. * @param canWrite Can write flag. @@ -674,6 +743,8 @@ private void verifyCacheOps(boolean canWrite, boolean safe, Ignite ig) { // Check write. for (int i = 0; i < parts; i++) { try { + log.info("put " + i); + cache.put(i, i); assertTrue("Write in read-only mode should be forbidden: " + i, canWrite); @@ -682,6 +753,8 @@ private void verifyCacheOps(boolean canWrite, boolean safe, Ignite ig) { assertFalse("Writing to a lost partition should have failed: " + i, safe); } catch (CacheException e) { + log.info("(ex) put " + i); + if (canWrite) { assertTrue("Write exception should only be triggered in safe mode: " + e, safe); assertTrue("Write exception should only be triggered for a lost partition: " + e, @@ -842,6 +915,27 @@ protected void checkQueryFails(Ignite node, boolean loc, int... parts) { // No-op. } + /** + * Executes test with IGNITE_PRELOAD_RESEND_TIMEOUT set to zero. + * + * @param r The test method to be called. + * @throws Exception if failed. + */ + private void withoutResendDelay(RunnableX r) throws Exception { + String propName = IGNITE_PRELOAD_RESEND_TIMEOUT; + + String prevVal = System.setProperty(propName, "0"); + + try { + r.runx(); + } finally { + if (prevVal == null) + System.clearProperty(propName); + else + System.setProperty(propName, prevVal); + } + } + /** */ private class TopologyChanger { /** Flag to delay partition exchange */ diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java index e32617d4a2cf1..585cda1d41943 100755 --- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java +++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java @@ -739,7 +739,7 @@ protected void awaitPartitionMapExchange( if (System.currentTimeMillis() - start > timeout) { U.dumpThreads(log); - if (printPartState) +// if (printPartState) printPartitionState(c); throw new IgniteException("Timeout of waiting for topology map update [" + @@ -780,6 +780,8 @@ protected void awaitPartitionMapExchange( for (Map.Entry entry : pMap.entrySet()) { if (System.currentTimeMillis() - start > timeout) { + printPartitionState(dht.name(), 0); + U.dumpThreads(log); throw new IgniteException("Timeout of waiting for partition state update [" + diff --git a/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteBinaryCacheQueryTestSuite.java b/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteBinaryCacheQueryTestSuite.java index d510b1115d5f6..fc959f0c4898c 100644 --- a/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteBinaryCacheQueryTestSuite.java +++ b/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteBinaryCacheQueryTestSuite.java @@ -18,220 +18,7 @@ package org.apache.ignite.testsuites; import junit.framework.TestSuite; -import org.apache.ignite.internal.processors.cache.AffinityKeyNameAndValueFieldNameConflictTest; -import org.apache.ignite.internal.processors.cache.BigEntryQueryTest; -import org.apache.ignite.internal.processors.cache.BinaryMetadataConcurrentUpdateWithIndexesTest; -import org.apache.ignite.internal.processors.cache.BinarySerializationQuerySelfTest; -import org.apache.ignite.internal.processors.cache.BinarySerializationQueryWithReflectiveSerializerSelfTest; -import org.apache.ignite.internal.processors.cache.CacheIteratorScanQueryTest; -import org.apache.ignite.internal.processors.cache.CacheLocalQueryDetailMetricsSelfTest; -import org.apache.ignite.internal.processors.cache.CacheLocalQueryMetricsSelfTest; -import org.apache.ignite.internal.processors.cache.CacheOffheapBatchIndexingMultiTypeTest; -import org.apache.ignite.internal.processors.cache.CacheOffheapBatchIndexingSingleTypeTest; -import org.apache.ignite.internal.processors.cache.CachePartitionedQueryDetailMetricsDistributedSelfTest; -import org.apache.ignite.internal.processors.cache.CachePartitionedQueryDetailMetricsLocalSelfTest; -import org.apache.ignite.internal.processors.cache.CachePartitionedQueryMetricsDistributedSelfTest; -import org.apache.ignite.internal.processors.cache.CachePartitionedQueryMetricsLocalSelfTest; -import org.apache.ignite.internal.processors.cache.CacheQueryBuildValueTest; -import org.apache.ignite.internal.processors.cache.CacheQueryEvictDataLostTest; -import org.apache.ignite.internal.processors.cache.CacheQueryNewClientSelfTest; -import org.apache.ignite.internal.processors.cache.CacheReplicatedQueryDetailMetricsDistributedSelfTest; -import org.apache.ignite.internal.processors.cache.CacheReplicatedQueryDetailMetricsLocalSelfTest; -import org.apache.ignite.internal.processors.cache.CacheReplicatedQueryMetricsDistributedSelfTest; -import org.apache.ignite.internal.processors.cache.CacheReplicatedQueryMetricsLocalSelfTest; -import org.apache.ignite.internal.processors.cache.CacheSqlQueryValueCopySelfTest; -import org.apache.ignite.internal.processors.cache.DdlTransactionSelfTest; -import org.apache.ignite.internal.processors.cache.GridCacheCrossCacheQuerySelfTest; -import org.apache.ignite.internal.processors.cache.GridCacheDynamicLoadOnClientPersistentTest; -import org.apache.ignite.internal.processors.cache.GridCacheDynamicLoadOnClientTest; -import org.apache.ignite.internal.processors.cache.GridCacheFullTextQuerySelfTest; -import org.apache.ignite.internal.processors.cache.GridCacheLazyQueryPartitionsReleaseTest; -import org.apache.ignite.internal.processors.cache.GridCacheQueryIndexDisabledSelfTest; -import org.apache.ignite.internal.processors.cache.GridCacheQueryIndexingDisabledSelfTest; -import org.apache.ignite.internal.processors.cache.GridCacheQueryInternalKeysSelfTest; -import org.apache.ignite.internal.processors.cache.GridCacheQuerySerializationSelfTest; -import org.apache.ignite.internal.processors.cache.GridCacheQuerySqlFieldInlineSizeSelfTest; -import org.apache.ignite.internal.processors.cache.IgniteBinaryObjectFieldsQuerySelfTest; -import org.apache.ignite.internal.processors.cache.IgniteBinaryObjectLocalQueryArgumentsTest; -import org.apache.ignite.internal.processors.cache.IgniteBinaryObjectQueryArgumentsTest; -import org.apache.ignite.internal.processors.cache.IgniteBinaryWrappedObjectFieldsQuerySelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheBinaryObjectsScanSelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheBinaryObjectsScanWithEventsSelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheCollocatedQuerySelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheDeleteSqlQuerySelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheDistributedJoinCollocatedAndNotTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheDistributedJoinCustomAffinityMapper; -import org.apache.ignite.internal.processors.cache.IgniteCacheDistributedJoinNoIndexTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheDistributedJoinPartitionedAndReplicatedTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheDistributedJoinQueryConditionsTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheDistributedJoinTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheDuplicateEntityConfigurationSelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheFieldsQueryNoDataSelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheFullTextQueryNodeJoiningSelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheInsertSqlQuerySelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheJoinPartitionedAndReplicatedCollocationTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheJoinPartitionedAndReplicatedTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheJoinQueryWithAffinityKeyTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheLargeResultSelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheMergeSqlQuerySelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheMultipleIndexedTypesTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheNoClassQuerySelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheOffheapEvictQueryTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheOffheapIndexScanTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheP2pUnmarshallingQueryErrorTest; -import org.apache.ignite.internal.processors.cache.IgniteCachePrimitiveFieldsQuerySelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheQueryH2IndexingLeakTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheQueryIndexSelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheQueryLoadSelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheSqlQueryErrorSelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheUnionDuplicatesTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheUpdateSqlQuerySelfTest; -import org.apache.ignite.internal.processors.cache.IgniteCheckClusterStateBeforeExecuteQueryTest; -import org.apache.ignite.internal.processors.cache.IgniteClientReconnectCacheQueriesFailoverTest; -import org.apache.ignite.internal.processors.cache.IgniteCrossCachesJoinsQueryTest; -import org.apache.ignite.internal.processors.cache.IgniteDynamicSqlRestoreTest; -import org.apache.ignite.internal.processors.cache.IgniteErrorOnRebalanceTest; -import org.apache.ignite.internal.processors.cache.IncorrectQueryEntityTest; import org.apache.ignite.internal.processors.cache.IndexingCachePartitionLossPolicySelfTest; -import org.apache.ignite.internal.processors.cache.QueryEntityCaseMismatchTest; -import org.apache.ignite.internal.processors.cache.SqlFieldsQuerySelfTest; -import org.apache.ignite.internal.processors.cache.authentication.SqlUserCommandSelfTest; -import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheAtomicFieldsQuerySelfTest; -import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheAtomicNearEnabledFieldsQuerySelfTest; -import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheAtomicNearEnabledQuerySelfTest; -import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheAtomicQuerySelfTest; -import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheDistributedPartitionQueryConfigurationSelfTest; -import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheDistributedPartitionQueryNodeRestartsSelfTest; -import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheDistributedPartitionQuerySelfTest; -import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheDistributedQueryCancelSelfTest; -import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCachePartitionedFieldsQueryP2PEnabledSelfTest; -import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCachePartitionedFieldsQuerySelfTest; -import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCachePartitionedQueryEvtsDisabledSelfTest; -import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCachePartitionedQueryP2PDisabledSelfTest; -import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCachePartitionedQuerySelfTest; -import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCachePartitionedSnapshotEnabledQuerySelfTest; -import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheQueryNoRebalanceSelfTest; -import org.apache.ignite.internal.processors.cache.distributed.replicated.IgniteCacheReplicatedFieldsQueryJoinNoPrimaryPartitionsSelfTest; -import org.apache.ignite.internal.processors.cache.distributed.replicated.IgniteCacheReplicatedFieldsQueryP2PEnabledSelfTest; -import org.apache.ignite.internal.processors.cache.distributed.replicated.IgniteCacheReplicatedFieldsQueryROSelfTest; -import org.apache.ignite.internal.processors.cache.distributed.replicated.IgniteCacheReplicatedFieldsQuerySelfTest; -import org.apache.ignite.internal.processors.cache.distributed.replicated.IgniteCacheReplicatedQueryEvtsDisabledSelfTest; -import org.apache.ignite.internal.processors.cache.distributed.replicated.IgniteCacheReplicatedQueryP2PDisabledSelfTest; -import org.apache.ignite.internal.processors.cache.distributed.replicated.IgniteCacheReplicatedQuerySelfTest; -import org.apache.ignite.internal.processors.cache.encryption.EncryptedSqlTableTest; -import org.apache.ignite.internal.processors.cache.index.BasicIndexTest; -import org.apache.ignite.internal.processors.cache.index.ComplexPrimaryKeyUnwrapSelfTest; -import org.apache.ignite.internal.processors.cache.index.DuplicateKeyValueClassesSelfTest; -import org.apache.ignite.internal.processors.cache.index.DynamicIndexClientBasicSelfTest; -import org.apache.ignite.internal.processors.cache.index.DynamicIndexServerBasicSelfTest; -import org.apache.ignite.internal.processors.cache.index.DynamicIndexServerCoordinatorBasicSelfTest; -import org.apache.ignite.internal.processors.cache.index.DynamicIndexServerNodeFIlterBasicSelfTest; -import org.apache.ignite.internal.processors.cache.index.DynamicIndexServerNodeFilterCoordinatorBasicSelfTest; -import org.apache.ignite.internal.processors.cache.index.H2ConnectionLeaksSelfTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicColumnsClientBasicSelfTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicColumnsServerBasicSelfTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicColumnsServerCoordinatorBasicSelfTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexAtomicPartitionedNearSelfTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexAtomicPartitionedSelfTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexAtomicReplicatedSelfTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexTransactionalPartitionedNearSelfTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexTransactionalPartitionedSelfTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexTransactionalReplicatedSelfTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexingComplexClientAtomicPartitionedNoBackupsTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexingComplexClientAtomicPartitionedTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexingComplexClientAtomicReplicatedTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexingComplexClientTransactionalPartitionedNoBackupsTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexingComplexClientTransactionalPartitionedTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexingComplexClientTransactionalReplicatedTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexingComplexServerAtomicPartitionedNoBackupsTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexingComplexServerAtomicPartitionedTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexingComplexServerAtomicReplicatedTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexingComplexServerTransactionalPartitionedNoBackupsTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexingComplexServerTransactionalPartitionedTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicIndexingComplexServerTransactionalReplicatedTest; -import org.apache.ignite.internal.processors.cache.index.H2DynamicTableSelfTest; -import org.apache.ignite.internal.processors.cache.index.H2RowCachePageEvictionTest; -import org.apache.ignite.internal.processors.cache.index.H2RowCacheSelfTest; -import org.apache.ignite.internal.processors.cache.index.IgniteDecimalSelfTest; -import org.apache.ignite.internal.processors.cache.index.LongIndexNameTest; -import org.apache.ignite.internal.processors.cache.index.OptimizedMarshallerIndexNameTest; -import org.apache.ignite.internal.processors.cache.index.QueryEntityValidationSelfTest; -import org.apache.ignite.internal.processors.cache.index.SchemaExchangeSelfTest; -import org.apache.ignite.internal.processors.cache.index.SqlTransactionCommandsWithMvccDisabledSelfTest; -import org.apache.ignite.internal.processors.cache.local.IgniteCacheLocalAtomicQuerySelfTest; -import org.apache.ignite.internal.processors.cache.local.IgniteCacheLocalFieldsQuerySelfTest; -import org.apache.ignite.internal.processors.cache.local.IgniteCacheLocalQueryCancelOrTimeoutSelfTest; -import org.apache.ignite.internal.processors.cache.local.IgniteCacheLocalQuerySelfTest; -import org.apache.ignite.internal.processors.cache.query.CacheScanQueryFailoverTest; -import org.apache.ignite.internal.processors.cache.query.GridCacheQueryTransformerSelfTest; -import org.apache.ignite.internal.processors.cache.query.GridCircularQueueTest; -import org.apache.ignite.internal.processors.cache.query.IgniteCacheQueryCacheDestroySelfTest; -import org.apache.ignite.internal.processors.cache.query.IndexingSpiQuerySelfTest; -import org.apache.ignite.internal.processors.cache.query.IndexingSpiQueryTxSelfTest; -import org.apache.ignite.internal.processors.cache.query.IndexingSpiQueryWithH2IndexingSelfTest; -import org.apache.ignite.internal.processors.cache.transaction.DmlInsideTransactionTest; -import org.apache.ignite.internal.processors.client.ClientConnectorConfigurationValidationSelfTest; -import org.apache.ignite.internal.processors.database.baseline.IgniteStableBaselineBinObjFieldsQuerySelfTest; -import org.apache.ignite.internal.processors.query.IgniteCachelessQueriesSelfTest; -import org.apache.ignite.internal.processors.query.IgniteQueryDedicatedPoolTest; -import org.apache.ignite.internal.processors.query.IgniteSqlDefaultValueTest; -import org.apache.ignite.internal.processors.query.IgniteSqlDistributedJoinSelfTest; -import org.apache.ignite.internal.processors.query.IgniteSqlEntryCacheModeAgnosticTest; -import org.apache.ignite.internal.processors.query.IgniteSqlGroupConcatCollocatedTest; -import org.apache.ignite.internal.processors.query.IgniteSqlGroupConcatNotCollocatedTest; -import org.apache.ignite.internal.processors.query.IgniteSqlKeyValueFieldsTest; -import org.apache.ignite.internal.processors.query.IgniteSqlNotNullConstraintTest; -import org.apache.ignite.internal.processors.query.IgniteSqlParameterizedQueryTest; -import org.apache.ignite.internal.processors.query.IgniteSqlQueryParallelismTest; -import org.apache.ignite.internal.processors.query.IgniteSqlRoutingTest; -import org.apache.ignite.internal.processors.query.IgniteSqlSchemaIndexingTest; -import org.apache.ignite.internal.processors.query.IgniteSqlSegmentedIndexMultiNodeSelfTest; -import org.apache.ignite.internal.processors.query.IgniteSqlSegmentedIndexSelfTest; -import org.apache.ignite.internal.processors.query.IgniteSqlSkipReducerOnUpdateDmlFlagSelfTest; -import org.apache.ignite.internal.processors.query.IgniteSqlSkipReducerOnUpdateDmlSelfTest; -import org.apache.ignite.internal.processors.query.IgniteSqlSplitterSelfTest; -import org.apache.ignite.internal.processors.query.LazyQuerySelfTest; -import org.apache.ignite.internal.processors.query.MultipleStatementsSqlQuerySelfTest; -import org.apache.ignite.internal.processors.query.RunningQueriesTest; -import org.apache.ignite.internal.processors.query.SqlIllegalSchemaSelfTest; -import org.apache.ignite.internal.processors.query.SqlNestedQuerySelfTest; -import org.apache.ignite.internal.processors.query.SqlPushDownFunctionTest; -import org.apache.ignite.internal.processors.query.SqlSchemaSelfTest; -import org.apache.ignite.internal.processors.query.SqlSystemViewsSelfTest; -import org.apache.ignite.internal.processors.query.h2.GridH2IndexingInMemSelfTest; -import org.apache.ignite.internal.processors.query.h2.GridH2IndexingOffheapSelfTest; -import org.apache.ignite.internal.processors.query.h2.GridIndexRebuildSelfTest; -import org.apache.ignite.internal.processors.query.h2.H2ResultSetIteratorNullifyOnEndSelfTest; -import org.apache.ignite.internal.processors.query.h2.H2StatementCacheSelfTest; -import org.apache.ignite.internal.processors.query.h2.IgniteSqlBigIntegerKeyTest; -import org.apache.ignite.internal.processors.query.h2.IgniteSqlQueryMinMaxTest; -import org.apache.ignite.internal.processors.query.h2.PreparedStatementExSelfTest; -import org.apache.ignite.internal.processors.query.h2.ThreadLocalObjectPoolSelfTest; -import org.apache.ignite.internal.processors.query.h2.sql.BaseH2CompareQueryTest; -import org.apache.ignite.internal.processors.query.h2.sql.ExplainSelfTest; -import org.apache.ignite.internal.processors.query.h2.sql.GridQueryParsingTest; -import org.apache.ignite.internal.processors.query.h2.sql.H2CompareBigQueryDistributedJoinsTest; -import org.apache.ignite.internal.processors.query.h2.sql.H2CompareBigQueryTest; -import org.apache.ignite.internal.processors.query.h2.twostep.AndOperationExtractPartitionSelfTest; -import org.apache.ignite.internal.processors.query.h2.twostep.InOperationExtractPartitionSelfTest; -import org.apache.ignite.internal.processors.sql.IgniteCachePartitionedAtomicColumnConstraintsTest; -import org.apache.ignite.internal.processors.sql.IgniteCachePartitionedTransactionalColumnConstraintsTest; -import org.apache.ignite.internal.processors.sql.IgniteCachePartitionedTransactionalSnapshotColumnConstraintTest; -import org.apache.ignite.internal.processors.sql.IgniteCacheReplicatedAtomicColumnConstraintsTest; -import org.apache.ignite.internal.processors.sql.IgniteCacheReplicatedTransactionalColumnConstraintsTest; -import org.apache.ignite.internal.processors.sql.IgniteCacheReplicatedTransactionalSnapshotColumnConstraintTest; -import org.apache.ignite.internal.processors.sql.IgniteSQLColumnConstraintsTest; -import org.apache.ignite.internal.processors.sql.IgniteTransactionSQLColumnConstraintTest; -import org.apache.ignite.internal.processors.sql.SqlConnectorConfigurationValidationSelfTest; -import org.apache.ignite.internal.sql.SqlParserBulkLoadSelfTest; -import org.apache.ignite.internal.sql.SqlParserCreateIndexSelfTest; -import org.apache.ignite.internal.sql.SqlParserDropIndexSelfTest; -import org.apache.ignite.internal.sql.SqlParserSetStreamingSelfTest; -import org.apache.ignite.internal.sql.SqlParserTransactionalKeywordsSelfTest; -import org.apache.ignite.internal.sql.SqlParserUserSelfTest; -import org.apache.ignite.spi.communication.tcp.GridOrderedMessageCancelSelfTest; -import org.apache.ignite.sqltests.PartitionedSqlTest; -import org.apache.ignite.sqltests.ReplicatedSqlTest; import org.apache.ignite.testframework.IgniteTestSuite; /** @@ -244,295 +31,296 @@ public class IgniteBinaryCacheQueryTestSuite extends TestSuite { public static TestSuite suite() { IgniteTestSuite suite = new IgniteTestSuite("Ignite Cache Queries Test Suite"); - suite.addTestSuite(AffinityKeyNameAndValueFieldNameConflictTest.class); - suite.addTestSuite(DmlInsideTransactionTest.class); - suite.addTestSuite(ComplexPrimaryKeyUnwrapSelfTest.class); - suite.addTestSuite(SqlNestedQuerySelfTest.class); - suite.addTestSuite(ExplainSelfTest.class); - suite.addTestSuite(RunningQueriesTest.class); - - suite.addTestSuite(ComplexPrimaryKeyUnwrapSelfTest.class); - - suite.addTestSuite(PartitionedSqlTest.class); - suite.addTestSuite(ReplicatedSqlTest.class); - - suite.addTestSuite(SqlParserCreateIndexSelfTest.class); - suite.addTestSuite(SqlParserDropIndexSelfTest.class); - suite.addTestSuite(SqlParserTransactionalKeywordsSelfTest.class); - suite.addTestSuite(SqlParserBulkLoadSelfTest.class); - suite.addTestSuite(SqlParserSetStreamingSelfTest.class); - - suite.addTestSuite(SqlConnectorConfigurationValidationSelfTest.class); - suite.addTestSuite(ClientConnectorConfigurationValidationSelfTest.class); - - suite.addTestSuite(SqlSchemaSelfTest.class); - suite.addTestSuite(SqlIllegalSchemaSelfTest.class); - suite.addTestSuite(MultipleStatementsSqlQuerySelfTest.class); - - suite.addTestSuite(BasicIndexTest.class); - - // Misc tests. - suite.addTestSuite(QueryEntityValidationSelfTest.class); - suite.addTestSuite(DuplicateKeyValueClassesSelfTest.class); - suite.addTestSuite(GridCacheLazyQueryPartitionsReleaseTest.class); - - // Dynamic index create/drop tests. - suite.addTestSuite(SchemaExchangeSelfTest.class); - - suite.addTestSuite(DynamicIndexServerCoordinatorBasicSelfTest.class); - suite.addTestSuite(DynamicIndexServerBasicSelfTest.class); - suite.addTestSuite(DynamicIndexServerNodeFilterCoordinatorBasicSelfTest.class); - suite.addTestSuite(DynamicIndexServerNodeFIlterBasicSelfTest.class); - suite.addTestSuite(DynamicIndexClientBasicSelfTest.class); - - // H2 tests. - - suite.addTestSuite(GridH2IndexingInMemSelfTest.class); - suite.addTestSuite(GridH2IndexingOffheapSelfTest.class); - - // Parsing - suite.addTestSuite(GridQueryParsingTest.class); - suite.addTestSuite(IgniteCacheSqlQueryErrorSelfTest.class); - - // Config. - suite.addTestSuite(IgniteCacheDuplicateEntityConfigurationSelfTest.class); - suite.addTestSuite(IncorrectQueryEntityTest.class); - suite.addTestSuite(IgniteDynamicSqlRestoreTest.class); - - // Queries tests. - suite.addTestSuite(LazyQuerySelfTest.class); - suite.addTestSuite(IgniteSqlSplitterSelfTest.class); - suite.addTestSuite(SqlPushDownFunctionTest.class); - suite.addTestSuite(IgniteSqlSegmentedIndexSelfTest.class); - suite.addTestSuite(IgniteCachelessQueriesSelfTest.class); - suite.addTestSuite(IgniteSqlSegmentedIndexMultiNodeSelfTest.class); - suite.addTestSuite(IgniteSqlSchemaIndexingTest.class); - suite.addTestSuite(GridCacheQueryIndexDisabledSelfTest.class); - suite.addTestSuite(IgniteCacheQueryLoadSelfTest.class); - suite.addTestSuite(IgniteCacheLocalQuerySelfTest.class); - suite.addTestSuite(IgniteCacheLocalAtomicQuerySelfTest.class); - suite.addTestSuite(IgniteCacheReplicatedQuerySelfTest.class); - suite.addTestSuite(IgniteCacheReplicatedQueryP2PDisabledSelfTest.class); - suite.addTestSuite(IgniteCacheReplicatedQueryEvtsDisabledSelfTest.class); - suite.addTestSuite(IgniteCachePartitionedQuerySelfTest.class); - suite.addTestSuite(IgniteCachePartitionedSnapshotEnabledQuerySelfTest.class); - suite.addTestSuite(IgniteCacheAtomicQuerySelfTest.class); - suite.addTestSuite(IgniteCacheAtomicNearEnabledQuerySelfTest.class); - suite.addTestSuite(IgniteCachePartitionedQueryP2PDisabledSelfTest.class); - suite.addTestSuite(IgniteCachePartitionedQueryEvtsDisabledSelfTest.class); - - suite.addTestSuite(IgniteCacheUnionDuplicatesTest.class); - suite.addTestSuite(IgniteCacheJoinPartitionedAndReplicatedCollocationTest.class); - suite.addTestSuite(IgniteClientReconnectCacheQueriesFailoverTest.class); - suite.addTestSuite(IgniteErrorOnRebalanceTest.class); - suite.addTestSuite(CacheQueryBuildValueTest.class); - suite.addTestSuite(CacheOffheapBatchIndexingMultiTypeTest.class); - - suite.addTestSuite(IgniteCacheQueryIndexSelfTest.class); - suite.addTestSuite(IgniteCacheCollocatedQuerySelfTest.class); - suite.addTestSuite(IgniteCacheLargeResultSelfTest.class); - suite.addTestSuite(GridCacheQueryInternalKeysSelfTest.class); - suite.addTestSuite(H2ResultSetIteratorNullifyOnEndSelfTest.class); - suite.addTestSuite(IgniteSqlBigIntegerKeyTest.class); - suite.addTestSuite(IgniteCacheOffheapEvictQueryTest.class); - suite.addTestSuite(IgniteCacheOffheapIndexScanTest.class); - - suite.addTestSuite(GridCacheCrossCacheQuerySelfTest.class); - suite.addTestSuite(GridCacheQuerySerializationSelfTest.class); - suite.addTestSuite(IgniteBinaryObjectFieldsQuerySelfTest.class); - suite.addTestSuite(IgniteStableBaselineBinObjFieldsQuerySelfTest.class); - suite.addTestSuite(IgniteBinaryWrappedObjectFieldsQuerySelfTest.class); - suite.addTestSuite(IgniteCacheQueryH2IndexingLeakTest.class); - suite.addTestSuite(IgniteCacheQueryNoRebalanceSelfTest.class); - suite.addTestSuite(GridCacheQueryTransformerSelfTest.class); - suite.addTestSuite(CacheScanQueryFailoverTest.class); - suite.addTestSuite(IgniteCachePrimitiveFieldsQuerySelfTest.class); - - suite.addTestSuite(IgniteCacheJoinQueryWithAffinityKeyTest.class); - suite.addTestSuite(IgniteCacheJoinPartitionedAndReplicatedTest.class); - suite.addTestSuite(IgniteCrossCachesJoinsQueryTest.class); - - suite.addTestSuite(IgniteCacheMultipleIndexedTypesTest.class); - - // DML. - suite.addTestSuite(IgniteCacheMergeSqlQuerySelfTest.class); - suite.addTestSuite(IgniteCacheInsertSqlQuerySelfTest.class); - suite.addTestSuite(IgniteCacheUpdateSqlQuerySelfTest.class); - suite.addTestSuite(IgniteCacheDeleteSqlQuerySelfTest.class); - suite.addTestSuite(IgniteSqlSkipReducerOnUpdateDmlSelfTest.class); - suite.addTestSuite(IgniteSqlSkipReducerOnUpdateDmlFlagSelfTest.class); - - suite.addTestSuite(IgniteBinaryObjectQueryArgumentsTest.class); - suite.addTestSuite(IgniteBinaryObjectLocalQueryArgumentsTest.class); - - suite.addTestSuite(IndexingSpiQuerySelfTest.class); - suite.addTestSuite(IndexingSpiQueryTxSelfTest.class); - - suite.addTestSuite(IgniteCacheMultipleIndexedTypesTest.class); - suite.addTestSuite(IgniteSqlQueryMinMaxTest.class); - - suite.addTestSuite(GridCircularQueueTest.class); - suite.addTestSuite(IndexingSpiQueryWithH2IndexingSelfTest.class); - - // DDL. - suite.addTestSuite(H2DynamicIndexTransactionalReplicatedSelfTest.class); - suite.addTestSuite(H2DynamicIndexTransactionalPartitionedSelfTest.class); - suite.addTestSuite(H2DynamicIndexTransactionalPartitionedNearSelfTest.class); - suite.addTestSuite(H2DynamicIndexAtomicReplicatedSelfTest.class); - suite.addTestSuite(H2DynamicIndexAtomicPartitionedSelfTest.class); - suite.addTestSuite(H2DynamicIndexAtomicPartitionedNearSelfTest.class); - suite.addTestSuite(H2DynamicTableSelfTest.class); - suite.addTestSuite(H2DynamicColumnsClientBasicSelfTest.class); - suite.addTestSuite(H2DynamicColumnsServerBasicSelfTest.class); - suite.addTestSuite(H2DynamicColumnsServerCoordinatorBasicSelfTest.class); - - // DML+DDL. - suite.addTestSuite(H2DynamicIndexingComplexClientAtomicPartitionedTest.class); - suite.addTestSuite(H2DynamicIndexingComplexClientAtomicPartitionedNoBackupsTest.class); - suite.addTestSuite(H2DynamicIndexingComplexClientAtomicReplicatedTest.class); - suite.addTestSuite(H2DynamicIndexingComplexClientTransactionalPartitionedTest.class); - suite.addTestSuite(H2DynamicIndexingComplexClientTransactionalPartitionedNoBackupsTest.class); - suite.addTestSuite(H2DynamicIndexingComplexClientTransactionalReplicatedTest.class); - suite.addTestSuite(H2DynamicIndexingComplexServerAtomicPartitionedTest.class); - suite.addTestSuite(H2DynamicIndexingComplexServerAtomicPartitionedNoBackupsTest.class); - suite.addTestSuite(H2DynamicIndexingComplexServerAtomicReplicatedTest.class); - suite.addTestSuite(H2DynamicIndexingComplexServerTransactionalPartitionedTest.class); - suite.addTestSuite(H2DynamicIndexingComplexServerTransactionalPartitionedNoBackupsTest.class); - suite.addTestSuite(H2DynamicIndexingComplexServerTransactionalReplicatedTest.class); - - suite.addTestSuite(DdlTransactionSelfTest.class); - - // Fields queries. - suite.addTestSuite(SqlFieldsQuerySelfTest.class); - suite.addTestSuite(IgniteCacheLocalFieldsQuerySelfTest.class); - suite.addTestSuite(IgniteCacheReplicatedFieldsQuerySelfTest.class); - suite.addTestSuite(IgniteCacheReplicatedFieldsQueryROSelfTest.class); - suite.addTestSuite(IgniteCacheReplicatedFieldsQueryP2PEnabledSelfTest.class); - suite.addTestSuite(IgniteCacheReplicatedFieldsQueryJoinNoPrimaryPartitionsSelfTest.class); - suite.addTestSuite(IgniteCachePartitionedFieldsQuerySelfTest.class); - suite.addTestSuite(IgniteCacheAtomicFieldsQuerySelfTest.class); - suite.addTestSuite(IgniteCacheAtomicNearEnabledFieldsQuerySelfTest.class); - suite.addTestSuite(IgniteCachePartitionedFieldsQueryP2PEnabledSelfTest.class); - suite.addTestSuite(IgniteCacheFieldsQueryNoDataSelfTest.class); - suite.addTestSuite(GridCacheQueryIndexingDisabledSelfTest.class); - suite.addTestSuite(GridOrderedMessageCancelSelfTest.class); - suite.addTestSuite(CacheQueryEvictDataLostTest.class); - - // Full text queries. - suite.addTestSuite(GridCacheFullTextQuerySelfTest.class); - suite.addTestSuite(IgniteCacheFullTextQueryNodeJoiningSelfTest.class); - - // Ignite cache and H2 comparison. - suite.addTestSuite(BaseH2CompareQueryTest.class); - suite.addTestSuite(H2CompareBigQueryTest.class); - suite.addTestSuite(H2CompareBigQueryDistributedJoinsTest.class); - - // Cache query metrics. - suite.addTestSuite(CacheLocalQueryMetricsSelfTest.class); - suite.addTestSuite(CachePartitionedQueryMetricsDistributedSelfTest.class); - suite.addTestSuite(CachePartitionedQueryMetricsLocalSelfTest.class); - suite.addTestSuite(CacheReplicatedQueryMetricsDistributedSelfTest.class); - suite.addTestSuite(CacheReplicatedQueryMetricsLocalSelfTest.class); - - // Cache query metrics. - suite.addTestSuite(CacheLocalQueryDetailMetricsSelfTest.class); - suite.addTestSuite(CachePartitionedQueryDetailMetricsDistributedSelfTest.class); - suite.addTestSuite(CachePartitionedQueryDetailMetricsLocalSelfTest.class); - suite.addTestSuite(CacheReplicatedQueryDetailMetricsDistributedSelfTest.class); - suite.addTestSuite(CacheReplicatedQueryDetailMetricsLocalSelfTest.class); - - // Unmarshalling query test. - suite.addTestSuite(IgniteCacheP2pUnmarshallingQueryErrorTest.class); - suite.addTestSuite(IgniteCacheNoClassQuerySelfTest.class); - - // Cancellation. - suite.addTestSuite(IgniteCacheDistributedQueryCancelSelfTest.class); - suite.addTestSuite(IgniteCacheLocalQueryCancelOrTimeoutSelfTest.class); - - // Distributed joins. - suite.addTestSuite(H2CompareBigQueryDistributedJoinsTest.class); - suite.addTestSuite(IgniteCacheDistributedJoinCollocatedAndNotTest.class); - suite.addTestSuite(IgniteCacheDistributedJoinCustomAffinityMapper.class); - suite.addTestSuite(IgniteCacheDistributedJoinNoIndexTest.class); - suite.addTestSuite(IgniteCacheDistributedJoinPartitionedAndReplicatedTest.class); - suite.addTestSuite(IgniteCacheDistributedJoinQueryConditionsTest.class); - suite.addTestSuite(IgniteCacheDistributedJoinTest.class); - suite.addTestSuite(IgniteSqlDistributedJoinSelfTest.class); - suite.addTestSuite(IgniteSqlQueryParallelismTest.class); - - // Other. - suite.addTestSuite(CacheIteratorScanQueryTest.class); - suite.addTestSuite(CacheQueryNewClientSelfTest.class); - suite.addTestSuite(CacheOffheapBatchIndexingSingleTypeTest.class); - suite.addTestSuite(CacheSqlQueryValueCopySelfTest.class); - suite.addTestSuite(IgniteCacheQueryCacheDestroySelfTest.class); - suite.addTestSuite(IgniteQueryDedicatedPoolTest.class); - suite.addTestSuite(IgniteSqlEntryCacheModeAgnosticTest.class); - suite.addTestSuite(QueryEntityCaseMismatchTest.class); - suite.addTestSuite(IgniteCacheDistributedPartitionQuerySelfTest.class); - suite.addTestSuite(IgniteCacheDistributedPartitionQueryNodeRestartsSelfTest.class); - suite.addTestSuite(IgniteCacheDistributedPartitionQueryConfigurationSelfTest.class); - suite.addTestSuite(IgniteSqlKeyValueFieldsTest.class); - suite.addTestSuite(IgniteSqlRoutingTest.class); - suite.addTestSuite(IgniteSqlNotNullConstraintTest.class); - suite.addTestSuite(LongIndexNameTest.class); - suite.addTestSuite(GridCacheQuerySqlFieldInlineSizeSelfTest.class); - suite.addTestSuite(IgniteSqlParameterizedQueryTest.class); - suite.addTestSuite(H2ConnectionLeaksSelfTest.class); - suite.addTestSuite(IgniteCheckClusterStateBeforeExecuteQueryTest.class); - suite.addTestSuite(OptimizedMarshallerIndexNameTest.class); - suite.addTestSuite(SqlSystemViewsSelfTest.class); - - suite.addTestSuite(GridIndexRebuildSelfTest.class); - - suite.addTestSuite(SqlTransactionCommandsWithMvccDisabledSelfTest.class); - - suite.addTestSuite(IgniteSqlDefaultValueTest.class); - suite.addTestSuite(IgniteDecimalSelfTest.class); - suite.addTestSuite(IgniteSQLColumnConstraintsTest.class); - suite.addTestSuite(IgniteTransactionSQLColumnConstraintTest.class); - - suite.addTestSuite(IgniteCachePartitionedAtomicColumnConstraintsTest.class); - suite.addTestSuite(IgniteCachePartitionedTransactionalColumnConstraintsTest.class); - suite.addTestSuite(IgniteCachePartitionedTransactionalSnapshotColumnConstraintTest.class); - suite.addTestSuite(IgniteCacheReplicatedAtomicColumnConstraintsTest.class); - suite.addTestSuite(IgniteCacheReplicatedTransactionalColumnConstraintsTest.class); - suite.addTestSuite(IgniteCacheReplicatedTransactionalSnapshotColumnConstraintTest.class); - - // H2 Rows on-heap cache - suite.addTestSuite(H2RowCacheSelfTest.class); - suite.addTestSuite(H2RowCachePageEvictionTest.class); - - // User operation SQL - suite.addTestSuite(SqlParserUserSelfTest.class); - suite.addTestSuite(SqlUserCommandSelfTest.class); - suite.addTestSuite(EncryptedSqlTableTest.class); - - suite.addTestSuite(ThreadLocalObjectPoolSelfTest.class); - suite.addTestSuite(H2StatementCacheSelfTest.class); - suite.addTestSuite(PreparedStatementExSelfTest.class); +// suite.addTestSuite(AffinityKeyNameAndValueFieldNameConflictTest.class); +// suite.addTestSuite(DmlInsideTransactionTest.class); +// suite.addTestSuite(ComplexPrimaryKeyUnwrapSelfTest.class); +// suite.addTestSuite(SqlNestedQuerySelfTest.class); +// suite.addTestSuite(ExplainSelfTest.class); +// suite.addTestSuite(RunningQueriesTest.class); +// +// suite.addTestSuite(ComplexPrimaryKeyUnwrapSelfTest.class); +// +// suite.addTestSuite(PartitionedSqlTest.class); +// suite.addTestSuite(ReplicatedSqlTest.class); +// +// suite.addTestSuite(SqlParserCreateIndexSelfTest.class); +// suite.addTestSuite(SqlParserDropIndexSelfTest.class); +// suite.addTestSuite(SqlParserTransactionalKeywordsSelfTest.class); +// suite.addTestSuite(SqlParserBulkLoadSelfTest.class); +// suite.addTestSuite(SqlParserSetStreamingSelfTest.class); +// +// suite.addTestSuite(SqlConnectorConfigurationValidationSelfTest.class); +// suite.addTestSuite(ClientConnectorConfigurationValidationSelfTest.class); +// +// suite.addTestSuite(SqlSchemaSelfTest.class); +// suite.addTestSuite(SqlIllegalSchemaSelfTest.class); +// suite.addTestSuite(MultipleStatementsSqlQuerySelfTest.class); +// +// suite.addTestSuite(BasicIndexTest.class); +// +// // Misc tests. +// suite.addTestSuite(QueryEntityValidationSelfTest.class); +// suite.addTestSuite(DuplicateKeyValueClassesSelfTest.class); +// suite.addTestSuite(GridCacheLazyQueryPartitionsReleaseTest.class); +// +// // Dynamic index create/drop tests. +// suite.addTestSuite(SchemaExchangeSelfTest.class); +// +// suite.addTestSuite(DynamicIndexServerCoordinatorBasicSelfTest.class); +// suite.addTestSuite(DynamicIndexServerBasicSelfTest.class); +// suite.addTestSuite(DynamicIndexServerNodeFilterCoordinatorBasicSelfTest.class); +// suite.addTestSuite(DynamicIndexServerNodeFIlterBasicSelfTest.class); +// suite.addTestSuite(DynamicIndexClientBasicSelfTest.class); +// +// // H2 tests. +// +// suite.addTestSuite(GridH2IndexingInMemSelfTest.class); +// suite.addTestSuite(GridH2IndexingOffheapSelfTest.class); +// +// // Parsing +// suite.addTestSuite(GridQueryParsingTest.class); +// suite.addTestSuite(IgniteCacheSqlQueryErrorSelfTest.class); +// +// // Config. +// suite.addTestSuite(IgniteCacheDuplicateEntityConfigurationSelfTest.class); +// suite.addTestSuite(IncorrectQueryEntityTest.class); +// suite.addTestSuite(IgniteDynamicSqlRestoreTest.class); +// +// // Queries tests. +// suite.addTestSuite(LazyQuerySelfTest.class); +// suite.addTestSuite(IgniteSqlSplitterSelfTest.class); +// suite.addTestSuite(SqlPushDownFunctionTest.class); +// suite.addTestSuite(IgniteSqlSegmentedIndexSelfTest.class); +// suite.addTestSuite(IgniteCachelessQueriesSelfTest.class); +// suite.addTestSuite(IgniteSqlSegmentedIndexMultiNodeSelfTest.class); +// suite.addTestSuite(IgniteSqlSchemaIndexingTest.class); +// suite.addTestSuite(GridCacheQueryIndexDisabledSelfTest.class); +// suite.addTestSuite(IgniteCacheQueryLoadSelfTest.class); +// suite.addTestSuite(IgniteCacheLocalQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheLocalAtomicQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheReplicatedQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheReplicatedQueryP2PDisabledSelfTest.class); +// suite.addTestSuite(IgniteCacheReplicatedQueryEvtsDisabledSelfTest.class); +// suite.addTestSuite(IgniteCachePartitionedQuerySelfTest.class); +// suite.addTestSuite(IgniteCachePartitionedSnapshotEnabledQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheAtomicQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheAtomicNearEnabledQuerySelfTest.class); +// suite.addTestSuite(IgniteCachePartitionedQueryP2PDisabledSelfTest.class); +// suite.addTestSuite(IgniteCachePartitionedQueryEvtsDisabledSelfTest.class); +// +// suite.addTestSuite(IgniteCacheUnionDuplicatesTest.class); +// suite.addTestSuite(IgniteCacheJoinPartitionedAndReplicatedCollocationTest.class); +// suite.addTestSuite(IgniteClientReconnectCacheQueriesFailoverTest.class); +// suite.addTestSuite(IgniteErrorOnRebalanceTest.class); +// suite.addTestSuite(CacheQueryBuildValueTest.class); +// suite.addTestSuite(CacheOffheapBatchIndexingMultiTypeTest.class); +// +// suite.addTestSuite(IgniteCacheQueryIndexSelfTest.class); +// suite.addTestSuite(IgniteCacheCollocatedQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheLargeResultSelfTest.class); +// suite.addTestSuite(GridCacheQueryInternalKeysSelfTest.class); +// suite.addTestSuite(H2ResultSetIteratorNullifyOnEndSelfTest.class); +// suite.addTestSuite(IgniteSqlBigIntegerKeyTest.class); +// suite.addTestSuite(IgniteCacheOffheapEvictQueryTest.class); +// suite.addTestSuite(IgniteCacheOffheapIndexScanTest.class); +// +// suite.addTestSuite(GridCacheCrossCacheQuerySelfTest.class); +// suite.addTestSuite(GridCacheQuerySerializationSelfTest.class); +// suite.addTestSuite(IgniteBinaryObjectFieldsQuerySelfTest.class); +// suite.addTestSuite(IgniteStableBaselineBinObjFieldsQuerySelfTest.class); +// suite.addTestSuite(IgniteBinaryWrappedObjectFieldsQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheQueryH2IndexingLeakTest.class); +// suite.addTestSuite(IgniteCacheQueryNoRebalanceSelfTest.class); +// suite.addTestSuite(GridCacheQueryTransformerSelfTest.class); +// suite.addTestSuite(CacheScanQueryFailoverTest.class); +// suite.addTestSuite(IgniteCachePrimitiveFieldsQuerySelfTest.class); +// +// suite.addTestSuite(IgniteCacheJoinQueryWithAffinityKeyTest.class); +// suite.addTestSuite(IgniteCacheJoinPartitionedAndReplicatedTest.class); +// suite.addTestSuite(IgniteCrossCachesJoinsQueryTest.class); +// +// suite.addTestSuite(IgniteCacheMultipleIndexedTypesTest.class); +// +// // DML. +// suite.addTestSuite(IgniteCacheMergeSqlQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheInsertSqlQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheUpdateSqlQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheDeleteSqlQuerySelfTest.class); +// suite.addTestSuite(IgniteSqlSkipReducerOnUpdateDmlSelfTest.class); +// suite.addTestSuite(IgniteSqlSkipReducerOnUpdateDmlFlagSelfTest.class); +// +// suite.addTestSuite(IgniteBinaryObjectQueryArgumentsTest.class); +// suite.addTestSuite(IgniteBinaryObjectLocalQueryArgumentsTest.class); +// +// suite.addTestSuite(IndexingSpiQuerySelfTest.class); +// suite.addTestSuite(IndexingSpiQueryTxSelfTest.class); +// +// suite.addTestSuite(IgniteCacheMultipleIndexedTypesTest.class); +// suite.addTestSuite(IgniteSqlQueryMinMaxTest.class); +// +// suite.addTestSuite(GridCircularQueueTest.class); +// suite.addTestSuite(IndexingSpiQueryWithH2IndexingSelfTest.class); +// +// // DDL. +// suite.addTestSuite(H2DynamicIndexTransactionalReplicatedSelfTest.class); +// suite.addTestSuite(H2DynamicIndexTransactionalPartitionedSelfTest.class); +// suite.addTestSuite(H2DynamicIndexTransactionalPartitionedNearSelfTest.class); +// suite.addTestSuite(H2DynamicIndexAtomicReplicatedSelfTest.class); +// suite.addTestSuite(H2DynamicIndexAtomicPartitionedSelfTest.class); +// suite.addTestSuite(H2DynamicIndexAtomicPartitionedNearSelfTest.class); +// suite.addTestSuite(H2DynamicTableSelfTest.class); +// suite.addTestSuite(H2DynamicColumnsClientBasicSelfTest.class); +// suite.addTestSuite(H2DynamicColumnsServerBasicSelfTest.class); +// suite.addTestSuite(H2DynamicColumnsServerCoordinatorBasicSelfTest.class); +// +// // DML+DDL. +// suite.addTestSuite(H2DynamicIndexingComplexClientAtomicPartitionedTest.class); +// suite.addTestSuite(H2DynamicIndexingComplexClientAtomicPartitionedNoBackupsTest.class); +// suite.addTestSuite(H2DynamicIndexingComplexClientAtomicReplicatedTest.class); +// suite.addTestSuite(H2DynamicIndexingComplexClientTransactionalPartitionedTest.class); +// suite.addTestSuite(H2DynamicIndexingComplexClientTransactionalPartitionedNoBackupsTest.class); +// suite.addTestSuite(H2DynamicIndexingComplexClientTransactionalReplicatedTest.class); +// suite.addTestSuite(H2DynamicIndexingComplexServerAtomicPartitionedTest.class); +// suite.addTestSuite(H2DynamicIndexingComplexServerAtomicPartitionedNoBackupsTest.class); +// suite.addTestSuite(H2DynamicIndexingComplexServerAtomicReplicatedTest.class); +// suite.addTestSuite(H2DynamicIndexingComplexServerTransactionalPartitionedTest.class); +// suite.addTestSuite(H2DynamicIndexingComplexServerTransactionalPartitionedNoBackupsTest.class); +// suite.addTestSuite(H2DynamicIndexingComplexServerTransactionalReplicatedTest.class); +// +// suite.addTestSuite(DdlTransactionSelfTest.class); +// +// // Fields queries. +// suite.addTestSuite(SqlFieldsQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheLocalFieldsQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheReplicatedFieldsQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheReplicatedFieldsQueryROSelfTest.class); +// suite.addTestSuite(IgniteCacheReplicatedFieldsQueryP2PEnabledSelfTest.class); +// suite.addTestSuite(IgniteCacheReplicatedFieldsQueryJoinNoPrimaryPartitionsSelfTest.class); +// suite.addTestSuite(IgniteCachePartitionedFieldsQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheAtomicFieldsQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheAtomicNearEnabledFieldsQuerySelfTest.class); +// suite.addTestSuite(IgniteCachePartitionedFieldsQueryP2PEnabledSelfTest.class); +// suite.addTestSuite(IgniteCacheFieldsQueryNoDataSelfTest.class); +// suite.addTestSuite(GridCacheQueryIndexingDisabledSelfTest.class); +// suite.addTestSuite(GridOrderedMessageCancelSelfTest.class); +// suite.addTestSuite(CacheQueryEvictDataLostTest.class); +// +// // Full text queries. +// suite.addTestSuite(GridCacheFullTextQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheFullTextQueryNodeJoiningSelfTest.class); +// +// // Ignite cache and H2 comparison. +// suite.addTestSuite(BaseH2CompareQueryTest.class); +// suite.addTestSuite(H2CompareBigQueryTest.class); +// suite.addTestSuite(H2CompareBigQueryDistributedJoinsTest.class); +// +// // Cache query metrics. +// suite.addTestSuite(CacheLocalQueryMetricsSelfTest.class); +// suite.addTestSuite(CachePartitionedQueryMetricsDistributedSelfTest.class); +// suite.addTestSuite(CachePartitionedQueryMetricsLocalSelfTest.class); +// suite.addTestSuite(CacheReplicatedQueryMetricsDistributedSelfTest.class); +// suite.addTestSuite(CacheReplicatedQueryMetricsLocalSelfTest.class); +// +// // Cache query metrics. +// suite.addTestSuite(CacheLocalQueryDetailMetricsSelfTest.class); +// suite.addTestSuite(CachePartitionedQueryDetailMetricsDistributedSelfTest.class); +// suite.addTestSuite(CachePartitionedQueryDetailMetricsLocalSelfTest.class); +// suite.addTestSuite(CacheReplicatedQueryDetailMetricsDistributedSelfTest.class); +// suite.addTestSuite(CacheReplicatedQueryDetailMetricsLocalSelfTest.class); +// +// // Unmarshalling query test. +// suite.addTestSuite(IgniteCacheP2pUnmarshallingQueryErrorTest.class); +// suite.addTestSuite(IgniteCacheNoClassQuerySelfTest.class); +// +// // Cancellation. +// suite.addTestSuite(IgniteCacheDistributedQueryCancelSelfTest.class); +// suite.addTestSuite(IgniteCacheLocalQueryCancelOrTimeoutSelfTest.class); +// +// // Distributed joins. +// suite.addTestSuite(H2CompareBigQueryDistributedJoinsTest.class); +// suite.addTestSuite(IgniteCacheDistributedJoinCollocatedAndNotTest.class); +// suite.addTestSuite(IgniteCacheDistributedJoinCustomAffinityMapper.class); +// suite.addTestSuite(IgniteCacheDistributedJoinNoIndexTest.class); +// suite.addTestSuite(IgniteCacheDistributedJoinPartitionedAndReplicatedTest.class); +// suite.addTestSuite(IgniteCacheDistributedJoinQueryConditionsTest.class); +// suite.addTestSuite(IgniteCacheDistributedJoinTest.class); +// suite.addTestSuite(IgniteSqlDistributedJoinSelfTest.class); +// suite.addTestSuite(IgniteSqlQueryParallelismTest.class); +// +// // Other. +// suite.addTestSuite(CacheIteratorScanQueryTest.class); +// suite.addTestSuite(CacheQueryNewClientSelfTest.class); +// suite.addTestSuite(CacheOffheapBatchIndexingSingleTypeTest.class); +// suite.addTestSuite(CacheSqlQueryValueCopySelfTest.class); +// suite.addTestSuite(IgniteCacheQueryCacheDestroySelfTest.class); +// suite.addTestSuite(IgniteQueryDedicatedPoolTest.class); +// suite.addTestSuite(IgniteSqlEntryCacheModeAgnosticTest.class); +// suite.addTestSuite(QueryEntityCaseMismatchTest.class); +// suite.addTestSuite(IgniteCacheDistributedPartitionQuerySelfTest.class); +// suite.addTestSuite(IgniteCacheDistributedPartitionQueryNodeRestartsSelfTest.class); +// suite.addTestSuite(IgniteCacheDistributedPartitionQueryConfigurationSelfTest.class); +// suite.addTestSuite(IgniteSqlKeyValueFieldsTest.class); +// suite.addTestSuite(IgniteSqlRoutingTest.class); +// suite.addTestSuite(IgniteSqlNotNullConstraintTest.class); +// suite.addTestSuite(LongIndexNameTest.class); +// suite.addTestSuite(GridCacheQuerySqlFieldInlineSizeSelfTest.class); +// suite.addTestSuite(IgniteSqlParameterizedQueryTest.class); +// suite.addTestSuite(H2ConnectionLeaksSelfTest.class); +// suite.addTestSuite(IgniteCheckClusterStateBeforeExecuteQueryTest.class); +// suite.addTestSuite(OptimizedMarshallerIndexNameTest.class); +// suite.addTestSuite(SqlSystemViewsSelfTest.class); +// +// suite.addTestSuite(GridIndexRebuildSelfTest.class); +// +// suite.addTestSuite(SqlTransactionCommandsWithMvccDisabledSelfTest.class); +// +// suite.addTestSuite(IgniteSqlDefaultValueTest.class); +// suite.addTestSuite(IgniteDecimalSelfTest.class); +// suite.addTestSuite(IgniteSQLColumnConstraintsTest.class); +// suite.addTestSuite(IgniteTransactionSQLColumnConstraintTest.class); +// +// suite.addTestSuite(IgniteCachePartitionedAtomicColumnConstraintsTest.class); +// suite.addTestSuite(IgniteCachePartitionedTransactionalColumnConstraintsTest.class); +// suite.addTestSuite(IgniteCachePartitionedTransactionalSnapshotColumnConstraintTest.class); +// suite.addTestSuite(IgniteCacheReplicatedAtomicColumnConstraintsTest.class); +// suite.addTestSuite(IgniteCacheReplicatedTransactionalColumnConstraintsTest.class); +// suite.addTestSuite(IgniteCacheReplicatedTransactionalSnapshotColumnConstraintTest.class); +// +// // H2 Rows on-heap cache +// suite.addTestSuite(H2RowCacheSelfTest.class); +// suite.addTestSuite(H2RowCachePageEvictionTest.class); +// +// // User operation SQL +// suite.addTestSuite(SqlParserUserSelfTest.class); +// suite.addTestSuite(SqlUserCommandSelfTest.class); +// suite.addTestSuite(EncryptedSqlTableTest.class); +// +// suite.addTestSuite(ThreadLocalObjectPoolSelfTest.class); +// suite.addTestSuite(H2StatementCacheSelfTest.class); +// suite.addTestSuite(PreparedStatementExSelfTest.class); // Partition loss. - suite.addTestSuite(IndexingCachePartitionLossPolicySelfTest.class); - - // GROUP_CONCAT - suite.addTestSuite(IgniteSqlGroupConcatCollocatedTest.class); - suite.addTestSuite(IgniteSqlGroupConcatNotCollocatedTest.class); - - // Binary - suite.addTestSuite(BinarySerializationQuerySelfTest.class); - suite.addTestSuite(BinarySerializationQueryWithReflectiveSerializerSelfTest.class); - suite.addTestSuite(IgniteCacheBinaryObjectsScanSelfTest.class); - suite.addTestSuite(IgniteCacheBinaryObjectsScanWithEventsSelfTest.class); - suite.addTestSuite(BigEntryQueryTest.class); - suite.addTestSuite(BinaryMetadataConcurrentUpdateWithIndexesTest.class); - - // Partition pruning. - suite.addTestSuite(InOperationExtractPartitionSelfTest.class); - suite.addTestSuite(AndOperationExtractPartitionSelfTest.class); - - suite.addTestSuite(GridCacheDynamicLoadOnClientTest.class); - suite.addTestSuite(GridCacheDynamicLoadOnClientPersistentTest.class); + for (int i = 0; i < 250; i++) + suite.addTestSuite(IndexingCachePartitionLossPolicySelfTest.class); + +// // GROUP_CONCAT +// suite.addTestSuite(IgniteSqlGroupConcatCollocatedTest.class); +// suite.addTestSuite(IgniteSqlGroupConcatNotCollocatedTest.class); +// +// // Binary +// suite.addTestSuite(BinarySerializationQuerySelfTest.class); +// suite.addTestSuite(BinarySerializationQueryWithReflectiveSerializerSelfTest.class); +// suite.addTestSuite(IgniteCacheBinaryObjectsScanSelfTest.class); +// suite.addTestSuite(IgniteCacheBinaryObjectsScanWithEventsSelfTest.class); +// suite.addTestSuite(BigEntryQueryTest.class); +// suite.addTestSuite(BinaryMetadataConcurrentUpdateWithIndexesTest.class); +// +// // Partition pruning. +// suite.addTestSuite(InOperationExtractPartitionSelfTest.class); +// suite.addTestSuite(AndOperationExtractPartitionSelfTest.class); +// +// suite.addTestSuite(GridCacheDynamicLoadOnClientTest.class); +// suite.addTestSuite(GridCacheDynamicLoadOnClientPersistentTest.class); return suite; } diff --git a/modules/indexing/src/test/java8/org/apache/ignite/internal/processors/query/h2/CacheQueryEntityWithJsr310Java8DateTimeApiFieldsTest.java b/modules/indexing/src/test/java8/org/apache/ignite/internal/processors/query/h2/CacheQueryEntityWithJsr310Java8DateTimeApiFieldsTest.java index 1854978adfd95..6a144fcfc6089 100644 --- a/modules/indexing/src/test/java8/org/apache/ignite/internal/processors/query/h2/CacheQueryEntityWithJsr310Java8DateTimeApiFieldsTest.java +++ b/modules/indexing/src/test/java8/org/apache/ignite/internal/processors/query/h2/CacheQueryEntityWithJsr310Java8DateTimeApiFieldsTest.java @@ -31,6 +31,9 @@ import org.apache.ignite.cache.query.SqlFieldsQuery; import org.apache.ignite.cache.query.annotations.QuerySqlField; import org.apache.ignite.configuration.CacheConfiguration; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; /** * Tests queries against entities with JSR-310 Java 8 Date and Time API fields.