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