https://fedorahosted.org/389/ticket/337https://fedorahosted.org/389/attachment/ticket/337/0001-Ticket-337-RFE-Impr…
Previously the steps to remove a replica and its RUV was problematic. I
created two new "tasks" to take care of the entire replication environment.
[1] The new task "CLEANALLRUV<rid>" - run it once on any master
* This marks the rid as invalid. Used to reject updates to the
changelog, and the database RUV
* It then sends a "CLEANRUV" extended operation to each agreement.
* Then it cleans its own RUV.
* The CLEANRUV extended op then triggers that replica to send the same
CLEANRUV extop to its replicas, then it cleans its own RID.
Basically this operation cascades through the entire replication
environment.
[2] The "RELEASERUV<rid>" task - run it once on any master
* Once the RUV's have been cleaned on all the replicas, you need to
"release" the rid so that it can be reused. This operation also
cascades through the entire replication environment. This also
triggers changelog trimming.
For all of this to work correctly, there is a list of steps that needs
to be followed. This procedure is attached to the ticket.
https://fedorahosted.org/389/attachment/ticket/337/cleanruv-proceedure
Thanks,
Mark
https://fedorahosted.org/389/ticket/310https://fedorahosted.org/389/attachment/ticket/310/0001-Trac-Ticket-310-Avo…
Fix description: removed unnecessary escape_string calls and the
static buffer used by escape_string.
Ran slamd repeatedly (BIND+SEARCH+UNBIND from 4 threads in 10 min.), but I
could not get the good evidence that No escape_string improves the
performance. Please note that the bind dn contains ascii characters and
digits only. The following is the average of 5 repeated attempts each.
[With escape_string]
Total_Duration Total_Count Avg_Duration AVG_Count/Interval
--------------+-------------+-------------+-------------------
2395787.2 2404987.0 0.998 40083.117
--------------+-------------+-------------+-------------------
[No escape_string]
Total_Duration Total_Count Avg_Duration AVG_Count/Interval
--------------+-------------+-------------+-------------------
2395570.8 2314081.2 1.045 38568.020
--------------+-------------+-------------+-------------------
https://fedorahosted.org/389/ticket/338https://fedorahosted.org/389/attachment/ticket/338/0001-Trac-Ticket-338-let…
Fix description: The value of newrdn was normalized as dn then
decapitalized. The decapitalization was not just needed but
the cause of the reported bug.
This patch removes the decapitalization call (slapi_dn_ignore_case)
and adds slapi_dn_ignore_case to acl_access_allowed_modrdn (acl.c)
and referint_postop_modrdn (referint/referint.c).
Additionally, unnecessary code is being removed from chaining_
back_modrdn (chainingdb/cb_modrdn.c).
https://fedorahosted.org/389/ticket/335https://fedorahosted.org/389/attachment/ticket/335/0001-Trac-Ticket-335-tra…
Fix description:
When libdb returns DEADLOCK and backend update function retries
the operation, the target entry is reset to the original shape.
The target entry could be or could not be in the entry cache.
Regardless of the status, the original code just released the
entry with backentry_free before going into the next loop, which
causes the cache error.
This patch checks the status of the entry. If it is in the entry
cache, remove it from the entry cache and add a new entry back to
the cache if necessary. To get the accurate cache status of each
entry, the output argument cache_res to id2entry_add_ext is added.
Additinally, error checking for the conflict value in index_add_mods
was week (curr_attr). This patch is adding the check.
Thanks a lot to Mark Reynolds for sharing the failing test case with
me! This patch should fix his setup problem...
https://fedorahosted.org/389/ticket/46https://fedorahosted.org/389/attachment/ticket/46/0001-Trac-Ticket-46-addit…
Fix description:
1) When Socket6 is used, if the same FQDN appears twice in
/etc/hosts (e.g., localhost.localdomain for 127.0.0.1 and
::1), the result from getaddrinfo was not correctly shifted.
2) perl require takes package name. In the commit 850005499bd9-
2c5b9b0027f944fcd33633c8db46, a tag ":addrinfo" was mistakenly
passed and it was ignored. This patch checks the version of
Socket. If it is greater than 2.000, getaddrinfo in the
Socket module is used. Otherwise, it falls back to Socket6.