[jira] [Commented] (IGNITE-4982) GridCacheAbstractRemoveFailureTest fail
[ 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 T2KILL_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
[ 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 T2KILL_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
[ 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 T2KILL_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