At the moment I am getting closer to finish with IGNITE-1816 - optional
compaction of portable object footers. In general feature works. In the
nearest time I am going to perform some microbenchmarks to understand
implications. Two things left:
- I have to rework lots of binary object unit tests because they were
designed to run with disabled metadata, and compact footers require
metadata.
- Need to add cross-node validation.

On Wed, Nov 11, 2015 at 3:48 PM, Denis Magda <dma...@gridgain.com> 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> 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>
>>> 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