Revert "ctdbd: Remove incomplete ctdb_db_statistics_wire structure"
[amitay/ctdb.git] / NEWS
1 Changes in CTDB 2.3
2 ===================
3
4 User-visible changes
5 --------------------
6
7 * 2 new configuration variables for 60.nfs eventscript:
8
9   - CTDB_MONITOR_NFS_THREAD_COUNT
10   - CTDB_NFS_DUMP_STUCK_THREADS
11
12   See ctdb.sysconfig for details.
13
14 * Removed DeadlockTimeout tunable.  To enable debug of locking issues set
15
16    CTDB_DEBUG_LOCKS=/etc/ctdb/debug_locks.sh
17
18 * In overall statistics and database statistics, lock buckets have been
19   updated to use following timings:
20
21    < 1ms, < 10ms, < 100ms, < 1s, < 2s, < 4s, < 8s, < 16s, < 32s, < 64s, >= 64s
22
23 * Initscript is now simplified with most CTDB-specific functionality
24   split out to ctdbd_wrapper, which is used to start and stop ctdbd.
25
26 * Add systemd support.
27
28 * CTDB subprocesses are now given informative names to allow them to
29   be easily distinguished when using programs like "top" or "perf".
30
31 Important bug fixes
32 -------------------
33
34 * ctdb tool should not exit from a retry loop if a control times out
35   (e.g. under high load).  This simple fix will stop an exit from the
36   retry loop on any error.
37
38 * When updating flags on all nodes, use the correct updated flags.  This
39   should avoid wrong flag change messages in the logs.
40
41 * The recovery daemon will not ban other nodes if the current node
42   is banned.
43
44 * ctdb dbstatistics command now correctly outputs database statistics.
45
46 * Fixed a panic with overlapping shutdowns (regression in 2.2).
47
48 * Fixed 60.ganesha "monitor" event (regression in 2.2).
49
50 * Fixed a buffer overflow in the "reloadips" implementation.
51
52 * Fixed segmentation faults in ping_pong (called with incorrect
53   argument) and test binaries (called when ctdbd not running).
54
55 Important internal changes
56 --------------------------
57
58 * The recovery daemon on stopped or banned node will stop participating in any
59   cluster activity.
60
61 * Improve cluster wide database traverse by sending the records directly from
62   traverse child process to requesting node.
63
64 * TDB checking and dropping of all IPs moved from initscript to "init"
65   event in 00.ctdb.
66
67 * To avoid "rogue IPs" the release IP callback now fails if the
68   released IP is still present on an interface.
69
70
71 Changes in CTDB 2.2
72 ===================
73
74 User-visible changes
75 --------------------
76
77 * The "stopped" event has been removed.
78
79   The "ipreallocated" event is now run when a node is stopped.  Use
80   this instead of "stopped".
81
82 * New --pidfile option for ctdbd, used by initscript
83
84 * The 60.nfs eventscript now uses configuration files in
85   /etc/ctdb/nfs-rpc-checks.d/ for timeouts and actions instead of
86   hardcoding them into the script.
87
88 * Notification handler scripts can now be dropped into /etc/ctdb/notify.d/.
89
90 * The NoIPTakeoverOnDisabled tunable has been renamed to
91   NoIPHostOnAllDisabled and now works properly when set on individual
92   nodes.
93
94 * New ctdb subcommand "runstate" prints the current internal runstate.
95   Runstates are used for serialising startup.
96
97 Important bug fixes
98 -------------------
99
100 * The Unix domain socket is now set to non-blocking after the
101   connection succeeds.  This avoids connections failing with EAGAIN
102   and not being retried.
103
104 * Fetching from the log ringbuffer now succeeds if the buffer is full.
105
106 * Fix a severe recovery bug that can lead to data corruption for SMB clients.
107
108 * The statd-callout script now runs as root via sudo.
109
110 * "ctdb delip" no longer fails if it is unable to move the IP.
111
112 * A race in the ctdb tool's ipreallocate code was fixed.  This fixes
113   potential bugs in the "disable", "enable", "stop", "continue",
114   "ban", "unban", "ipreallocate" and "sync" commands.
115
116 * The monitor cancellation code could sometimes hang indefinitely.
117   This could cause "ctdb stop" and "ctdb shutdown" to fail.
118
119 Important internal changes
120 --------------------------
121
122 * The socket I/O handling has been optimised to improve performance.
123
124 * IPs will not be assigned to nodes during CTDB initialisation.  They
125   will only be assigned to nodes that are in the "running" runstate.
126
127 * Improved database locking code.  One improvement is to use a
128   standalone locking helper executable - the avoids creating many
129   forked copies of ctdbd and potentially running a node out of memory.
130
131 * New control CTDB_CONTROL_IPREALLOCATED is now used to generate
132   "ipreallocated" events.
133
134 * Message handlers are now indexed, providing a significant
135   performance improvement.