g+
g+ Communities
Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014 
<== Date ==> <== Thread ==>

Subject: Re: Using CAJ in production (DBE_PROPERTY and CA gateway)
From: Michael Davidsaver <mdavidsaver@bnl.gov>
To: tech-talk@aps.anl.gov
Date: Thu, 29 Nov 2012 19:03:11 -0500
On 11/29/2012 1:30 PM, Shankar, Murali wrote:

 

Just wanting to check if anyone uses CAJ (pure Java CA client) clients in production especially in combination with IOC's that are using the native CA library.

I've pinged a few folks offline; however, it was thought that a community wide repoll would probably be beneficial.

 

Known issues that I am already aware of (thanks Michael and Eric)

1) Interoperability issue with the CA Gateway and clients using monitors with DBE_PROPERTY.


I should probably comment on this as it was noticed at BNL and I was involved in the (so far brief) investigation.  I didn't report it at the time because it wasn't clear were the fix(es) should go and I wanted to investigate further.  Obviously this hasn't happened yet.  My apologies.

The problem was observed when attempting to use a use CAJ (via CSS) to monitor a PV through a CA gateway.  The situation as I remember it was:

1) CAJ client sends message to create a new monitor with DBE_PROPERTY mask.
2) CA gateway fails this request and returns a CA error message indicating invalid DBE mask.
3) Client code does not notice or act upon (not clear which) this error
4) Client sends a message to delete the monitor
5) The CA gateway sees this as an attempt to delete a non-existent monitor and reacts by closing the connection.


What makes this a serious problem is that apparently CSS will delete the monitor of a PV just before it issues a put to it.  So the symptom of this problem was that making any setting change would cause all the PVs from the same IOC to become disconnected.  They would reconnect within a few seconds, but the connection closes before the put message is forwarded, so it is lost.

There are several behaviors here which seem suspect to me.  Changing any one would, I think, avoid the problem.

1) Should the CA gateway white list certain DBE mask bits?  It seems like a more future proof behavior is to just pass them through.

2) Why doesn't the client get, or act on, notification that the monitor could not be created?

3) Is the cancellation of a nonexistent monitor a sufficiently severe error that the TCP connection must be closed?

4) Why does CSS delete the monitor before issuing a put?


This is all the progress I have made in investigating this issue.

Michael


Replies:
Re: Using CAJ in production (DBE_PROPERTY and CA gateway) Andrew Johnson
References:
Using CAJ in production Shankar, Murali

Navigate by Date:
Prev: Re: Using CAJ in production J. Lewis Muir
Next: Tektronix 3014 IOC Errors Trevor Downer
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014 
Navigate by Thread:
Prev: Re: Using CAJ in production J. Lewis Muir
Next: Re: Using CAJ in production (DBE_PROPERTY and CA gateway) Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·