scripts: Run tdb checker under timeout command
authorAmitay Isaacs <amitay@gmail.com>
Tue, 28 Apr 2015 13:15:37 +0000 (23:15 +1000)
committerMartin Schwenke <martin@meltin.net>
Wed, 24 Feb 2016 10:44:27 +0000 (21:44 +1100)
If tdb database file size grows beyond 4GB, tdbtool/tdbdump can hang
indefinitely.  This will prevent CTDB from starting up.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
(Imported from commit f6af2d96c275ad7614671aabac1e21f9d58b1585)

config/events.d/00.ctdb

index cb4b7f70f37d77c70e9b20981457f01702079fa6..7d203b41277908001e61df70a110d6f1bc82bdf0 100755 (executable)
@@ -49,14 +49,14 @@ check_tdb ()
 
     if $use_tdb_tool_check ; then
        # tdbtool always exits with 0  :-(
-       if tdbtool "$_db" check 2>/dev/null |
+       if timeout 10 tdbtool "$_db" check 2>/dev/null |
            grep -q "Database integrity is OK" ; then
            return 0
        else
            return 1
        fi
     else
-       tdbdump "$_db" >/dev/null 2>/dev/null
+       timeout 10 tdbdump "$_db" >/dev/null 2>/dev/null
        return $?
     fi
 }