Hi Olivier,

thanks for the explanation. Now I understand the differences. 
DeadPlacesException works in all my test cases.

Cheers,
Jonas

Am 11.07.2016 um 19:20 schrieb Olivier Tardieu:
> Jonas,
>
> A finish always throws an exception of type MultipleException or its
> subtype DeadPlacesException (plural: DeadPlaces) if all the (transitively)
> suppressed exceptions are of type DeadPlaceException.
> An asyncAt can throw a DeadPlaceException (singular: DeadPlace) if the
> destination place is dead.
> DeadPlaceException and MultipleException are two uncomparable types thrown
> in different contexts.
> DeadPlacesException is a subtype of MultipleException intended to make it
> easy to check that nothing went wrong other than places dying in a finish
> block.
>
> In the case you describe catching a DeadPlacesException (plural) should
> work.
> Catching a DeadPlaceException (singular) will not.
>
> I suspect the current spelling is too confusing.
> I'll do something else.
>
> Olivier
>
> Jonas Posner <jonas.pos...@uni-kassel.de> wrote on 07/11/2016 10:42:47 AM:
>
>> From: Jonas Posner <jonas.pos...@uni-kassel.de>
>> To: Mailing list for users of the X10 programming language <x10-
>> us...@lists.sourceforge.net>
>> Date: 07/11/2016 10:43 AM
>> Subject: Re: [X10-users] [APGAS] Questions about ResilientUTS
>>
>> Hi Olivier,
>>
>> about DeadPlaceException in line 386:
>> For testing, I modified the lambda in line 274:
>>
>> () -> {
>>       if (here().id == 1) {
>>           System.exit(42);
>>       }
>>       return new ResilientUTS(wave, group, power, s, r, resilient);
>> });
>>
>> In this case, I catch a MultipleException which contains one actual
>> DeadPlaceException and two suppressed DeadPlaceExceptions. However the
>> program continues and the result is correct. Without changing
>> DeadPlaceException to MultipleException the whole program crashes.
>>
>> I am playing around with these Exceptions in minimal programs and do not
>
>> understand the mind of MultipleExceptions. When should a
>> MultipleException be thrown and when a DeadPlaceException?
>>
>>
>> Best wishes,
>> Jonas
>>
>> Am 09.07.2016 um 15:08 schrieb Olivier Tardieu:
>>> Hi Jonas,
>>>
>>> About DeadPlacesException at line 386. I am not sure.
>>> What exception other than a DeadPlaceException are you seeing inside
> the
>>> MultipleException?
>>>
>>> About data loss.
>>> When I started working with Hazelcast, there was no reliable way to
>>> detect data loss.
>>> Hazelcast has added an API for data loss events so it should be
> possible
>>> now.
>>> Have a look at the "Partition Loss Listener" in Hazelcast.
>>>
>>> About backup counts.
>>> Yes this seems reasonable for now.
>>> Eventually APGAS should expose a configuration parameter for this.
>>>
>>> About line 297.
>>> Yes, the transaction guarantees that we obtain a consistent view of
> the map.
>>> In theory, we need this to preclude delayed map updates coming from
> dead
>>> places.
>>> We are working toward preventing such spurious updates and make your
>>> simpler code correct.
>>> For now, your code is very unlikely to fail, but there is no
> consistency
>>> guarantee.
>>>
>>> I have no immediate plan to simplify the resilient map API but I agree
>>> this would be nice...
>>>
>>> Olivier
>>>
>>>
>>>
>>>
>>>
>>> From: Jonas Posner <jonas.pos...@uni-kassel.de>
>>> To: x10-users@lists.sourceforge.net
>>> Date: 07/07/2016 08:45 AM
>>> Subject: [X10-users] [APGAS] Questions about ResilientUTS
>>>
> ------------------------------------------------------------------------
>>>
>>>
>>>
>>> Hi all,
>>>
>>> I have a few questions about the ResilientUTS example from the APGAS
>>> project:
>>>
>>> In line 386, the DeadPlacesException has to be a MultipleException,
>>> right? With DeadPlacesException the program crashes when a places
> crashes.
>>>
>>> When one place crashes after another, the result is false. The reason
> is
>>> probably the backupcount of the map. Is there a way to detect data
> loss?
>>>
>>> To tolerate two place crashes, I added the following code before
>>> initializing the map:
>>>          MapConfig mapConfig = new MapConfig("map"+wave);
>>>          mapConfig.setBackupCount(2);
>>>          hz.getConfig().addMapConfig(mapConfig);
>>> Is this the preferred way?
>>>
>>> In line 297, I don't understand the purpose of:
>>> final Collection<UTS> values = uts.hz((TransactionalTaskContext
>>> context) -> { return context.<Integer, UTS> getMap("map" +
>>> wave).values(); });
>>> With a simple "final Collection<UTS> values = uts.map.values();" it
> also
>>> works in my test cases. What are the advantages of the original?
>>> As far as I understand, the purpose of executeTransaction in method
>>> transfer is to guarantee data integrity?
>>>
>>> Are there any plans for the future that APGAS provides more
>>> functionalities to the programmer, so that a APGAS programmer does not
>>> have to use hazelcast directly?
>>>
>>>
>>> Thanks and cheers
>>> Jonas
>>>
>>>
>>> ---
>>> Jonas Posner
>>> Universitaet Kassel
>>> Fachbereich 16 Elektrotechnik/Informatik
>>> Fachgebiet Programmiersprachen/-methodik
>>> Wilhelmshoeher Allee 71-73
>>> 34121 Kassel, Germany
>>>
>>> Phone:  +49 (0)561 804-6498
>>> Fax:    +49 (0)561 804-6219
>>> mailto: jonas.pos...@uni-kassel.de
>>> www.uni-kassel.de
>>>
>>>
>>
> ------------------------------------------------------------------------------
>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in
> San
>>> Francisco, CA to explore cutting-edge tech and listen to tech
> luminaries
>>> present their vision of the future. This family event has something
> for
>>> everyone, including kids. Get more information and register today.
>>> http://sdm.link/attshape
>>> _______________________________________________
>>> X10-users mailing list
>>> X10-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/x10-users
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
> ------------------------------------------------------------------------------
>>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in
> San
>>> Francisco, CA to explore cutting-edge tech and listen to tech
> luminaries
>>> present their vision of the future. This family event has something
> for
>>> everyone, including kids. Get more information and register today.
>>> http://sdm.link/attshape
>>>
>>>
>>>
>>> _______________________________________________
>>> X10-users mailing list
>>> X10-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/x10-users
>>>
>>
>> --
>> ---
>> Jonas Posner
>> Universitaet Kassel
>> Fachbereich 16 Elektrotechnik/Informatik
>> Fachgebiet Programmiersprachen/-methodik
>> Wilhelmshoeher Allee 71-73
>> 34121 Kassel, Germany
>>
>> Phone:  +49 (0)561 804-6498
>> Fax:    +49 (0)561 804-6219
>> mailto: jonas.pos...@uni-kassel.de
>> www.uni-kassel.de
>>
>>
> ------------------------------------------------------------------------------
>> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
>> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
>> present their vision of the future. This family event has something for
>> everyone, including kids. Get more information and register today.
>> http://sdm.link/attshape
>> _______________________________________________
>> X10-users mailing list
>> X10-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/x10-users
>>
>
>
>
> ------------------------------------------------------------------------------
> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
> present their vision of the future. This family event has something for
> everyone, including kids. Get more information and register today.
> http://sdm.link/attshape
> _______________________________________________
> X10-users mailing list
> X10-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/x10-users
>

-- 
---
Jonas Posner
Universitaet Kassel
Fachbereich 16 Elektrotechnik/Informatik
Fachgebiet Programmiersprachen/-methodik
Wilhelmshoeher Allee 71-73
34121 Kassel, Germany

Phone:  +49 (0)561 804-6498
Fax:    +49 (0)561 804-6219
mailto: jonas.pos...@uni-kassel.de
www.uni-kassel.de

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
X10-users mailing list
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users

Reply via email to