Map keys propagation

View: New views
4 Messages — Rating Filter:   Alert me  

Map keys propagation

by Artyom Sokolov :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Good time of day.

Consider we have Map, backed by ConcurrentStringMap which is shared as
DSO root. What actually happens to Map's keys when one TC client node
adds or removes entries to/from the map? Are changes to keys become
visible immediately, i.e. keyset propagated to every TC nodes after
each "dirty" operation (in case of each operation is within separate
lock) on Map?

Thanks.
_______________________________________________
tc-users mailing list
tc-users@...
http://lists.terracotta.org/mailman/listinfo/tc-users

Re: Map keys propagation

by Alex Miller-8 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

If a new entry is added or removed, the entry is sent to the server  
array in a transaction (under a per-key lock).  The change is then  
broadcast out to other nodes that have the map (which might not be all  
of them) where it is applied in a background thread.  If another node  
is trying to do something with the same key, there is some  
coordination that occurs such that the broadcast changes are applied  
first.

Hope that helps?


On May 12, 2009, at 9:24 AM, Artyom Sokolov wrote:

> Good time of day.
>
> Consider we have Map, backed by ConcurrentStringMap which is shared as
> DSO root. What actually happens to Map's keys when one TC client node
> adds or removes entries to/from the map? Are changes to keys become
> visible immediately, i.e. keyset propagated to every TC nodes after
> each "dirty" operation (in case of each operation is within separate
> lock) on Map?
>
> Thanks.
> _______________________________________________
> tc-users mailing list
> tc-users@...
> http://lists.terracotta.org/mailman/listinfo/tc-users

_______________________________________________
tc-users mailing list
tc-users@...
http://lists.terracotta.org/mailman/listinfo/tc-users

Re: Map keys propagation

by Geert Bevin-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

An important thing to highlight here is that maps are logically  
handled by Terracotta and a change to the keyset thus doesn't require  
sending the whole data set back and forth. The operations within the  
transaction will simply be 'replayed' with the same arguments, using  
proper coordination to keep everything consistent.

On 12 May 2009, at 17:15, Alex Miller wrote:

> If a new entry is added or removed, the entry is sent to the server
> array in a transaction (under a per-key lock).  The change is then
> broadcast out to other nodes that have the map (which might not be all
> of them) where it is applied in a background thread.  If another node
> is trying to do something with the same key, there is some
> coordination that occurs such that the broadcast changes are applied
> first.
>
> Hope that helps?
>
>
> On May 12, 2009, at 9:24 AM, Artyom Sokolov wrote:
>
>> Good time of day.
>>
>> Consider we have Map, backed by ConcurrentStringMap which is shared  
>> as
>> DSO root. What actually happens to Map's keys when one TC client node
>> adds or removes entries to/from the map? Are changes to keys become
>> visible immediately, i.e. keyset propagated to every TC nodes after
>> each "dirty" operation (in case of each operation is within separate
>> lock) on Map?

--
Geert Bevin
Terracotta - http://www.terracotta.org
Uwyn "Use what you need" - http://uwyn.com
RIFE Java application framework - http://rifers.org
Flytecase Band - http://flytecase.be
Music and words - http://gbevin.com

_______________________________________________
tc-users mailing list
tc-users@...
http://lists.terracotta.org/mailman/listinfo/tc-users

Re: Map keys propagation

by Artyom Sokolov :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Alex, Geert

Thank you, that helped a lot.

Artyom

On Tue, May 12, 2009 at 8:22 PM, Geert Bevin <gbevin@...> wrote:

> An important thing to highlight here is that maps are logically
> handled by Terracotta and a change to the keyset thus doesn't require
> sending the whole data set back and forth. The operations within the
> transaction will simply be 'replayed' with the same arguments, using
> proper coordination to keep everything consistent.
>
> On 12 May 2009, at 17:15, Alex Miller wrote:
>
>> If a new entry is added or removed, the entry is sent to the server
>> array in a transaction (under a per-key lock).  The change is then
>> broadcast out to other nodes that have the map (which might not be all
>> of them) where it is applied in a background thread.  If another node
>> is trying to do something with the same key, there is some
>> coordination that occurs such that the broadcast changes are applied
>> first.
>>
>> Hope that helps?
>>
>>
>> On May 12, 2009, at 9:24 AM, Artyom Sokolov wrote:
>>
>>> Good time of day.
>>>
>>> Consider we have Map, backed by ConcurrentStringMap which is shared
>>> as
>>> DSO root. What actually happens to Map's keys when one TC client node
>>> adds or removes entries to/from the map? Are changes to keys become
>>> visible immediately, i.e. keyset propagated to every TC nodes after
>>> each "dirty" operation (in case of each operation is within separate
>>> lock) on Map?
>
> --
> Geert Bevin
> Terracotta - http://www.terracotta.org
> Uwyn "Use what you need" - http://uwyn.com
> RIFE Java application framework - http://rifers.org
> Flytecase Band - http://flytecase.be
> Music and words - http://gbevin.com
>
> _______________________________________________
> tc-users mailing list
> tc-users@...
> http://lists.terracotta.org/mailman/listinfo/tc-users
>
_______________________________________________
tc-users mailing list
tc-users@...
http://lists.terracotta.org/mailman/listinfo/tc-users