| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
metze
(This used to be ctdb commit 898894d3acbcc0add2ab0706a3172a446622f687)
|
|
|
|
|
|
|
|
|
|
| |
This finished commit a78b8ea7168e5fdb2d62379ad3112008b2748576.
The logic was missing in events_standard (the one that's used by default).
metze
(This used to be ctdb commit 49f0488a5e60c74b6b8361dffcd09ebb2db740f0)
|
|
|
|
| |
(This used to be ctdb commit 085d1bea78fabf754ef6dd6d323f74a1d361e45c)
|
|
|
|
|
|
| |
used to set it up and manage it.
(This used to be ctdb commit 037e64e1900f09e699d5fce50df2850f26f47f91)
|
|
|
|
|
|
|
|
| |
configureable using --log-ringbuf-size=<num-entries>.
Add an entry in the sysconfig file to set this persistently.
(This used to be ctdb commit c79c2da69bc352f509e7fca4b9172a4b7f23c0f8)
|
|
|
|
| |
(This used to be ctdb commit 4bcb07c412260147cd926452287885d05b2344c1)
|
|\
| |
| |
| | |
(This used to be ctdb commit 4cc9c79bfced9efa0d3817021512c86ed2fa3516)
|
| |
| |
| |
| |
| |
| | |
metze
(This used to be ctdb commit 608e0765130aa9bca0aa77db5a888c413867a3fd)
|
| |
| |
| |
| |
| |
| | |
metze
(This used to be ctdb commit acb98c36a3d56fa6b34747015b913ada3eaa133f)
|
| |
| |
| |
| |
| |
| | |
Signed-off-by: Martin Schwenke <martin@meltin.net>
(This used to be ctdb commit 64ae8b0702cfdc44a778e0cc3705dd685f9f6ab0)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
reliable way to determine if winbindd is in a useful state."
This reverts commit 7c95e56ba871a4e0cb893a5cb5d821e7ff6e6dd6.
wbinfo --ping-dc is proving too unreliable.
(This used to be ctdb commit b70021856e76df1ba407c83cfc19bf332fbfc869)
|
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 7b73834ba3ac197cc8a3020c111f9bb2c567e70b.
wbinfo --ping-dc is proving too unreliable.
(This used to be ctdb commit 178f429a7b6d1008d35e857b6ca1df6adb60d255)
|
|\|
| |
| |
| | |
(This used to be ctdb commit bb9fc8b4388848863fa2b8735bd77eb07b7b5849)
|
| |
| |
| |
| | |
(This used to be ctdb commit 484ae893f2179bebd0e2a2efe5f9619a39e48227)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Another corner case when we terminate running monitor scripts to run
something else: logging can flush the output and we write to a NULL
pointer.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit eb22c34bccc8a04fcf63efa2bc48d9788709382e)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(Reapplied with merge after accidental revert)
Previously we updated cb_status a each script finished. Since we're storing
the status anyway, we can calculate it by iterating the scripts array
itself, providing clear and uniform behavior on all code paths.
In particular, this fixes a longstanding bug when we abort monitor
scripts to run some other script: the cb_status was uninitialized. In
this case, we need to hand *something* to the callback; 0 might make
us go healthy when we shouldn't. So we use the last status (normally,
this will be the just-saved current status).
In addition, we make the case of failing the first fork for the script
and failing other script forks the same: the error is returned via the
callback and saved for viewing through 'ctdb scriptstatus'.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit 2c84fe393ff2b961abf77d58a371c24db5ecb93b)
|
|\|
| |
| |
| | |
(This used to be ctdb commit 82e1c5231c389bea935328a08ecf9b0b3a3979ef)
|
| |
| |
| |
| | |
(This used to be ctdb commit 859e18db681dabe0990793d03f58e59a061aa8bb)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We shouldn't set ctdb->current_monitor until we set destructor: that's
what cleans it up.
Also, free state->scripts on no-scripts exit path: it's not a child of
state because we need it in the destructor.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit 843a2ed5ef85f628788b0caf7417c6b61b5c6d3f)
|
| |
| |
| |
| |
| |
| | |
metze
(This used to be ctdb commit 7101ae80bf4e530f48e31e4c58707aa45a9fd3d5)
|
| |
| |
| |
| |
| |
| | |
metze
(This used to be ctdb commit 140070dd81b39545fe2d56f70e9b9c96bfdae07f)
|
| |
| |
| |
| | |
(This used to be ctdb commit 99894a70fe2ebfe43daae7e88ff0fc9cab33e0fb)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously we updated cb_status a each script finished. Since we're storing
the status anyway, we can calculate it by iterating the scripts array
itself, providing clear and uniform behavior on all code paths.
In particular, this fixes a longstanding bug when we abort monitor
scripts to run some other script: the cb_status was uninitialized. In
this case, we need to hand *something* to the callback; 0 might make
us go healthy when we shouldn't. So we use the last status (normally,
this will be the just-saved current status).
In addition, we make the case of failing the first fork for the script
and failing other script forks the same: the error is returned via the
callback and saved for viewing through 'ctdb scriptstatus'.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit 5d50f0e16948d18009f6623f132113f7273efc7f)
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit 'rusty/ctdb-no-setsched'
Conflicts:
server/ctdb_vacuum.c
(This used to be ctdb commit b4365045797f520a7914afdb69ebd1a8dacfa0d9)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We don't want ctdb stalling due to paging; this can be far worse than
scheduling delays. But if we simply do mlockall(MCL_FUTURE), it
increases the risk that mmap (ie. tdb open) or malloc will fail,
causing us to abort.
This patch is a compromise: we mlock all current pages (including
10k of future stack for expansion) and then relock when a client
asks us to open a TDB. We warn, but don't exit, if it fails.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit 82f778e85440bc713d3f87c08ddc955d3cfce926)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1) It's buggy. Code needs to be carefully written (ie. no busy
loops) to handle running with it, and we fork and run scripts.[1]
2) It makes debugging harder. If ctdbd loops (as has happened recently)
it can be extremely hard to get in and see what's happening. We've already
seen the valgrind hacks.
3) We have seen recent scheduler problems. Perhaps they are unrelated,
but removing this very unusual setup is unlikely to hurt.
4) It doesn't make anything faster. Under all but the most perverse of
circumstances, 99% of the cpu gives the same performance as 100%, and
we will always preempt normal processes anyway.
[1] I made this worse in 0fafdcb8d353 "eventscript: fork() a child for
each script" by removing the switch_from_server_to_client() which
restored it, but even that was only for monitor scripts. Others were
run with RT priority.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit 482c302d46e2162d0cf552f8456bc49573ae729d)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The do_setsched was being tested for whether to mmap tdbs: let's make it
explicit. We can also happily move the kill-child eventscript hack under
this flag.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit 2ee86cc1f311d7b7504c7b14d142b9c4f6f4b469)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit e3825407a509110c786d618efcdfa56ba93380a5)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit 0d1300aa2325c94d8fb1c3cf8d454e5eee43dde9)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit 33ec6943fb2d01b6df0ce4515d37c671b18d237f)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit 9b4c76973a8cf03ddc1a9b3777a350f739c00892)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit a90f3dd25a22f9b8777ff6946ce1721859e9479a)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit bf48ae41ef5fb8e4675be448d13db522465d8d72)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit 8e6b8be51fd1bda789675650a94df0115ee9e238)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit c09acd0896089a612ee3a1e78711abd98bd9cc99)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit 3cdb8be02acc23074c8137a54faea62fee4567a0)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit fce390194dadb4961b46c706a1826442eef8c63d)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit fc5f556d488488040303438aefecb5ae2a8e54bc)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
checks
metze
(This used to be ctdb commit 52e6d81f4d8a4035272d9256d01bafb8ed593027)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit 504cf78d00d1120b556124340b9312f890b8b8b9)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit 45cfcd44093c7d2681e2ffd5cfb402823e8809f4)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit ecf799093c1989f5499c9d61ce8cc8a98d759160)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit c63a0368d9d4b526ac1e49d891d3a1b7b8d20320)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit 1cdc8dbb9cb971cf6dd6cd22b1adaf70ddc77e65)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
nodes
metze
(This used to be ctdb commit d1b10b0c0c323c39742a18e98a1dab7e82ddc7be)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit 910c19f12448d293a755d1eb46d20f9591f8da7a)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit c34535ff4dc6a44909283641596e0ed7c2316fbd)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit 5abe44d0113839d3a45c9a31d30856aa70c2ea1f)
|
| | |
| | |
| | |
| | |
| | |
| | | |
metze
(This used to be ctdb commit 7332d900538f0cbcd953a723417a0fe31dc9807c)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Depending on --max-persistent-check-errors we allow ctdb
to start with unhealthy persistent databases.
The default is 0 which means to reject a startup with
unhealthy dbs.
The health of the persistent databases is checked after each
recovery. Node monitoring and the "startup" is deferred
until all persistent databases are healthy.
Databases can become healthy automaticly by a completely
HEALTHY node joining the cluster. Or by an administrator
with "ctdb backupdb/restoredb" or "ctdb wipedb".
metze
(This used to be ctdb commit 15f133d5150ed1badb4fef7d644f10cd08a25cb5)
|