freebsd-dev/sbin/hastd
Pawel Jakub Dawidek 06cbf54941 Scenario:
- We have two nodes connected and synchronized (local counters on both sides
  are 0).
- We take secondary down and recreate it.
- Primary connects to it and starts synchronization (but local counters are
  still 0).
- We switch the roles.
- Synchronization restarts but data is synchronized now from new primary
  (because local counters are 0) that doesn't have new data yet.

This fix this issue we bump local counter on primary when we discover that
connected secondary was recreated and has no data yet.

Reported by:	trociny
Discussed with:	trociny
Tested by:	trociny
MFC after:	1 week
2011-04-19 19:26:27 +00:00
..
activemap.c Fix a typo in comments. 2011-04-10 15:11:19 +00:00
activemap.h
control.c Remove stale comment. Yes, it is valid to set role back to init. 2011-03-21 15:08:10 +00:00
control.h Don't open configuration file from worker process. Handle SIGHUP in the 2011-01-24 15:04:15 +00:00
crc32.c Allow to checksum on-the-wire data using either CRC32 or SHA256. 2011-03-06 22:56:14 +00:00
crc32.h Allow to checksum on-the-wire data using either CRC32 or SHA256. 2011-03-06 22:56:14 +00:00
ebuf.c Fix typos. 2010-06-14 21:44:58 +00:00
ebuf.h
event.c Forgot to add event.c and event.h in r212038. 2010-08-31 09:38:43 +00:00
event.h Forgot to add event.c and event.h in r212038. 2010-08-31 09:38:43 +00:00
hast_checksum.c Allow to checksum on-the-wire data using either CRC32 or SHA256. 2011-03-06 22:56:14 +00:00
hast_checksum.h Allow to checksum on-the-wire data using either CRC32 or SHA256. 2011-03-06 22:56:14 +00:00
hast_compression.c Allow to compress on-the-wire data using two algorithms: 2011-03-06 23:09:33 +00:00
hast_compression.h Allow to compress on-the-wire data using two algorithms: 2011-03-06 23:09:33 +00:00
hast_proto.c Remove hast_proto_recv(). It was used only in one place, where 2011-04-17 16:18:45 +00:00
hast_proto.h Remove hast_proto_recv(). It was used only in one place, where 2011-04-17 16:18:45 +00:00
hast.conf.5 Increase default timeout from 5 seconds to 20 seconds. 5 seconds is definitely 2011-04-02 09:34:33 +00:00
hast.h Increase default timeout from 5 seconds to 20 seconds. 5 seconds is definitely 2011-04-02 09:34:33 +00:00
hastd.8 White space cleanups. 2011-03-22 10:39:34 +00:00
hastd.c Don't create socketpair for connection forwarding between parent and secondary. 2011-03-23 11:09:04 +00:00
hastd.h Add function to assert that the only descriptors we have open are the ones 2011-01-28 21:56:47 +00:00
hooks.c Increase debug level of "Checking hooks." message. 2011-03-21 14:53:27 +00:00
hooks.h hook_check() is now only used to report about long-running hooks, so the 2010-10-04 21:43:06 +00:00
lzf.c Allow to compress on-the-wire data using two algorithms: 2011-03-06 23:09:33 +00:00
lzf.h Allow to compress on-the-wire data using two algorithms: 2011-03-06 23:09:33 +00:00
Makefile The proto API is a general purpose API, so don't use 'hast' in structures or 2011-03-22 16:21:11 +00:00
metadata.c Plug memory leaks. 2010-06-14 21:25:20 +00:00
metadata.h
nv.c Add nv_assert() which allows to assert that the given name exists. 2011-01-22 22:38:18 +00:00
nv.h Add nv_assert() which allows to assert that the given name exists. 2011-01-22 22:38:18 +00:00
parse.y The replication mode that is currently support is fullsync, not memsync. 2011-04-12 19:13:10 +00:00
pjdlog.c Unbreak the build. 2011-03-07 19:54:51 +00:00
pjdlog.h Rename pjdlog_verify() to pjdlog_abort() as it better describes what the 2011-01-31 15:52:00 +00:00
primary.c Scenario: 2011-04-19 19:26:27 +00:00
proto_common.c Handle ENOBUFS on send(2) by retrying for a while and logging the problem. 2011-04-02 09:31:02 +00:00
proto_impl.h The proto API is a general purpose API, so don't use 'hast' in structures or 2011-03-22 16:21:11 +00:00
proto_socketpair.c The proto API is a general purpose API, so don't use 'hast' in structures or 2011-03-22 16:21:11 +00:00
proto_tcp4.c The proto API is a general purpose API, so don't use 'hast' in structures or 2011-03-22 16:21:11 +00:00
proto_uds.c The proto API is a general purpose API, so don't use 'hast' in structures or 2011-03-22 16:21:11 +00:00
proto.c The proto API is a general purpose API, so don't use 'hast' in structures or 2011-03-22 16:21:11 +00:00
proto.h In hast.conf we define the other node's address in 'remote' variable. 2011-03-21 08:54:59 +00:00
rangelock.c
rangelock.h
secondary.c Scenario: 2011-04-19 19:26:27 +00:00
subr.c Add my copyright. 2011-03-22 21:19:51 +00:00
subr.h Add my copyright. 2011-03-22 21:19:51 +00:00
synch.h Plug memory leaks. 2010-10-24 15:41:23 +00:00
token.l In hast.conf we define the other node's address in 'remote' variable. 2011-03-21 08:54:59 +00:00