eventscripts: Instead of listing all tunables, query EventScriptTimeout
[ctdb.git] / NEWS
diff --git a/NEWS b/NEWS
index 8056d18d202a89665d696746fc5df04bc7ff718f..be8f9dcbd86739b3fca3088bdb7287df39193862 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,81 @@
+Changes in CTDB 2.4
+===================
+
+User-visible changes
+--------------------
+
+* A missing network interface now causes monitoring to fail and the
+  node to become unhealthy.
+
+* Changed ctdb command's default control timeout from 3s to 10s.
+
+* debug-hung-script.sh now includes the output of "ctdb scriptstatus"
+  to provide more information.
+
+Important bug fixes
+-------------------
+
+* Starting CTDB daemon by running ctdbd directly should not remove
+  existing unix socket unconditionally.
+
+* ctdbd once again successfully kills client processes on releasing
+  public IPs.  It was checking for them as tracked child processes
+  and not finding them, so wasn't killing them.
+
+* ctdbd_wrapper now exports CTDB_SOCKET so that child processes of
+  ctdbd (such as uses of ctdb in eventscripts) use the correct socket.
+
+* Always use Jenkins hash when creating volatile databases.  There
+  were a few places where TDBs would be attached with the wrong flags.
+
+* Vacuuming code fixes in CTDB 2.2 introduced bugs in the new code
+  which led to header corruption for empty records.  This resulted
+  in inconsistent headers on two nodes and a request for such a record
+  keeps bouncing between nodes indefinitely and logs "High hopcount"
+  messages in the log. This also caused performance degradation.
+
+* ctdbd was losing log messages at shutdown because they weren't being
+  given time to flush.  ctdbd now sleeps for a second during shutdown
+  to allow time to flush log messages.
+
+* Improved socket handling introduced in CTDB 2.2 caused ctdbd to
+  process a large number of packets available on single FD before
+  polling other FDs.  Use fixed size queue buffers to allow fair
+  scheduling across multiple FDs.
+
+Important internal changes
+--------------------------
+
+* A node that fails to take/release multiple IPs will only incur a
+  single banning credit.  This makes a brief failure less likely to
+  cause node to be banned.
+
+* ctdb killtcp has been changed to read connections from stdin and
+  10.interface now uses this feature to improve the time taken to kill
+  connections.
+
+* Improvements to hot records statistics in ctdb dbstatistics.
+
+* Recovery daemon now assembles up-to-date node flags information
+  from remote nodes before checking if any flags are inconsistent and
+  forcing a recovery.
+
+* ctdbd no longer creates multiple lock sub-processes for the same
+  key.  This reduces the number of lock sub-processes substantially.
+
+* Changed the nfsd RPC check failure policy to failover quickly
+  instead of trying to repair a node first by restarting NFS.  Such
+  restarts would often hang if the cause of the RPC check failure was
+  the cluster filesystem or storage.
+
+* Logging improvements relating to high hopcounts and sticky records.
+
+* Make sure lower level tdb messages are logged correctly.
+
+* CTDB commands disable/enable/stop/continue are now resilient to
+  individual control failures and retry in case of failures.
+
+
 Changes in CTDB 2.3
 ===================
 
@@ -11,6 +89,23 @@ User-visible changes
 
   See ctdb.sysconfig for details.
 
+* Removed DeadlockTimeout tunable.  To enable debug of locking issues set
+
+   CTDB_DEBUG_LOCKS=/etc/ctdb/debug_locks.sh
+
+* In overall statistics and database statistics, lock buckets have been
+  updated to use following timings:
+
+   < 1ms, < 10ms, < 100ms, < 1s, < 2s, < 4s, < 8s, < 16s, < 32s, < 64s, >= 64s
+
+* Initscript is now simplified with most CTDB-specific functionality
+  split out to ctdbd_wrapper, which is used to start and stop ctdbd.
+
+* Add systemd support.
+
+* CTDB subprocesses are now given informative names to allow them to
+  be easily distinguished when using programs like "top" or "perf".
+
 Important bug fixes
 -------------------
 
@@ -18,10 +113,37 @@ Important bug fixes
   (e.g. under high load).  This simple fix will stop an exit from the
   retry loop on any error.
 
+* When updating flags on all nodes, use the correct updated flags.  This
+  should avoid wrong flag change messages in the logs.
+
+* The recovery daemon will not ban other nodes if the current node
+  is banned.
+
+* ctdb dbstatistics command now correctly outputs database statistics.
+
+* Fixed a panic with overlapping shutdowns (regression in 2.2).
+
+* Fixed 60.ganesha "monitor" event (regression in 2.2).
+
+* Fixed a buffer overflow in the "reloadips" implementation.
+
+* Fixed segmentation faults in ping_pong (called with incorrect
+  argument) and test binaries (called when ctdbd not running).
+
 Important internal changes
 --------------------------
 
-*
+* The recovery daemon on stopped or banned node will stop participating in any
+  cluster activity.
+
+* Improve cluster wide database traverse by sending the records directly from
+  traverse child process to requesting node.
+
+* TDB checking and dropping of all IPs moved from initscript to "init"
+  event in 00.ctdb.
+
+* To avoid "rogue IPs" the release IP callback now fails if the
+  released IP is still present on an interface.
 
 
 Changes in CTDB 2.2