Re: pcp updates: libpcp connection unsharing

"Frank Ch. Eigler" <[email protected]>
Newsgroups gmane.comp.sysutils.pcp
Message-ID <[email protected]>
Hi -


> Hmm - AFAICT there seems to be no evidence this change is actually
> fixing anything.

As the problems appear intermittent, and related to failures /
timeouts, evidence can only be circumstantial.  Sure, I haven't seen
this particular problem reoccur over here, but that's not proof of a
complete workaround.

But that's the wrong standard anyway.  Even if the particular libpcp
bugs are not fixed, other conditions -are- improved, for example
multithreading.  And there, this patch produces definite improvements.
If you run the qa/4751 test case under valgrind/helgrind (like my
other posted patch does), one gets:

% valgrind --tool=helgrind src/multithread10 localhost localhost
==76747== ERROR SUMMARY: 6 errors from 4 contexts (suppressed: 35490 from 122)
before, versus
==27020== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 58443 from 53)
after.


> I'm all for code simplification, but the rationale here is not
> compelling (don't get me wrong - I wrote the comment in context.c ...)
> 
>          * It is the topic of some debate as to whether PMCD connection
>          * sharing is of much value at all, especially considering the
>          * number of subtle and nasty bugs it has caused over time.  Do
>          * not rely on this behaviour, it may well be removed someday.

> We need to properly understand the root cause of the problem; 

Absolutely.  And until this problem is diagnosed (who's going to work
on it?), let's improve upon the broken status quo.  (A "too many fds"
objection is not really powerful.  ulimit -n = 4000, and other things
will go bad before we reach that point anyway.)


> e.g. I wonder if its more pmwebds use of an async pmDestroyContext
> on a context that was recently timed out by libpcp (and hence
> experienced a "partial" context tear down in libpcp) [...]

What do you mean "async"?  pmwebd shuts down contexts from its normal
main thread when it notices the context having gone unused for an
extended period.  It does nothing unusual.


> the libpcp pmDestroyContext logic.  It would not be the first time &
> that's a fairly rarely traveled code path.

It's apparently not so rare as to avoid occurrence.


> If it helps any, there is an undocumented hostspec flag
> ("exclusive") which can be used here [...]

It would need to be added to all the multiple-context pmapi clients,
including pmmgr, pmwebd, pmchart, pmie, and probably others.


- FChE

-=-=-=-=-=-=-=-=-=-=-=-
pcp mailing list
[email protected]
https://groups.io/g/pcp/messages
-=-=-
Groups.io Links:

You receive all messages sent to this group.

View/Reply Online (#14665): https://groups.io/g/pcp/message/14665
View All Messages In Topic (9): https://groups.io/g/pcp/topic/3038481
Mute This Topic: https://groups.io/mt/3038481?uid=174580
New Topic: https://groups.io/g/pcp/post

Change Your Subscription: https://groups.io/g/pcp/editsub?uid=174580

Group Home: https://groups.io/g/pcp
Contact Group Owner: [email protected]

Terms of Service: https://groups.io/static/tos

Unsubscribe: https://groups.io/g/pcp/leave/354243/563757577/xyzzy
-=-=-=-=-=-=-=-=-=-=-=-
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.