New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performance search rate: change entry cache monitor to recursive pthread mutex #4324
Labels
In JIRA
ticket is in JIRA
performance
Issue impacts performance
priority_high
need urgent fix / highly valuable / easy to fix
Milestone
Comments
I think I've looked at this in the past, that PRLock and PRMonitor are both slower than pthread mutex and recursive pthread mutexs. So it's probably not the only place in the code base that this would create a benefit. |
tbordaz
added a commit
to tbordaz/389-ds-base
that referenced
this issue
Jan 26, 2021
…ecursive pthread mutex Bug description: The entry cache is protected with recursive mutex. Currently it is implemented using PR_Monitor (NSPR). When the entry cache mutex becomes the bottleneck (for example base search searchrate on the same entry), using pthread recursive mutex gives 8% benefit. Fix description: Changing the c_mutex from PR_Monitor to pthread recursive mutex relates: 389ds#4324 Reviewed by: Mark Reynolds, Simon Pichugin Platforms tested: F31
tbordaz
added a commit
that referenced
this issue
Jan 26, 2021
…ecursive pthread mutex (#4569) Bug description: The entry cache is protected with recursive mutex. Currently it is implemented using PR_Monitor (NSPR). When the entry cache mutex becomes the bottleneck (for example base search searchrate on the same entry), using pthread recursive mutex gives 8% benefit. Fix description: Changing the c_mutex from PR_Monitor to pthread recursive mutex relates: #4324 Reviewed by: Mark Reynolds, Simon Pichugin Platforms tested: F31
tbordaz
added a commit
that referenced
this issue
Jan 26, 2021
…ecursive pthread mutex (#4569) Bug description: The entry cache is protected with recursive mutex. Currently it is implemented using PR_Monitor (NSPR). When the entry cache mutex becomes the bottleneck (for example base search searchrate on the same entry), using pthread recursive mutex gives 8% benefit. Fix description: Changing the c_mutex from PR_Monitor to pthread recursive mutex relates: #4324 Reviewed by: Mark Reynolds, Simon Pichugin Platforms tested: F31
tbordaz
added a commit
that referenced
this issue
Jan 26, 2021
…ecursive pthread mutex (#4569) Bug description: The entry cache is protected with recursive mutex. Currently it is implemented using PR_Monitor (NSPR). When the entry cache mutex becomes the bottleneck (for example base search searchrate on the same entry), using pthread recursive mutex gives 8% benefit. Fix description: Changing the c_mutex from PR_Monitor to pthread recursive mutex relates: #4324 Reviewed by: Mark Reynolds, Simon Pichugin Platforms tested: F31
mreynolds389
added a commit
to mreynolds389/389-ds-base
that referenced
this issue
Feb 12, 2021
Bug Description: When optimizing our mutexes we check for a system called coherency_line_size that contains the size value, but if the file did not exist the server would crash in PR_Read (NULL pointer for fd). Fix Description: Check PR_Open() was successfully before calling PR_Read(). Relates: 389ds#4324 Reviewed by: tbordaz(Thanks!)
mreynolds389
added a commit
that referenced
this issue
Feb 12, 2021
Bug Description: When optimizing our mutexes we check for a system called coherency_line_size that contains the size value, but if the file did not exist the server would crash in PR_Read (NULL pointer for fd). Fix Description: Check PR_Open() was successfully before calling PR_Read(). Relates: #4324 Reviewed by: tbordaz(Thanks!)
mreynolds389
added a commit
that referenced
this issue
Feb 12, 2021
Bug Description: When optimizing our mutexes we check for a system called coherency_line_size that contains the size value, but if the file did not exist the server would crash in PR_Read (NULL pointer for fd). Fix Description: Check PR_Open() was successfully before calling PR_Read(). Relates: #4324 Reviewed by: tbordaz(Thanks!)
mreynolds389
added a commit
that referenced
this issue
Feb 12, 2021
Bug Description: When optimizing our mutexes we check for a system called coherency_line_size that contains the size value, but if the file did not exist the server would crash in PR_Read (NULL pointer for fd). Fix Description: Check PR_Open() was successfully before calling PR_Read(). Relates: #4324 Reviewed by: tbordaz(Thanks!)
kimettog
added a commit
that referenced
this issue
Mar 17, 2021
* IDMDS-1068 Update failing ticket48234_test.py test * IDMDS-1068 Update failing ticket48234_test.py test * [INTEROP-4009] CodeReady Studio on OpenShift - Run locally * [INTEROP-4009] CodeReady Studio on OpenShift - Run locally * [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * Issue 4654 Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * Issue 4654 - Updates to tickets/ticket48234_test.py Bug Description: Update to tickets/ticket48234_test.py which are currently failing and using soon to be obsolete classes Fix Description: Updated tickets/ticket48234_test.py and ported to the suites directory Updated to utilise the DSLDAPObject class methods relates: <The Issue URL> Author: Gilbert Kimetto Reviewed by: ??? IDMDS-1068 Update failing ticket48234_test.py test [INTEROP-4009] CodeReady Studio on OpenShift - Run locally [INTEROP-4009] CodeReady Studio on OpenShift - Run locally [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * Issue 4609 - CVE - info disclosure when authenticating Description: If you bind as a user that does not exist. Error 49 is returned instead of error 32. As error 32 discloses that the entry does not exist. When you bind as an entry that does not have userpassword set then error 48 (inappropriate auth) is returned, but this discloses that the entry does indeed exist. Instead we should always return error 49, even if the password is not set in the entry. This way we do not disclose to an attacker if the Bind DN exists or not. Relates: #4609 Reviewed by: tbordaz(Thanks!) * issue 4612 - Fix pytest fourwaymmr_test for non root user (#4613) * Issue 4591 - RFE - improve openldap_to_ds help and features (#4607) Bug Description: Improve the --help page, and finish wiring in some features. Fix Description: Wire in exclusion of attributes/schema for migration. fixes: #4591 Author: William Brown <william@blackhats.net.au> Review by: @mreynolds389, @droideck * Issue 4577 - Add GitHub actions Description: * Enable IPv6 support for docker daemon * Set server.example.com as FQDN for container Relates: #4577 Reviewed by: @droideck (Thanks!) * Issue 4149 - UI - port TreeView and opther components to PF4 Description: This ports all th TreeViews to PF4, and also does some proof of concept changes for PF3 to PF4 migration. There is much more needed, but this does not break anything relates: #4149 Reviewed by: spichugi(Thanks!) * Update dscontainer (#4564) Issue 4564 - RFE - Add suffix to dscontainer rc file Bug Description: The suffix was not added before, adding a hurdle to automatic admin of the container instance Fix Description: If the suffix is set, add it to the created rc file. fixes: #4564 Author: @Jackbennett Review by: @Firstyear * Issue 4469 - Backend redesign phase 3a - bdb dependency removal from back-ldbm A massive change (https://directory.fedoraproject.org/docs/389ds/design/backend-redesign-phase3.html) that implements and use the dbimpl API in the backend. * Issue 4593 - RFE - Print help when nsSSLPersonalitySSL is not found (#4614) Description: RHDS instance will fail to start if the TLS server certificate nickname doesn't match the value of the configuration parameter "nsSSLPersonalitySSL". The mismatch typically happens when customers copy the NSS DB from a previous instance or export the certificate's data but forget to set the "nsSSLPersonalitySSL" value accordingly. Log an additional message which should help a user to set up nsSSLPersonalitySSL correctly. Fixes: #4593 Reviewed by: @Firstyear (Thanks!) * Issue 4324 - Some architectures the cache line size file does not exist Bug Description: When optimizing our mutexes we check for a system called coherency_line_size that contains the size value, but if the file did not exist the server would crash in PR_Read (NULL pointer for fd). Fix Description: Check PR_Open() was successfully before calling PR_Read(). Relates: #4324 Reviewed by: tbordaz(Thanks!) * Issue 4469 - Backend redesing phase 3a - implement dbimpl API and use it in back-ldbm (#4618) see design document https://directory.fedoraproject.org/docs/389ds/design/backend-redesign-phase3.html * Issue 4615 - log message when psearch first exceeds max threads per conn Desciption: When a connection hits max threads per conn for the first time log a message in the error. This will help customers diagnosis misbehaving clients. Fixes: #4615 Reviewed by: progier389(Thanks!) * Issue 4619 - remove pytest requirement from lib389 Description: Remove the requirement for pytest from lib389, it causes unneeded package requirements on Fedora/RHEL. Fixes: #4619 Reviewed by: mreynolds(one line commit rule) * Bump version to 2.0.3 * Issue 4513 - CI - make acl ip address tests more robust Description: The tests aumme the system is using IPv6 loopback address, but it should still check for IPv4 loopback. Relates: #4513 Reviewed by: ? * Issue 2820 - Fix CI test suite issues Description: tickets/ticket48961_test.py was failing in CI nightly runs. Fixed the failure by changing the code to use DSLdapObject and moved the code into the config test suite. Relates: #2820 Reviewed by: droideck (Thanks!) * Issue 4169 - UI - port charts to PF4 Description: Ported the charts under the monitor tab to use PF4 sparkline charts and provide realtime stats on the the caches. Relates: #4169 Reviewed by: spichugi(Thanks!) * Issue 4595 - Paged search lookthroughlimit bug (#4602) Bug Description: During a paged search with lookthroughlimit enabled, lookthroughcount is used to keep track of how many entries are examined. A paged search reads ahead one entry to catch the end of the search so it doesn't show the prompt when there are no more entries. lookthroughcount doesn't take read ahead into account when tracking how many entries have been examined. Fix Description: Keep lookthroughcount in sync with read ahead by by decrementing it during read ahead roll back. Fixes: #4595 Relates: #4513 Reviewed by: droideck, mreynolds389, Firstyear, progier389 (Many thanks) * Issue 4169 - UI - Migrate Accordians to PF4 ExpandableSection Description: Replace all the CustomCollapse components with PF4 ExpandableSection component. relates: #4169 Reviewed by: spichugi(Thanks!) [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * Issue 4169 - UI - Migrate alerts to PF4 Description: Migrate the toast notifications to PF4 Alerts. Also fixed a refresh problem on the Tuning page. relates: #4169 Reviewed by: spichugi(Thanks!) * Issue 4649 - crash in sync_repl when a MODRDN create a cenotaph (#4652) Bug description: When an operation is flagged OP_FLAG_NOOP, it skips BETXN plugins but calls POST plugins. For sync_repl, betxn (sync_update_persist_betxn_pre_op) creates an operation extension to be consumed by the post (sync_update_persist_op). In case of OP_FLAG_NOOP, there is no operation extension. Fix description: Test that the operation is OP_FLAG_NOOP if the operation extension is missing relates: #4649 Reviewed by: William Brown (thanks) Platforms tested: F31 * Issue 4644 - Large updates can reset the CLcache to the beginning of the changelog (#4647) Bug description: The replication agreements are using bulk load to load updates. For bulk load it uses a cursor with DB_MULTIPLE_KEY and DB_NEXT. Before using the cursor, it must be initialized with DB_SET. If during the cursor/DB_SET the CSN refers to an update that is larger than the size of the provided buffer, then the cursor remains not initialized and c_get returns DB_BUFFER_SMALL. The consequence is that the next c_get(DB_MULTIPLE_KEY and DB_NEXT) will return the first record in the changelog DB. This break CLcache. Fix description: The fix is to harden cursor initialization so that if DB_SET fails because of DB_BUFFER_SMALL. It reallocates buf_data and retries a DB_SET. If DB_SET can not be initialized it logs a warning. The patch also changes the behaviour of the fix #4492. #4492 detected a massive (1day) jump prior the starting csn and ended the replication session. If the jump was systematic, for example if the CLcache got broken because of a too large updates, then replication was systematically stopped. This patch suppress the systematically stop, letting RA doing a big jump. From #4492 only remains the warning. relates: #4644 Reviewed by: Pierre Rogier (Thanks !!!!) Platforms tested: F31 * Issue 4646 - CLI/UI - revise DNA plugin management Bug Description: There was a false assumption that you have to create the shared DNA server configuration entry, but in fact the server creates and manages this entry. The only thing you should edit in this entry are the remote Bind Method and Connection Protocol. Fix Description: Remove the options to create the shared config entry, and edit the core/reserved attributes. Also fixed some issues where we were not showing CLI plugin output in proper JSON. This required some changes to the UI as well. Relates: #4646 Reviewed by: spichugi(Thanks!) [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * Issue 4643 - Add a tool that generates Rust dependencies for a specfile (#4645) Description: The Fedora builds of 389-DS uses the vendored crates to build the official packages for Rawhide. Vendoring and bundling dependencies is in violation of Fedora policies. As an upstream project we are free to ship vendored code. But as a downstream Fedora project we must not use the vendored code. Add a tool that will help to generate 'Provides: bundled(crate(foo)) = version' for Cargo.lock file content. Replace License field which should contain all of the package licenses we bundle in the specfile. Fixes: #4643 Reviewed by: @Firstyear, @decathorpe, @mreynolds389 (Thanks!) * issue 4552 - Backup Redesign phase 3b - use dbimpl in replicatin plugin (#4622) * issue 4552 - Backup Redesign phase 3b - use dbimpl in replicatin plugin Merge of a fix in cl5_clcache.c (changelog cache restarts from begining if large update) Rebase with master * Issue 4469 - Backend redesing phase 3a - implement dbimpl API and use it in back-ldbm - fix test_maxbersize_repl pytest failure * issue 4552 - Backup Redesign phase 3b - use dbimpl in replicatin plugin - fix indent issue * issue 4552 - Backup Redesign phase 3b - use dbimpl in replicatin plugin - fix merge issue manual Merge of fix about changelog cache iteration restarting from beginning in case of large update + automatic rebase to master * Issue 4552 - Backend redesign phase 3b - fix indent issue + random crash and memory leak in tombstone handling * Merge pull request #4664 from mreynolds389/issue4663 Issue 4663 - CLI - unable to add objectclass/attribute without x-origin Issue 4654 Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * Issue 4654 Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * Issue 4654 - Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py Bug Description: - Update ticket48234_test.py to verify tests on RHEL 7/8 and Fedora - Update deprecated "*_s" methods to leverage the DSLDAPObject class - Move test from the current location in ../tickets to appropriate ../suites/aci/* directory Fix Description: - Issue 4654 Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py relates: Author: Gilbert Kimetto Reviewed by: ??? Co-authored-by: Mark Reynolds <mreynolds@redhat.com> Co-authored-by: progier389 <progier@redhat.com> Co-authored-by: Firstyear <william@blackhats.net.au> Co-authored-by: Viktor Ashirov <vashirov@redhat.com> Co-authored-by: Jack <me@jackben.net> Co-authored-by: Simon Pichugin <spichugi@redhat.com> Co-authored-by: Barbora Simonova <bsmejkal@redhat.com> Co-authored-by: James Chapman <jachapma@redhat.com> Co-authored-by: tbordaz <tbordaz@redhat.com>
kimettog
added a commit
that referenced
this issue
Apr 1, 2021
…#4710) * IDMDS-1068 Update failing ticket48234_test.py test * IDMDS-1068 Update failing ticket48234_test.py test * [INTEROP-4009] CodeReady Studio on OpenShift - Run locally * [INTEROP-4009] CodeReady Studio on OpenShift - Run locally * [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * Issue 4654 Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * Issue 4654 - Updates to tickets/ticket48234_test.py Bug Description: Update to tickets/ticket48234_test.py which are currently failing and using soon to be obsolete classes Fix Description: Updated tickets/ticket48234_test.py and ported to the suites directory Updated to utilise the DSLDAPObject class methods relates: <The Issue URL> Author: Gilbert Kimetto Reviewed by: ??? IDMDS-1068 Update failing ticket48234_test.py test [INTEROP-4009] CodeReady Studio on OpenShift - Run locally [INTEROP-4009] CodeReady Studio on OpenShift - Run locally [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * Issue 4609 - CVE - info disclosure when authenticating Description: If you bind as a user that does not exist. Error 49 is returned instead of error 32. As error 32 discloses that the entry does not exist. When you bind as an entry that does not have userpassword set then error 48 (inappropriate auth) is returned, but this discloses that the entry does indeed exist. Instead we should always return error 49, even if the password is not set in the entry. This way we do not disclose to an attacker if the Bind DN exists or not. Relates: #4609 Reviewed by: tbordaz(Thanks!) * issue 4612 - Fix pytest fourwaymmr_test for non root user (#4613) * Issue 4591 - RFE - improve openldap_to_ds help and features (#4607) Bug Description: Improve the --help page, and finish wiring in some features. Fix Description: Wire in exclusion of attributes/schema for migration. fixes: #4591 Author: William Brown <william@blackhats.net.au> Review by: @mreynolds389, @droideck * Issue 4577 - Add GitHub actions Description: * Enable IPv6 support for docker daemon * Set server.example.com as FQDN for container Relates: #4577 Reviewed by: @droideck (Thanks!) * Issue 4149 - UI - port TreeView and opther components to PF4 Description: This ports all th TreeViews to PF4, and also does some proof of concept changes for PF3 to PF4 migration. There is much more needed, but this does not break anything relates: #4149 Reviewed by: spichugi(Thanks!) * Update dscontainer (#4564) Issue 4564 - RFE - Add suffix to dscontainer rc file Bug Description: The suffix was not added before, adding a hurdle to automatic admin of the container instance Fix Description: If the suffix is set, add it to the created rc file. fixes: #4564 Author: @Jackbennett Review by: @Firstyear * Issue 4469 - Backend redesign phase 3a - bdb dependency removal from back-ldbm A massive change (https://directory.fedoraproject.org/docs/389ds/design/backend-redesign-phase3.html) that implements and use the dbimpl API in the backend. * Issue 4593 - RFE - Print help when nsSSLPersonalitySSL is not found (#4614) Description: RHDS instance will fail to start if the TLS server certificate nickname doesn't match the value of the configuration parameter "nsSSLPersonalitySSL". The mismatch typically happens when customers copy the NSS DB from a previous instance or export the certificate's data but forget to set the "nsSSLPersonalitySSL" value accordingly. Log an additional message which should help a user to set up nsSSLPersonalitySSL correctly. Fixes: #4593 Reviewed by: @Firstyear (Thanks!) * Issue 4324 - Some architectures the cache line size file does not exist Bug Description: When optimizing our mutexes we check for a system called coherency_line_size that contains the size value, but if the file did not exist the server would crash in PR_Read (NULL pointer for fd). Fix Description: Check PR_Open() was successfully before calling PR_Read(). Relates: #4324 Reviewed by: tbordaz(Thanks!) * Issue 4469 - Backend redesing phase 3a - implement dbimpl API and use it in back-ldbm (#4618) see design document https://directory.fedoraproject.org/docs/389ds/design/backend-redesign-phase3.html * Issue 4615 - log message when psearch first exceeds max threads per conn Desciption: When a connection hits max threads per conn for the first time log a message in the error. This will help customers diagnosis misbehaving clients. Fixes: #4615 Reviewed by: progier389(Thanks!) * Issue 4619 - remove pytest requirement from lib389 Description: Remove the requirement for pytest from lib389, it causes unneeded package requirements on Fedora/RHEL. Fixes: #4619 Reviewed by: mreynolds(one line commit rule) * Bump version to 2.0.3 * Issue 4513 - CI - make acl ip address tests more robust Description: The tests aumme the system is using IPv6 loopback address, but it should still check for IPv4 loopback. Relates: #4513 Reviewed by: ? * Issue 2820 - Fix CI test suite issues Description: tickets/ticket48961_test.py was failing in CI nightly runs. Fixed the failure by changing the code to use DSLdapObject and moved the code into the config test suite. Relates: #2820 Reviewed by: droideck (Thanks!) * Issue 4169 - UI - port charts to PF4 Description: Ported the charts under the monitor tab to use PF4 sparkline charts and provide realtime stats on the the caches. Relates: #4169 Reviewed by: spichugi(Thanks!) * Issue 4595 - Paged search lookthroughlimit bug (#4602) Bug Description: During a paged search with lookthroughlimit enabled, lookthroughcount is used to keep track of how many entries are examined. A paged search reads ahead one entry to catch the end of the search so it doesn't show the prompt when there are no more entries. lookthroughcount doesn't take read ahead into account when tracking how many entries have been examined. Fix Description: Keep lookthroughcount in sync with read ahead by by decrementing it during read ahead roll back. Fixes: #4595 Relates: #4513 Reviewed by: droideck, mreynolds389, Firstyear, progier389 (Many thanks) * Issue 4169 - UI - Migrate Accordians to PF4 ExpandableSection Description: Replace all the CustomCollapse components with PF4 ExpandableSection component. relates: #4169 Reviewed by: spichugi(Thanks!) [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * Issue 4169 - UI - Migrate alerts to PF4 Description: Migrate the toast notifications to PF4 Alerts. Also fixed a refresh problem on the Tuning page. relates: #4169 Reviewed by: spichugi(Thanks!) * Issue 4649 - crash in sync_repl when a MODRDN create a cenotaph (#4652) Bug description: When an operation is flagged OP_FLAG_NOOP, it skips BETXN plugins but calls POST plugins. For sync_repl, betxn (sync_update_persist_betxn_pre_op) creates an operation extension to be consumed by the post (sync_update_persist_op). In case of OP_FLAG_NOOP, there is no operation extension. Fix description: Test that the operation is OP_FLAG_NOOP if the operation extension is missing relates: #4649 Reviewed by: William Brown (thanks) Platforms tested: F31 * Issue 4644 - Large updates can reset the CLcache to the beginning of the changelog (#4647) Bug description: The replication agreements are using bulk load to load updates. For bulk load it uses a cursor with DB_MULTIPLE_KEY and DB_NEXT. Before using the cursor, it must be initialized with DB_SET. If during the cursor/DB_SET the CSN refers to an update that is larger than the size of the provided buffer, then the cursor remains not initialized and c_get returns DB_BUFFER_SMALL. The consequence is that the next c_get(DB_MULTIPLE_KEY and DB_NEXT) will return the first record in the changelog DB. This break CLcache. Fix description: The fix is to harden cursor initialization so that if DB_SET fails because of DB_BUFFER_SMALL. It reallocates buf_data and retries a DB_SET. If DB_SET can not be initialized it logs a warning. The patch also changes the behaviour of the fix #4492. #4492 detected a massive (1day) jump prior the starting csn and ended the replication session. If the jump was systematic, for example if the CLcache got broken because of a too large updates, then replication was systematically stopped. This patch suppress the systematically stop, letting RA doing a big jump. From #4492 only remains the warning. relates: #4644 Reviewed by: Pierre Rogier (Thanks !!!!) Platforms tested: F31 * Issue 4646 - CLI/UI - revise DNA plugin management Bug Description: There was a false assumption that you have to create the shared DNA server configuration entry, but in fact the server creates and manages this entry. The only thing you should edit in this entry are the remote Bind Method and Connection Protocol. Fix Description: Remove the options to create the shared config entry, and edit the core/reserved attributes. Also fixed some issues where we were not showing CLI plugin output in proper JSON. This required some changes to the UI as well. Relates: #4646 Reviewed by: spichugi(Thanks!) [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py [IDMDS-1068] Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * Issue 4643 - Add a tool that generates Rust dependencies for a specfile (#4645) Description: The Fedora builds of 389-DS uses the vendored crates to build the official packages for Rawhide. Vendoring and bundling dependencies is in violation of Fedora policies. As an upstream project we are free to ship vendored code. But as a downstream Fedora project we must not use the vendored code. Add a tool that will help to generate 'Provides: bundled(crate(foo)) = version' for Cargo.lock file content. Replace License field which should contain all of the package licenses we bundle in the specfile. Fixes: #4643 Reviewed by: @Firstyear, @decathorpe, @mreynolds389 (Thanks!) * issue 4552 - Backup Redesign phase 3b - use dbimpl in replicatin plugin (#4622) * issue 4552 - Backup Redesign phase 3b - use dbimpl in replicatin plugin Merge of a fix in cl5_clcache.c (changelog cache restarts from begining if large update) Rebase with master * Issue 4469 - Backend redesing phase 3a - implement dbimpl API and use it in back-ldbm - fix test_maxbersize_repl pytest failure * issue 4552 - Backup Redesign phase 3b - use dbimpl in replicatin plugin - fix indent issue * issue 4552 - Backup Redesign phase 3b - use dbimpl in replicatin plugin - fix merge issue manual Merge of fix about changelog cache iteration restarting from beginning in case of large update + automatic rebase to master * Issue 4552 - Backend redesign phase 3b - fix indent issue + random crash and memory leak in tombstone handling * Merge pull request #4664 from mreynolds389/issue4663 Issue 4663 - CLI - unable to add objectclass/attribute without x-origin Issue 4654 Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * Issue 4654 Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py * Issue 4654 - Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py Bug Description: - Update ticket48234_test.py to verify tests on RHEL 7/8 and Fedora - Update deprecated "*_s" methods to leverage the DSLDAPObject class - Move test from the current location in ../tickets to appropriate ../suites/aci/* directory Fix Description: - Issue 4654 Update ticket48234_test.py and move to suites/acl/aci_excl_filter_test.py relates: Author: Gilbert Kimetto Reviewed by: ??? * Test new password policy attribute "pwdReset by DM user Description: Verify that the DM user is not permitted to change the password policy attribute "pwdReset. Reviewed by: ? Co-authored-by: Mark Reynolds <mreynolds@redhat.com> Co-authored-by: progier389 <progier@redhat.com> Co-authored-by: Firstyear <william@blackhats.net.au> Co-authored-by: Viktor Ashirov <vashirov@redhat.com> Co-authored-by: Jack <me@jackben.net> Co-authored-by: Simon Pichugin <spichugi@redhat.com> Co-authored-by: Barbora Simonova <bsmejkal@redhat.com> Co-authored-by: James Chapman <jachapma@redhat.com> Co-authored-by: tbordaz <tbordaz@redhat.com>
tbordaz
added
In JIRA
ticket is in JIRA
priority_high
need urgent fix / highly valuable / easy to fix
labels
May 10, 2021
droideck
added a commit
that referenced
this issue
Sep 30, 2022
Bug description: The entry cache is protected with recursive mutex. Currently it is implemented using pthread recursive mutex. Very rarely, we may encounter 'Retry count error' (we weren't able to reproduce it reliably). Fix description: As per investigation and team discussions, we decided to go with the 'revert' option, as it reliably helped the user who had the issue on their environment. Changing the c_mutex from pthread recursive mutex back to PR_Monitor. Related: #4324 Reviewed by: @progier389 (Thanks!)
droideck
added a commit
that referenced
this issue
Sep 30, 2022
Bug description: The entry cache is protected with recursive mutex. Currently it is implemented using pthread recursive mutex. Very rarely, we may encounter 'Retry count error' (we weren't able to reproduce it reliably). Fix description: As per investigation and team discussions, we decided to go with the 'revert' option, as it reliably helped the user who had the issue on their environment. Changing the c_mutex from pthread recursive mutex back to PR_Monitor. Related: #4324 Reviewed by: @progier389 (Thanks!)
droideck
added a commit
that referenced
this issue
Sep 30, 2022
Bug description: The entry cache is protected with recursive mutex. Currently it is implemented using pthread recursive mutex. Very rarely, we may encounter 'Retry count error' (we weren't able to reproduce it reliably). Fix description: As per investigation and team discussions, we decided to go with the 'revert' option, as it reliably helped the user who had the issue on their environment. Changing the c_mutex from pthread recursive mutex back to PR_Monitor. Related: #4324 Reviewed by: @progier389 (Thanks!)
droideck
added a commit
that referenced
this issue
Sep 30, 2022
Bug description: The entry cache is protected with recursive mutex. Currently it is implemented using pthread recursive mutex. Very rarely, we may encounter 'Retry count error' (we weren't able to reproduce it reliably). Fix description: As per investigation and team discussions, we decided to go with the 'revert' option, as it reliably helped the user who had the issue on their environment. Changing the c_mutex from pthread recursive mutex back to PR_Monitor. Related: #4324 Reviewed by: @progier389 (Thanks!)
droideck
added a commit
that referenced
this issue
Sep 30, 2022
Bug description: The entry cache is protected with recursive mutex. Currently it is implemented using pthread recursive mutex. Very rarely, we may encounter 'Retry count error' (we weren't able to reproduce it reliably). Fix description: As per investigation and team discussions, we decided to go with the 'revert' option, as it reliably helped the user who had the issue on their environment. Changing the c_mutex from pthread recursive mutex back to PR_Monitor. Related: #4324 Reviewed by: @progier389 (Thanks!)
droideck
added a commit
that referenced
this issue
Sep 30, 2022
Bug description: The entry cache is protected with recursive mutex. Currently it is implemented using pthread recursive mutex. Very rarely, we may encounter 'Retry count error' (we weren't able to reproduce it reliably). Fix description: As per investigation and team discussions, we decided to go with the 'revert' option, as it reliably helped the user who had the issue on their environment. Changing the c_mutex from pthread recursive mutex back to PR_Monitor. Related: #4324 Reviewed by: @progier389 (Thanks!)
droideck
added a commit
that referenced
this issue
Oct 3, 2022
Description: Revert Issue 4600 - performance modify rate: reduce lock contention on the object extension factory (#4601), as it's another part of issue 4324 revert that was not cherry-picked correctly. Related: #4324 Reviewed by: @progier389 @mreynolds389 (Thanks!)
droideck
added a commit
that referenced
this issue
Oct 3, 2022
Description: Revert Issue 4600 - performance modify rate: reduce lock contention on the object extension factory (#4601), as it's another part of issue 4324 revert that was not cherry-picked correctly. Related: #4324 Reviewed by: @progier389 @mreynolds389 (Thanks!)
droideck
added a commit
that referenced
this issue
Oct 3, 2022
Description: Revert Issue 4600 - performance modify rate: reduce lock contention on the object extension factory (#4601), as it's another part of issue 4324 revert that was not cherry-picked correctly. Related: #4324 Reviewed by: @progier389 @mreynolds389 (Thanks!)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
In JIRA
ticket is in JIRA
performance
Issue impacts performance
priority_high
need urgent fix / highly valuable / easy to fix
Entry cache (entry and dn) are protected by a PRMonitor. Changing this Monitor into a recursive pthread mutex (cache aligned) increases throughput by 8%
The text was updated successfully, but these errors were encountered: