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: ca_put_callback once again |
From: | Ralph Lange <[email protected]> |
To: | [email protected] |
Date: | Wed, 24 Nov 2010 13:48:16 -0500 |
One major problem is that generic code can't know whether it is safe to re-run a put that fails for this reason or not. If there is significant I/O or other processing in the chain of records that leads up to the record that's busy then it might *not* be safe to repeat the put operation. It doesn't matter where we propose to put the retry code, the same issue arises; only the person designing the overall system can work out what the correct response is.
Ben's proposal at least makes it possible for the issue to be detected by a client so that an application-specific decision can be made when this happens.
This is definitely a 3.15 (or later) change by the way, and there is already a major modification to the putNotify code in the queue in front of this so I'm not going to be able to apply Ben's changes for some time, giving us a chance to work out the consequences properly.