Hi Vladislav,

Most likely there is a minor issue in your test.

I think Yakov would be able to run and check the test as a part of the
ongoing review.

Thanks,

Denis

On Friday, November 13, 2015, Vladisav Jelisavcic <vladis...@gmail.com>
wrote:

> Hi Denis,
>
> Thanks a lot, it looks like my test setup was wrong,
> I added semaphore tests to GridCacheAbstractDataStructuresFailoverSelfTest
> suite.
> Now I have following problem:
> when I run tests with TOP_CHANGE_THREAD_CNT = 3
> tests fail when they reach stop() with the following exception:
>
> class org.apache.ignite.internal.IgniteInterruptedCheckedException: Node is
> stopping: 09c5e8b8-8998-468e-960d-223220354fd3
> at
>
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStop0(GridCachePartitionExchangeManager.java:382)
> at
>
> org.apache.ignite.internal.processors.cache.GridCacheSharedManagerAdapter.onKernalStop(GridCacheSharedManagerAdapter.java:113)
> at
>
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStop(GridCacheProcessor.java:946)
> at org.apache.ignite.internal.IgniteKernal.stop0(IgniteKernal.java:1823)
> at org.apache.ignite.internal.IgniteKernal.stop(IgniteKernal.java:1769)
> at
>
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.stop0(IgnitionEx.java:2133)
> at
>
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.stop(IgnitionEx.java:2096)
> at org.apache.ignite.internal.IgnitionEx.stop(IgnitionEx.java:314)
> at org.apache.ignite.Ignition.stop(Ignition.java:223)
> at
>
> org.apache.ignite.testframework.junits.GridAbstractTest.stopGrid(GridAbstractTest.java:802)
> at
>
> org.apache.ignite.testframework.junits.GridAbstractTest.stopGrid(GridAbstractTest.java:784)
> at
>
> org.apache.ignite.internal.processors.cache.datastructures.GridCacheAbstractDataStructuresFailoverSelfTest.access$500(GridCacheAbstractDataStructuresFailoverSelfTest.java:54)
> at
>
> org.apache.ignite.internal.processors.cache.datastructures.GridCacheAbstractDataStructuresFailoverSelfTest$5.apply(GridCacheAbstractDataStructuresFailoverSelfTest.java:459)
>
> When I run tests with TOP_CHANGE_THEAD_CNT = 1
> everything is running ok;
>
>
> @Yakov
> I made a new commit to my IGNITE-638 branch,
> can you please take a look?
>
>
>
> Best regards,
> Vladisav
>
>
>
>
> > On Wed, Nov 11, 2015 at 3:48 PM, Denis Magda <dma...@gridgain.com
> <javascript:;>> wrote:
> >
> > > Hi Vladislav,
> > >
> > > Please see below..
> > >
> > >
> > > On 11/11/2015 12:33 PM, Vladisav Jelisavcic wrote:
> > >
> > >> Yakov,
> > >>
> > >> sorry  for running a bit late.
> > >>
> > >> Vladislav, do you have any updates for
> > >>> https://issues.apache.org/jira/browse/IGNITE-638? Or any questions?
> > >>>
> > >>> --Yakov
> > >>>
> > >> I have problems with some fail-over scenarios;
> > >> It seems that if the two nodes are in the middle of acquiring or
> > releasing
> > >> the semaphore,
> > >> and one of them fails, all nodes get:
> > >>
> > >> [09:36:38,509][ERROR][ignite-#13%pub-null%][GridCacheSemaphoreImpl]
> > >> <ignite-atomics-sys-cache> Failed to compare and set:
> > >>
> o.a.i.i.processors.datastructures.GridCacheSemaphoreImpl$Sync$1@5528b728
> > >> class
> > org.apache.ignite.internal.cluster.ClusterTopologyCheckedException:
> > >> Failed to acquire lock for keys (primary node left grid, retry
> > transaction
> > >> if possible) [keys=[UserKeyCacheObjectImpl
> [val=GridCacheInternalKeyImpl
> > >> [name=ac83b8cb-3052-49a6-9301-81b20b0ecf3a], hasValBytes=true]],
> > >> node=c321fcc4-5db5-4b03-9811-6a5587f2c253]
> > >> ...
> > >> Caused by: class
> > >> org.apache.ignite.internal.cluster.ClusterTopologyCheckedException:
> > Failed
> > >> to acquire lock for keys (primary node left grid, retry transaction if
> > >> possible) [keys=[UserKeyCacheObjectImpl [val=GridCacheInternalKeyImpl
> > >> [name=ac83b8cb-3052-49a6-9301-81b20b0ecf3a], hasValBytes=true]],
> > >> node=c321fcc4-5db5-4b03-9811-6a5587f2c253]
> > >> at
> > >>
> > >>
> >
> org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedLockFuture.newTopologyException(GridDhtColocatedLockFuture.java:1199)
> > >> ... 10 more
> > >>
> > > You have to process this exception manually at your implementation
> layer
> > > since your data structure uses a transactional cache.
> > > Below is a kind of template I used when it was required to process this
> > > and some other exeptions. You can use it as-is.
> > >
> > > int retries = GridCacheAdapter.MAX_RETRIES;
> > >
> > > IgniteCheckedException err =null;
> > >
> > > for (int i =0; i < retries; i++) {
> > >     try {
> > >         //Your transactional code that may fail
> > >     }
> > >     catch (IgniteCheckedException e) {
> > >         if (i == retries)
> > >             throw e;
> > >
> > >         if (X.hasCause(e, ClusterTopologyCheckedException.class)) {
> > >             ClusterTopologyCheckedException topErr =
> > > e.getCause(ClusterTopologyCheckedException.class);
> > >
> > >             topErr.retryReadyFuture().get();
> > >         }
> > >         else if (X.hasCause(e, IgniteTxRollbackCheckedException.class))
> > >             U.sleep(1);
> > >         else throw e;
> > >     }
> > > }
> > >
> > >
> > >
> > >> I'm still trying to find out how to exactly reproduce this behavior,
> > >> I'll send you more details once I try few more things.
> > >>
> > > There is the test suite called
> > > GridCacheAbstractDataStructuresFailoverSelfTest that checks Ignite
> > atomics
> > > and data structures with fail-over scenario.
> > > The suite will let you reproduce ClusterTopologyCheckedException
> easily.
> > > Just add your tests there referring to the tests of other data
> > structures.
> > >
> > > Presently I'm improving this test suite under my work on IGNITE-801 and
> > > IGNITE-803. If you finish your task earlier then I'll adopt your tests
> > to a
> > > new test approach.
> > >
> > >
> > >> I am still using partitioned cache, does it make sense to use
> replicated
> > >> cache instead?
> > >>
> > >> Yeah, you should support this as well. Cache mode for the data
> > structures
> > > is changed using CollectionConfigurations while for atomics using
> > > AtomicsConfiguration.
> > >
> > > --
> > > Denis
> > >
> > >
> > > Other than that, I'm done with everything else.
> > >>
> > >> Thanks,
> > >> Vladisav
> > >>
> > >>
> > >>
> > >> On Tue, Nov 10, 2015 at 7:19 PM, Raul Kripalani <ra...@apache.org
> <javascript:;>>
> > wrote:
> > >>
> > >> Sorry I haven't made an appearance in this thread yet.
> > >>>
> > >>> 6. MQTT streamer
> > >>>> https://issues.apache.org/jira/browse/IGNITE-535
> > >>>>
> > >>> Yes, it was merged to master before the ignite-1.5 was created.
> > >>>
> > >>> I'd like to add:
> > >>>
> > >>> Camel Streamer => https://issues.apache.org/jira/browse/IGNITE-1790
> > >>> -- I'll merge this as soon as I finished with the OSGi tickets with
> > >>> demand.
> > >>>
> > >>> OSGi Manifests, Karaf features and possible ClassLoaderCodec SPI (or
> > >>> whatever agreement we arrive to in mailing lists and Wiki)
> > >>> -- https://issues.apache.org/jira/browse/IGNITE-1527
> > >>> -- https://issues.apache.org/jira/browse/IGNITE-1877
> > >>> -- I'm working actively on these two features.
> > >>>
> > >>> *Raúl Kripalani*
> > >>> PMC & Committer @ Apache Ignite, Apache Camel | Integration, Big Data
> > and
> > >>> Messaging Engineer
> > >>> http://about.me/raulkripalani |
> > http://www.linkedin.com/in/raulkripalani
> > >>> http://blog.raulkr.net | twitter: @raulvk
> > >>>
> > >>> On Mon, Nov 2, 2015 at 1:35 PM, Yakov Zhdanov <yzhda...@apache.org
> <javascript:;>>
> > >>> wrote:
> > >>>
> > >>> Guys,
> > >>>>
> > >>>> I think we can start preparation to Ignite-1.5 release which will
> > >>>> include
> > >>>> many interesting features:
> > >>>>
> > >>>> 1. Portable object API
> > >>>> https://issues.apache.org/jira/browse/IGNITE-1486
> > >>>>
> > >>>> 2. Ignite.NET and Ignite C++
> > >>>> https://issues.apache.org/jira/browse/IGNITE-1282
> > >>>>
> > >>>> 3. Optimistic serializable transactions
> > >>>> https://issues.apache.org/jira/browse/IGNITE-1607
> > >>>>
> > >>>> 4. Distributed SQL joins - we will be able to query non-collocated
> > data
> > >>>>
> > >>> as
> > >>>
> > >>>> well
> > >>>> https://issues.apache.org/jira/browse/IGNITE-1232
> > >>>>
> > >>>> 5. Enhanced Oracle and IBM JDK interoperability
> > >>>> https://issues.apache.org/jira/browse/IGNITE-1526
> > >>>>
> > >>>> 6. MQTT streamer
> > >>>> https://issues.apache.org/jira/browse/IGNITE-535
> > >>>>
> > >>>> 7. Continuous query failover
> > >>>> https://issues.apache.org/jira/browse/IGNITE-426
> > >>>>
> > >>>> 8. Significant transactional cache performance optimizations - I
> will
> > >>>>
> > >>> merge
> > >>>
> > >>>> these changes from 'ignite-1.4-slow-server-debug' today or tomorrow.
> > >>>>
> > >>>> 9. Many stability and fault-tolerance fixes.
> > >>>>
> > >>>> 10. I would also like to include distributed Semaphore. Vladislav,
> any
> > >>>> chance you can finish with it this week?
> > >>>> https://issues.apache.org/jira/browse/IGNITE-
> > >>>> <https://issues.apache.org/jira/browse/IGNITE-426>638
> > >>>>
> > >>>> Thanks to everyone involved! Guys, esp. assignees of mentioned
> issues,
> > >>>> please respond to this email and let us know when can we expect your
> > >>>> changes being merged to master and release branch?
> > >>>>
> > >>>> Can someone create ignite-1.5 release branch?
> > >>>>
> > >>>> --Yakov
> > >>>>
> > >>>>
> > >
> >
>

Reply via email to