#2875 use thread-local storage for the client-side socket
Closed: wontfix 4 years ago by pbrezina. Opened 8 years ago by jhrozek.

This was mostly Alexander's idea, maybe he can add more details, but tl;dr it would be nice if we could have a thread-local client socket instead of blocking all threads on the process-global mutex.

Maybe the C11 features could be of some help here.


Yes, currently client-side SSSD code (used by both nss_sss and pam_sss) holds global static lock on client socket. This means any thread may request communication to SSSD but doing so will lock out any other thread lucky enough to ask for the same. The actual lock is only needed to ensure socket communication is serialized but the side effect is that all threads would be blocked instead of a single one.

C11 standard allows to define thread-local scope of the variable. We can achieve the same with older compilers as well but practically all we need is a scoping of the socket to the thread.

This doesn't look like a lot of coding but would include a fair amount of testing.

Maybe we should strive for this when we finish the features we already commited to in 1.14. Otherwise 1.15.

Fields changed

milestone: NEEDS_TRIAGE => SSSD 1.14 beta
priority: major => minor

Fields changed

rhbz: => todo

This is a stretch goal to improve performance

milestone: SSSD 1.14 beta => SSSD 1.14 backlog

Since the 1.14 branch is transitioning into maintenance mode and new functionality is being developed in master which will become 1.15 eventually, I'm mass-moving tickets from the 1.14 backlog milestone to the "Future releases" milestone.

milestone: SSSD 1.14 backlog => SSSD Future releases (no date set yet)

Metadata Update from @jhrozek:
- Issue set to the milestone: SSSD Future releases (no date set yet)

7 years ago

Metadata Update from @thalman:
- Custom field design_review reset (from 0)
- Custom field mark reset (from 0)
- Custom field patch reset (from 0)
- Custom field review reset (from 0)
- Custom field sensitive reset (from 0)
- Custom field testsupdated reset (from 0)
- Issue close_status updated to: None
- Issue tagged with: Canditate to close

4 years ago

Thank you for taking time to submit this request for SSSD. Unfortunately this issue was not given priority and the team lacks the capacity to work on it at this time.

Given that we are unable to fulfill this request I am closing the issue as wontfix.

If the issue still persist on recent SSSD you can request re-consideration of this decision by reopening this issue. Please provide additional technical details about its importance to you.

Thank you for understanding.

Metadata Update from @pbrezina:
- Issue close_status updated to: wontfix
- Issue status updated to: Closed (was: Open)

4 years ago

SSSD is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in SSSD's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/SSSD/sssd/issues/3916

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Login to comment on this ticket.

Metadata