EPICS Home

Experimental Physics and Industrial Control System


 
2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  <2024 Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  <2024
<== Date ==> <== Thread ==>

Subject: Re: Re: caRepeater question
From: Zimoch Dirk via Core-talk <core-talk at aps.anl.gov>
To: "jlmuir at imca-cat.org" <jlmuir at imca-cat.org>
Cc: "core-talk at aps.anl.gov" <core-talk at aps.anl.gov>
Date: Thu, 1 Feb 2024 08:27:11 +0000
Hi Lewis,

Normally I an running it as a service. I gave that simpler scenario because it
shows the critical points and is simpler to reproduce.
Our actual problem was that an automated nightly update of epics base (installed
as an rpm) restarted the caRepeater systemd service (in a %post script) which in
turn brought down (but did not restart) our CA gateway services. I was wondering
if the gateways, even if they would continue to run (whatever systemd magic
words are needed for that), would be functional after the caRepeater restart. Or
if we need to keep the "old" caRepeater running even though it got re-installed.

I tested with casw:
0. caRepeater.service is running
1. start casw
2. start an ioc. casw shows the beacon anomaly
3. sudo systemctl restart caRepeater.service
4. start an ioc. casw does not show any beacon anomalies any more
5. restart casw. It works again.

Unfortunately, casw (or any ca client) cannot find out that the caRepeater it
had registered to has died. Thus it never tries to reconnect.

Having used TCP instead of UDP to connect to the caRepeater would not have this
problem, I think.

Dirk

On Wed, 2024-01-31 at 15:35 -0600, J. Lewis Muir wrote:
> On 01/31, Zimoch Dirk via Core-talk wrote:
> > The situation I have in mind: caRepeater is *not* running as a service. First
> > caClient starts it. Second client by another user finds the fist users
> > caRepeater and uses it. First user logs out or whatever and kills all its
> > processes. What happens with the second user's caClient?
> 
> Hi, Dirk!
> 
> I run caRepeater as a minimal-privilege user as a service that gets
> started at boot time.  I know you said it's not running as a service,
> but why not?  I never liked the idea of a user using the caRepeater
> process of another user.  IMO, that's just asking for trouble (the
> reason you gave is one example) and doesn't adhere to POLA.
> 
> A bit of a thread hijack, but is caRepeater still needed these days?  I
> have never liked it, and a library (ca) that starts another process on
> demand is really ugly, IMO.  (And I think it might even need caRepeater
> in the search path of whatever program is using the library because the
> library doesn't use an absolute path to it?  I can't remember; might be
> wrong about that.  But if it does, that's really ugly too.)  Isn't there
> a way around needing caRepeater by now?
> 
> Regards,
> 
> Lewis

Replies:
Re: caRepeater question J. Lewis Muir via Core-talk
References:
caRepeater question Zimoch Dirk via Core-talk
Re: caRepeater question Torsten Bögershausen via Core-talk
Re: caRepeater question Zimoch Dirk via Core-talk
Re: Re: caRepeater question J. Lewis Muir via Core-talk

Navigate by Date:
Prev: Re: Re: caRepeater question J. Lewis Muir via Core-talk
Next: Build failed: epics-base base-7.0-53 AppVeyor via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  <2024
Navigate by Thread:
Prev: Re: Re: caRepeater question J. Lewis Muir via Core-talk
Next: Re: caRepeater question J. Lewis Muir via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  <2024