diff options
author | Rich Megginson <rmeggins@redhat.com> | 2010-07-16 14:26:19 -0600 |
---|---|---|
committer | Rich Megginson <rmeggins@redhat.com> | 2010-07-16 15:27:58 -0600 |
commit | 2a03eed6f1bb8d70d529b9248603e0449f07ec30 (patch) | |
tree | a87a37101e7722b943077e5f2974b1b035f95636 /aclocal.m4 | |
parent | 2bfbe594a2c5593fd1ae695c118be94939651264 (diff) | |
download | ds-2a03eed6f1bb8d70d529b9248603e0449f07ec30.tar.gz ds-2a03eed6f1bb8d70d529b9248603e0449f07ec30.tar.xz ds-2a03eed6f1bb8d70d529b9248603e0449f07ec30.zip |
Bug 547503 - replication broken again, with 389 MMR replication and TCP errors
https://bugzilla.redhat.com/show_bug.cgi?id=547503
Resolves: bug 547503
Bug Description: replication broken again, with 389 MMR replication and TCP errors
Reviewed by: nhosoi (Thanks!)
Branch: master
Fix Description: When turbo mode is used for the connection, the server does
not poll for read ready status in the main loop, nor go through the code in
handle_pr_read_ready that updates conn->c_idlesince. So while the conn is in
turbo mode, the c_idlesince is not updated. If the conn gets a timeout while
reading, a flag will be set on the connection that will put it back in the
main loop. When it then hits handle_pr_read_ready, if there is still no
activity on the connection, it will go through idle timeout processing. It
may have been a long time since c_idlesince was updated, so the connection
may be closed wrongly.
The solution is to have c_idlesince updated in connection_threadmain() in
turbo mode if the connection really isn't idle.
In addition, the conn private turbo_mode flag was not being used correctly -
in the timeout case, the local variable was being updated but not the
conn private turbo_flag. Since the conn private turbo_flag is not used
anywhere else, it can be removed, and just use the local variable.
Platforms tested: RHEL5 x86_64
Flag Day: no
Doc impact: no
(cherry picked from commit 9d638b3fc25fbc57884a511744943499c7102f40)
Diffstat (limited to 'aclocal.m4')
0 files changed, 0 insertions, 0 deletions