]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit - sbin/hastd/hast.h
MFC r220005, r220006, r220007, r220266, r220270, r220271, r220272,
authortrociny <trociny@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 10 Apr 2011 15:48:16 +0000 (15:48 +0000)
committertrociny <trociny@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 10 Apr 2011 15:48:16 +0000 (15:48 +0000)
commitfe392e9f8bb1ce8430a27a65f4f5acd99e7623f4
treee6c4420f3b5c43167c6fae547dc482b12e32e0fa
parent917fe172fc407fe59b0fa1dfc3c5db2334d0fb1b
MFC r220005, r220006, r220007, r220266, r220270, r220271, r220272,
  r220273, r220274:

r220005 (pjd):

Use role2str() when setting process title.

r220006 (pjd):

Use timeout from configuration file not only when sending and receiving,
but also when establishing connection.

r220007 (pjd):

Add mapsize to the header just before sending the packet.
Before it could change later and we were sending invalid mapsize.
Some time ago I added optimization where when nodes are connected for the
first time and there were no writes to them yet, there is no initial full
synchronization. This bug prevented it from working.

r220266 (pjd):

Handle the problem described in r220264 by using GEOM GATE queue of unlimited
length. This should fix deadlocks reported by HAST users.

r220270 (pjd):

Allow to disable sends or receives on a socket using shutdown(2) by
interpreting NULL 'data' argument passed to proto_common_send() or
proto_common_recv() as a will to do so.

r220271 (pjd):

Declare directions for sockets between primary and secondary.
In HAST we use two sockets - one for only sending the data and one for only
receiving the data.

r220272 (pjd):

When we are operating on blocking socket and get EAGAIN on send(2) or recv(2)
this means that request timed out. Translate the meaningless EAGAIN to
ETIMEDOUT to give administrator a hint that he might need to increase timeout
in configuration file.

r220273 (pjd):

Handle ENOBUFS on send(2) by retrying for a while and logging the problem.

r220274 (pjd):

Increase default timeout from 5 seconds to 20 seconds. 5 seconds is definitely
to short under heavy load and I was experiencing those timeouts in my recent
tests.

Approved by: pjd (mentor)

git-svn-id: svn://svn.freebsd.org/base/stable/8@220525 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sbin/hastd/hast.conf.5
sbin/hastd/hast.h
sbin/hastd/primary.c
sbin/hastd/proto_common.c
sbin/hastd/secondary.c