[jira] [Commented] (IGNITE-4982) GridCacheAbstractRemoveFailureTest fail

2017-04-17 Thread Konstantin Dudkov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-4982?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15971030#comment-15971030
 ] 

Konstantin Dudkov commented on IGNITE-4982:
---

[TC 
tests|http://ci.ignite.apache.org/project.html?projectId=IgniteTests_IgniteTests=pull/1792/head]
 nothing new comparing to master

> GridCacheAbstractRemoveFailureTest fail
> ---
>
> Key: IGNITE-4982
> URL: https://issues.apache.org/jira/browse/IGNITE-4982
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Reporter: Konstantin Dudkov
>Assignee: Konstantin Dudkov
> Fix For: 2.0
>
>
> GridCacheAbstractRemoveFailureTest (and some child tests) fails. Reproducer:
> {code:java}
> import java.util.Collection;
> import java.util.HashSet;
> import java.util.Map;
> import java.util.concurrent.Callable;
> import java.util.concurrent.CyclicBarrier;
> import java.util.concurrent.ThreadLocalRandom;
> import java.util.concurrent.TimeUnit;
> import java.util.concurrent.TimeoutException;
> import java.util.concurrent.atomic.AtomicBoolean;
> import java.util.concurrent.atomic.AtomicLong;
> import java.util.concurrent.atomic.AtomicReference;
> import javax.cache.CacheException;
> import org.apache.ignite.Ignite;
> import org.apache.ignite.IgniteCache;
> import org.apache.ignite.IgniteException;
> import org.apache.ignite.IgniteTransactions;
> import org.apache.ignite.cache.CacheAtomicWriteOrderMode;
> import org.apache.ignite.cache.CacheAtomicityMode;
> import org.apache.ignite.cache.CacheMode;
> import org.apache.ignite.configuration.CacheConfiguration;
> import org.apache.ignite.configuration.IgniteConfiguration;
> import org.apache.ignite.configuration.NearCacheConfiguration;
> import org.apache.ignite.internal.IgniteInternalFuture;
> import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
> import org.apache.ignite.internal.util.lang.GridTuple;
> import org.apache.ignite.internal.util.typedef.F;
> import org.apache.ignite.internal.util.typedef.T2;
> import org.apache.ignite.internal.util.typedef.X;
> import org.apache.ignite.internal.util.typedef.internal.U;
> import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
> import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
> import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
> import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
> import org.apache.ignite.testframework.GridTestUtils;
> import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
> import org.apache.ignite.transactions.Transaction;
> import org.apache.ignite.transactions.TransactionConcurrency;
> import org.apache.ignite.transactions.TransactionIsolation;
> import org.jsr166.ConcurrentHashMap8;
> import static 
> org.apache.ignite.IgniteSystemProperties.IGNITE_ATOMIC_CACHE_DELETE_HISTORY_SIZE;
> import static org.apache.ignite.cache.CacheMode.PARTITIONED;
> import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
> import static 
> org.apache.ignite.transactions.TransactionConcurrency.OPTIMISTIC;
> import static 
> org.apache.ignite.transactions.TransactionConcurrency.PESSIMISTIC;
> import static 
> org.apache.ignite.transactions.TransactionIsolation.REPEATABLE_READ;
> import static 
> org.apache.ignite.transactions.TransactionIsolation.SERIALIZABLE;
> /**
>  * Tests that removes are not lost when topology changes.
>  */
> public abstract class GridCacheAbstractRemoveFailureTest extends 
> GridCommonAbstractTest {
> /** IP finder. */
> private static final TcpDiscoveryIpFinder IP_FINDER = new 
> TcpDiscoveryVmIpFinder(true);
> /** */
> private static final int GRID_CNT = 3;
> /** Keys count. */
> private static final int KEYS_CNT = 10_000;
> /** Test duration. */
> private static final long DUR = 90 * 1000L;
> /** Cache data assert frequency. */
> private static final long ASSERT_FREQ = 10_000;
> /** Kill delay. */
> private static final T2 KILL_DELAY = new T2<>(2000, 
> 5000);
> /** Start delay. */
> private static final T2 START_DELAY = new T2<>(2000, 
> 5000);
> /** */
> private static String sizePropVal;
> /** {@inheritDoc} */
> @Override protected IgniteConfiguration getConfiguration(String 
> igniteInstanceName) throws Exception {
> IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
> 
> ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(IP_FINDER).setForceServerMode(true);
> if (testClientNode() && 
> getTestIgniteInstanceName(0).equals(igniteInstanceName))
> cfg.setClientMode(true);
> 
> ((TcpCommunicationSpi)cfg.getCommunicationSpi()).setSharedMemoryPort(-1);
> return cfg;
> }
> /** {@inheritDoc} */
> 

[jira] [Commented] (IGNITE-4982) GridCacheAbstractRemoveFailureTest fail

2017-04-14 Thread Konstantin Dudkov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-4982?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15969120#comment-15969120
 ] 

Konstantin Dudkov commented on IGNITE-4982:
---

Semen,

I added two methods to GridDhtAtomicAbstractUpdateRequest: int obsoleteSize() & 
KeyCacheObject obsoleteKey(int idx) witn new structure in request and did small 
refactoring in GridNearAtomicCache#processDhtAtomicUpdateRequest.

Please review.
Thanks.

> GridCacheAbstractRemoveFailureTest fail
> ---
>
> Key: IGNITE-4982
> URL: https://issues.apache.org/jira/browse/IGNITE-4982
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Reporter: Konstantin Dudkov
>Assignee: Konstantin Dudkov
> Fix For: 2.0
>
>
> GridCacheAbstractRemoveFailureTest (and some child tests) fails. Reproducer:
> {code:java}
> import java.util.Collection;
> import java.util.HashSet;
> import java.util.Map;
> import java.util.concurrent.Callable;
> import java.util.concurrent.CyclicBarrier;
> import java.util.concurrent.ThreadLocalRandom;
> import java.util.concurrent.TimeUnit;
> import java.util.concurrent.TimeoutException;
> import java.util.concurrent.atomic.AtomicBoolean;
> import java.util.concurrent.atomic.AtomicLong;
> import java.util.concurrent.atomic.AtomicReference;
> import javax.cache.CacheException;
> import org.apache.ignite.Ignite;
> import org.apache.ignite.IgniteCache;
> import org.apache.ignite.IgniteException;
> import org.apache.ignite.IgniteTransactions;
> import org.apache.ignite.cache.CacheAtomicWriteOrderMode;
> import org.apache.ignite.cache.CacheAtomicityMode;
> import org.apache.ignite.cache.CacheMode;
> import org.apache.ignite.configuration.CacheConfiguration;
> import org.apache.ignite.configuration.IgniteConfiguration;
> import org.apache.ignite.configuration.NearCacheConfiguration;
> import org.apache.ignite.internal.IgniteInternalFuture;
> import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
> import org.apache.ignite.internal.util.lang.GridTuple;
> import org.apache.ignite.internal.util.typedef.F;
> import org.apache.ignite.internal.util.typedef.T2;
> import org.apache.ignite.internal.util.typedef.X;
> import org.apache.ignite.internal.util.typedef.internal.U;
> import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
> import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
> import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
> import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
> import org.apache.ignite.testframework.GridTestUtils;
> import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
> import org.apache.ignite.transactions.Transaction;
> import org.apache.ignite.transactions.TransactionConcurrency;
> import org.apache.ignite.transactions.TransactionIsolation;
> import org.jsr166.ConcurrentHashMap8;
> import static 
> org.apache.ignite.IgniteSystemProperties.IGNITE_ATOMIC_CACHE_DELETE_HISTORY_SIZE;
> import static org.apache.ignite.cache.CacheMode.PARTITIONED;
> import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
> import static 
> org.apache.ignite.transactions.TransactionConcurrency.OPTIMISTIC;
> import static 
> org.apache.ignite.transactions.TransactionConcurrency.PESSIMISTIC;
> import static 
> org.apache.ignite.transactions.TransactionIsolation.REPEATABLE_READ;
> import static 
> org.apache.ignite.transactions.TransactionIsolation.SERIALIZABLE;
> /**
>  * Tests that removes are not lost when topology changes.
>  */
> public abstract class GridCacheAbstractRemoveFailureTest extends 
> GridCommonAbstractTest {
> /** IP finder. */
> private static final TcpDiscoveryIpFinder IP_FINDER = new 
> TcpDiscoveryVmIpFinder(true);
> /** */
> private static final int GRID_CNT = 3;
> /** Keys count. */
> private static final int KEYS_CNT = 10_000;
> /** Test duration. */
> private static final long DUR = 90 * 1000L;
> /** Cache data assert frequency. */
> private static final long ASSERT_FREQ = 10_000;
> /** Kill delay. */
> private static final T2 KILL_DELAY = new T2<>(2000, 
> 5000);
> /** Start delay. */
> private static final T2 START_DELAY = new T2<>(2000, 
> 5000);
> /** */
> private static String sizePropVal;
> /** {@inheritDoc} */
> @Override protected IgniteConfiguration getConfiguration(String 
> igniteInstanceName) throws Exception {
> IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
> 
> ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(IP_FINDER).setForceServerMode(true);
> if (testClientNode() && 
> getTestIgniteInstanceName(0).equals(igniteInstanceName))
> cfg.setClientMode(true);
> 
> 

[jira] [Commented] (IGNITE-4982) GridCacheAbstractRemoveFailureTest fail

2017-04-14 Thread Konstantin Dudkov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-4982?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15968760#comment-15968760
 ] 

Konstantin Dudkov commented on IGNITE-4982:
---

The point was as follows:

In some situations we try to add to GridDhtAtomicSingleUpdateRequest both 
writeValue and nearWriteValue. But in case of adding nearWriteValue we 
overwrite writeValue and node doesn't process DHT update. I add saparate flag 
in GridDhtAtomicSingleUpdateRequest so now node can process this situation 
right.

[PR|https://github.com/apache/ignite/pull/1792]

Please review.

> GridCacheAbstractRemoveFailureTest fail
> ---
>
> Key: IGNITE-4982
> URL: https://issues.apache.org/jira/browse/IGNITE-4982
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Reporter: Konstantin Dudkov
>Assignee: Konstantin Dudkov
> Fix For: 2.0
>
>
> GridCacheAbstractRemoveFailureTest (and some child tests) fails. Reproducer:
> {code:java}
> import java.util.Collection;
> import java.util.HashSet;
> import java.util.Map;
> import java.util.concurrent.Callable;
> import java.util.concurrent.CyclicBarrier;
> import java.util.concurrent.ThreadLocalRandom;
> import java.util.concurrent.TimeUnit;
> import java.util.concurrent.TimeoutException;
> import java.util.concurrent.atomic.AtomicBoolean;
> import java.util.concurrent.atomic.AtomicLong;
> import java.util.concurrent.atomic.AtomicReference;
> import javax.cache.CacheException;
> import org.apache.ignite.Ignite;
> import org.apache.ignite.IgniteCache;
> import org.apache.ignite.IgniteException;
> import org.apache.ignite.IgniteTransactions;
> import org.apache.ignite.cache.CacheAtomicWriteOrderMode;
> import org.apache.ignite.cache.CacheAtomicityMode;
> import org.apache.ignite.cache.CacheMode;
> import org.apache.ignite.configuration.CacheConfiguration;
> import org.apache.ignite.configuration.IgniteConfiguration;
> import org.apache.ignite.configuration.NearCacheConfiguration;
> import org.apache.ignite.internal.IgniteInternalFuture;
> import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
> import org.apache.ignite.internal.util.lang.GridTuple;
> import org.apache.ignite.internal.util.typedef.F;
> import org.apache.ignite.internal.util.typedef.T2;
> import org.apache.ignite.internal.util.typedef.X;
> import org.apache.ignite.internal.util.typedef.internal.U;
> import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
> import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
> import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
> import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
> import org.apache.ignite.testframework.GridTestUtils;
> import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
> import org.apache.ignite.transactions.Transaction;
> import org.apache.ignite.transactions.TransactionConcurrency;
> import org.apache.ignite.transactions.TransactionIsolation;
> import org.jsr166.ConcurrentHashMap8;
> import static 
> org.apache.ignite.IgniteSystemProperties.IGNITE_ATOMIC_CACHE_DELETE_HISTORY_SIZE;
> import static org.apache.ignite.cache.CacheMode.PARTITIONED;
> import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
> import static 
> org.apache.ignite.transactions.TransactionConcurrency.OPTIMISTIC;
> import static 
> org.apache.ignite.transactions.TransactionConcurrency.PESSIMISTIC;
> import static 
> org.apache.ignite.transactions.TransactionIsolation.REPEATABLE_READ;
> import static 
> org.apache.ignite.transactions.TransactionIsolation.SERIALIZABLE;
> /**
>  * Tests that removes are not lost when topology changes.
>  */
> public abstract class GridCacheAbstractRemoveFailureTest extends 
> GridCommonAbstractTest {
> /** IP finder. */
> private static final TcpDiscoveryIpFinder IP_FINDER = new 
> TcpDiscoveryVmIpFinder(true);
> /** */
> private static final int GRID_CNT = 3;
> /** Keys count. */
> private static final int KEYS_CNT = 10_000;
> /** Test duration. */
> private static final long DUR = 90 * 1000L;
> /** Cache data assert frequency. */
> private static final long ASSERT_FREQ = 10_000;
> /** Kill delay. */
> private static final T2 KILL_DELAY = new T2<>(2000, 
> 5000);
> /** Start delay. */
> private static final T2 START_DELAY = new T2<>(2000, 
> 5000);
> /** */
> private static String sizePropVal;
> /** {@inheritDoc} */
> @Override protected IgniteConfiguration getConfiguration(String 
> igniteInstanceName) throws Exception {
> IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
> 
> ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(IP_FINDER).setForceServerMode(true);
> if