1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 <2009> 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 <2009> 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Detecting data lost from a subscriber |
From: | Ralph Lange <[email protected]> |
To: | Bruno Coudoin <[email protected]> |
Cc: | [email protected] |
Date: | Wed, 08 Jul 2009 16:24:21 +0200 |
Hello Bruno,For arrays, the server side queue does not contain the values, but a pointer to the array.
In the case of the server queue filling up, i.e. the server generating more updates than CA is able to push onto the network... ...atomic data will be kept as copies in the queue, i.e. data is lost only if the queue gets filled up completely, in which case the server overwrites the last queue element each time it gets a new update. ...array data will be kept in the application (e.g. IOC database), so that any new update happening before the queue is empty will lead to data loss.
Or - in other words: A half-full server queue is a healthy situation for atomic data (no updates lost), and an unhealthy situation for array data (CA will always send the current array data).
Usually the server side queue is a good thing to handle short changes in network and/or client load. For arrays, as soon as you need the queue, you lose data.
Background: Arrays can be large. If CA would copy arrays onto the queue, the IOC could easily run out of memory due to a client or network problem, which would make the IOC far too vulnerable.
Hope this answers your question... Ralph On 08.07.2009 15:58 Bruno Coudoin wrote:
Le mercredi 08 juillet 2009 à 11:08 +0200, Ralph Lange a écrit :Careful: Array data is not put into the server side queue (only references to the array), so using an array to add the sequence number would at the same time enable you to detect missing updates and create a lot of missing updates. (Probably not what you want.)I don't understand this point. In what would it make things worse, could you please explain me.