| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
(This used to be ctdb commit 731a6011ce4a1301f86eacb039955745f2b5d866)
|
|\
| |
| |
| | |
(This used to be ctdb commit 13e58d92f5f1723e850a82ae030d0ca57e89b1ee)
|
| |
| |
| |
| |
| |
| |
| |
| | |
This means we can distinguish which child is logging, esp. via syslog where we have no pid.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit 68b3761a0874429b90731741f0531f76dcfbb081)
|
|\ \
| | |
| | |
| | | |
(This used to be ctdb commit dc301b324d2c14a2425a965c076113c4fe97903e)
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are some reports of freeze timeouts, and it looks like vacuuming might
be the culprit. So we add code to tell them to abort when a freeze is
going on.
(This is based on the 1.0.112 branch version 517f05e42f, but far
simpler since tdb is now robust against processes being killed during
transaction commit)
CQ:S1018154 & S1018349
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit f5d7dc679501e607c2c83a248a89d3cada9df146)
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
In Samba this is now called "tevent", and while we use the backwards
compatibility wrappers they don't offer EVENT_FD_AUTOCLOSE: that is now
a separate tevent_fd_set_auto_close() function.
This is based on Samba version 7f29f817fa939ef1bbb740584f09e76e2ecd5b06.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit 85e5e760cc91eb3157d3a88996ce474491646726)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We discovered that recent smbd locks the serverid tdb while
holding a lock on another tdb (locking.tdb):
7: POSIX ADVISORY WRITE smbd-2224318 locking.tdb.0 10600 10600
22: -> POSIX ADVISORY READ smbd-2224318 serverid.tdb.0 26580 26580
The result is a deadlock against the ctdb_freeze code called for
recovery. We extend the "notify" workaround to this case, too.
BZ:65158
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit dfdaa446cf256854ff6d267dceeb86fbee8bb188)
|
|
|
|
|
|
|
|
| |
chainunlocked
BZ64688
(This used to be ctdb commit b977901a49a9fed45cc8a2fe880eb749f58278f6)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
| |
ctdb_control_transaction_commit()
metze
(This used to be ctdb commit d874463235fa299e83fe562291c688aca3b85cf3)
|
|
|
|
|
|
| |
remove a stray alarm(30) that caused databases to be unlocked after 30 seconds.
(This used to be ctdb commit 12b187f971d857353403393a9850503e0e558672)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
handle and set it to NULL before we call the destructors for releaseing the waiters.
The waiters reference the locakwait handle in order to remove itself from the li
nked list which caused a SEGV.
We dont actually need to remove ourselves from this list here since
if the parent freeze_handle holding the list is freed, then all waiters are rele
ased as well, and the only place we actually need to relink the waiter is in ctd
b_freeze_lock_handler, where we want to respond back to the clients and release
the waiters but we still want to keep the freeze_handle hanging around.
(This used to be ctdb commit e01ab46bafad09a5e320d420734db129d35863bc)
|
|
|
|
|
|
| |
.95 node by remapping priority numbers and log this to log.ctdb
(This used to be ctdb commit 343c005367789e108c0320e95d7a264535d68dd8)
|
|
|
|
|
|
|
|
|
| |
This patch ensures that we lock all non-notify related databases first and
then the notify databases to avoiud a deadlock where samba needs to lock records on two databases at once (and notify being the second database).
Newer versions of samba would instead use the set-db-prio control to set this explicitely on a database per database basis instead of relying on hardcoded database names. This patch will be reverted in the future when all updated versions of samba has been pushed out.
(This used to be ctdb commit 70e7781df1f118a0e2632a9c634f3fd388fa6c8c)
|
|
|
|
|
|
|
|
|
| |
transactions we start across all tdb databased during the recovery.
this allows us to properly clean up and delete these tdb transactions on a
recovery failure.
(This used to be ctdb commit b2ce8b900a7d00944c84e0574fea5b371064a06d)
|
|
|
|
| |
(This used to be ctdb commit e8d692590da1070c87a4144031e3306d190ebed2)
|
|
|
|
|
|
|
|
| |
priority to freeze/thaw to the daemon.
this is encoded in the srvid field of the request header
(This used to be ctdb commit 0cb3d33caa42ed783e03bc825b181dde4cf63616)
|
|
|
|
|
|
|
|
| |
default to priority 1.
database priorities will be used to control in which order databases are locked during recovery in.
(This used to be ctdb commit 67741c0ee01916d94cace8e9462ef02507e06078)
|
|
|
|
|
|
|
|
| |
new transaction for the recovery"
This reverts commit bf8dae63d10498e6b6179bbacdd72f1ff0fc60be.
(This used to be ctdb commit 87292029cb444ffab130ff7dae47a629c2d15787)
|
|
|
|
|
|
|
|
| |
transaction from within recovery"
This reverts commit 1b2029dbb055ff07367ebc1f307f5241320227b2.
(This used to be ctdb commit 9762a3408f10409b629637d237ec513a825a6059)
|
|
|
|
|
|
| |
transaction for the recovery
(This used to be ctdb commit bf8dae63d10498e6b6179bbacdd72f1ff0fc60be)
|
|
|
|
|
|
| |
within recovery
(This used to be ctdb commit 1b2029dbb055ff07367ebc1f307f5241320227b2)
|
|
|
|
|
|
| |
remove all waitpid() calls and use the event system to trap sigchld
(This used to be ctdb commit 77458b2b6b51b2970c12b0e5b097088d3fb9d358)
|
|
|
|
|
|
|
|
|
| |
This reverts commit bfba5c7249eff8a10a43b53c1b89dd44b625fd10.
revert the waitpid changes. we need to waitpid for some childredn so should
refactor the approach completely
(This used to be ctdb commit 702ced6c2fe569c01fe96c60d0f35a7e61506a96)
|
|
|
|
|
|
|
|
|
|
|
|
| |
so we should not call it from the main daemon.
1, set SIGCHLD to SIG_DFL to make sure we ignore this signal
2, get rid of all waitpid() calls
3, change reporting of event script status code from _exit()/waitpid() to write()/read() one byte across the pipe.
(This used to be ctdb commit bfba5c7249eff8a10a43b53c1b89dd44b625fd10)
|
|
|
|
|
|
|
|
| |
transactions to the
databases instead of calling ctdb_fatal()
(This used to be ctdb commit ff2985aaef999d180277db4cf644fee0ea79c14d)
|
|
|
|
|
|
| |
transactions.
(This used to be ctdb commit 45b6ff64f6ddf037b810c4e5f8b9f04d71067b98)
|
|
|
|
|
|
| |
_VOID varient
(This used to be ctdb commit 07c9133aedecaee3607ad3b6fa94e5c56417a9de)
|
|
|
|
|
|
| |
This prevents heap corruption when a freeze child dies
(This used to be ctdb commit 4edc6d40cb63936146af99030b7819683238abfc)
|
|
|
|
| |
(This used to be ctdb commit 4f2d722cf29175c3c207e6ebb6d4f9e370767249)
|
|
|
|
|
|
| |
This reverts commit f71287a28d66db202fe52f9a43b6daf2389d7f66.
(This used to be ctdb commit a928857e38d645baca62cea7f7367488d140dca7)
|
|
|
|
| |
(This used to be ctdb commit f71287a28d66db202fe52f9a43b6daf2389d7f66)
|
|
|
|
| |
(This used to be ctdb commit b8c8c5cb351747863c5d1366b57c96122ade5db0)
|
|
|
|
| |
(This used to be ctdb commit b99d687894cb69d863345713055d9c8dc1b29194)
|
|
|
|
|
|
| |
try writing many times and log an error if the write failed
(This used to be ctdb commit f15b224e42e81cda84b98f01f919d463e80fb89f)
|
|
|
|
| |
(This used to be ctdb commit e7b57d38cf7255be823a223cf15b7526285b4f1c)
|
|
|
|
| |
(This used to be ctdb commit afc1da53873cdbd31fcc8c6b22fae262e344cf6e)
|
|
|
|
| |
(This used to be ctdb commit 9ef2268a1674b01f60c58fed72af8ac982fe77a3)
|
|
|
|
| |
(This used to be ctdb commit d88b95a5407b53ead47ca0638ee60653ea3d3d07)
|
|
|
|
| |
(This used to be ctdb commit f0555484105668c01c21f56322992e752e831109)
|
|
|
|
|
|
|
| |
- use a non-blocking freeze when banned
- release all IPs when banned
(This used to be ctdb commit 070e85e532b33b792f85c3e72eee205d906aaf85)
|
|
(This used to be ctdb commit 603cd77988c181525946cd5eb0f4d0d646b58059)
|