1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00
Commit Graph

4174 Commits

Author SHA1 Message Date
Ronnie Sahlberg
e7e51ddb64 LACOUNT: Add back lacount mechanism to defer migrating a fetched/read copy until after default of 20 consecutive requests from the same node
This can improve performance slightly on certain workloads where smbds frequently read from the same record

(This used to be ctdb commit 035c0d981bde8c0eee8b3f24ba8e2dc817e5b504)
2012-03-20 12:26:22 +11:00
Ronnie Sahlberg
6a493a0b08 STATISTICS: add per-db hop count statistics
(This used to be ctdb commit 1c976d83b1d7dac6f0ef81306774998e4c8b56a1)
2012-03-20 12:11:55 +11:00
Ronnie Sahlberg
c9f7c981e2 CTDB: change how the hop count buckets are displayed in ctdb statistics
(This used to be ctdb commit 05923a14bc8ae8e3c5cda28ff4e0fb0d473d5f7d)
2012-03-20 11:43:09 +11:00
Ronnie Sahlberg
9bc6055af8 DOC document the FetchCollapse tunable
(This used to be ctdb commit c37aa6f3738693653f64c2fa015ace061da38b5a)
2012-03-20 11:39:11 +11:00
Ronnie Sahlberg
c051f67d67 FETCH COLLAPSE : Change the fetch-lock collapse to collapse ALL fetches, including fetch-locks into a single command in flight per record. Also add a tunable to enable/disable this optimization for hot records
(This used to be ctdb commit eafd7bbaaa5931546a96c8beae3cf9a39a49c925)
2012-03-20 11:39:00 +11:00
Ronnie Sahlberg
038c946e80 add max hop count buckets to see how bad hopcounts are
(This used to be ctdb commit 7d3931298e6477d92f43652c3006b0c426cb1307)
2012-03-20 11:20:53 +11:00
Ronnie Sahlberg
b3ddf6901d Merge remote branch 'martins/master'
(This used to be ctdb commit af72f8bc05f78983f9624d81788f9d89af474b11)
2012-03-15 16:09:41 +11:00
Ronnie Sahlberg
f7b2adfde6 Test: add test tool and test that UPDATE_RECORD works on persistent databases
(This used to be ctdb commit f06634951331232cddf0b48eac3552b92aca5b93)
2012-03-12 16:10:09 +11:00
Ronnie Sahlberg
b9e581e720 ReadOnly: Only restrict the readonly sanity/paranoia check that only allows
UPDATE_RECORD to create a record to only apply to normal databases, not
persistent databases or else the net registry command breaks
and other persistent database creation/updates .

(This used to be ctdb commit 68390cb1e8c7f30be034b8ca6c9215b40147305b)
2012-03-12 13:13:51 +11:00
Ronnie Sahlberg
62daab3688 READONLY: when updating a remote node to revoke a delegation, make sure we dont create the record if it doesnt already exist
(This used to be ctdb commit fb00e1290fcea3386132a46c883994019a43799a)
2012-03-02 12:57:23 +11:00
Ronnie Sahlberg
1b97198519 New version 1.13
This will be the new long term stable branch for ctdb

Main new features are

read-only records: performance/scaling improvement for concurrent access to the same record from multiple nodes.

fetch-lock-collapse: performance/scaling improvement for concurrent write access to the same record from multiple nodes.

(This used to be ctdb commit 05e75dea9eaa0decc2909e0c2cf1715c81374200)
2012-03-01 12:36:03 +11:00
Ronnie Sahlberg
6f83805183 READONLY: skip vacuuming or deleting records with readonly delegations.
they are hot. wait until they have been revoked before we recall them.

(This used to be ctdb commit 7417d994c2a159f71d27d4bcd2f53684862eece3)
2012-02-29 16:09:24 +11:00
Ronnie Sahlberg
e086333743 Vacuuming: change default timeout to 120 seconds
(This used to be ctdb commit 5ae94c6b9b3000a6c79fccaaea1e007ebd5be1a9)
2012-02-29 12:29:22 +11:00
Ronnie Sahlberg
f3600276fc Add a tunable variable to control how long we defer after a ctdb addip until we force a rebalance and try to failback addresses onto this node
Have it default to 300 seconds.

(This used to be ctdb commit 49791db7dc74cffd7e88bd73091590cdc1909328)
2012-02-28 06:58:59 +11:00
Ronnie Sahlberg
ef2bd0b016 When adding ips to nodes, set up a deferred rebalance for the whole node to trigger after 60 seconds in case the normal ipreallocated is not sufficient to trigger rebalance.
(This used to be ctdb commit 4340263b219d75c39f8de22abe3f6f1c1ee63ea2)
2012-02-28 06:56:04 +11:00
Ronnie Sahlberg
91c9371f2d Make KILLTCP structure a child of VNN so that it is freed at the same time
the referenced VNN structure is.

Also, remove the circular reference between the two objects KIPPCTP and VNN

(This used to be ctdb commit 02b62482164a3c69715949074feb7f191a29d534)
2012-02-27 07:21:26 +11:00
Ronnie Sahlberg
93ec9c589c Eventscripts: remove the horrible horrible circular reference between state and callback since these two structures do not even share the same parent talloc context.
Instead, tie them together via referencing a permanent linked list hung off the ctdb structure.

(This used to be ctdb commit a95c02da6c67dc4bd8716b75318a4188301df6f9)
2012-02-23 06:49:47 +11:00
Ronnie Sahlberg
94b7a84cb1 change TDB to be valgrind nice
(This used to be ctdb commit d306c3c9a53e012c412c96ab9743de6cd96826e0)
2012-02-22 16:07:17 +11:00
Michael Adam
e62384b1e9 server:update_record: remove some blood stains (trailing spaces...)
(This used to be ctdb commit 0df433496f9c53a2c3759a62ebe355c35caff920)
2012-02-21 17:56:45 +01:00
Michael Adam
28554afc67 server:update_record: make ctdb_childwrite static
(This used to be ctdb commit 400364a1d54404787cff48fb2c30c1b172a8b204)
2012-02-21 17:55:07 +01:00
Michael Adam
55abb07f51 server: move the code for the update_record control to its own file
It is very misleading in ctdb_persistent.c, since it is used for non-persistent
dbs...

(This used to be ctdb commit a956fa3a27106d0154a3fb46987d61c0a6b7c768)
2012-02-21 17:54:17 +01:00
Volker Lendecke
46244f0d50 Fix some documentation typos
Signed-off-by: Michael Adam <obnox@samba.org>

(This used to be ctdb commit 67516f2eaf0b8b0f6aa4ecb0f1c44af53b992fbb)
2012-02-21 10:52:57 +01:00
Ronnie Sahlberg
81fb334cff when shutting down ctdb, allow it 30 seconds instead of 10 before will -9 the daemon
(This used to be ctdb commit d8b400d76665f37ffd9de302eedcff9f23807225)
2012-02-21 19:02:36 +11:00
Ronnie Sahlberg
c47da8b028 Log the "Received SHUTDOWN ..." first in the shutown process instead of last.
Sometimes ctdb is termnated ifrom the initscript if the shutdown takes too long an no message is logged.

(This used to be ctdb commit d3542d43141c1548bab356fbdef34dfedb4f167f)
2012-02-21 19:00:33 +11:00
Ronnie Sahlberg
574b47e23f Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
(This used to be ctdb commit 9b85aa1aa14091dc1de470a587f7c054b9e40078)
2012-02-21 07:12:50 +11:00
Ronnie Sahlberg
42e477b14e READONLY: only send a control to schedule fast-vacuuming from child context iff we have a connection open to the main daemon
there are some child processes where we do not create a connection to the main daemon (switch_from_server_to_client()) because it is expensive to set up and we normally might not need to talk to the daemon at all via a domainsocket.
but we might want to still call to ctdb_ltdb_store() from such chil processes.

(This used to be ctdb commit 9e372a08c40087e6b5335aa298e94d88273566a5)
2012-02-21 07:03:44 +11:00
Ronnie Sahlberg
cdc232f2dd READONLY: dont schedule for fast vacuum deletion if any of the readonly record flags are set
(This used to be ctdb commit b3307d78fd15f446b423f8cdd1e403f89fbe8ac8)
2012-02-21 06:54:09 +11:00
Ronnie Sahlberg
af424b151c Revert "ReadOnly: We can not use ctdb_ltdb_store from a client/child context since"
This reverts commit 11dee7f3f881494cf5089d6c69fd40e74f07e670.

Try to solve this a different way so that ctdb_ltb_store() becomes safe to use also from child context

(This used to be ctdb commit 5990fe65a9cc37933ceff15d4cb2ab3b3a0addb6)
2012-02-21 06:49:18 +11:00
Ronnie Sahlberg
baa3d7ea39 Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
(This used to be ctdb commit 0fd3bf919b1b8e5aaa98444c306c6770a6a3209f)
2012-02-20 21:30:13 +11:00
Ronnie Sahlberg
9323afa386 ReadOnly: We can not use ctdb_ltdb_store from a client/child context since
it sometimes (for empty records) needs to be able to initiate traffic unde rhte daemon context.

This should furhter updated later to allow the use also from non-daemon context.

(This used to be ctdb commit 11dee7f3f881494cf5089d6c69fd40e74f07e670)
2012-02-20 21:22:56 +11:00
Ronnie Sahlberg
61762a96e3 ReadOnly: Make sure we dont try to fast-vacuum records that are set for readonly delegation
(This used to be ctdb commit 303134cf10a08ce61954d5de9025d9bbcb5f75ef)
2012-02-20 21:13:46 +11:00
Ronnie Sahlberg
40906c0e7b Merge branch 'master' of ssh://git.samba.org/data/git/ctdb
(This used to be ctdb commit d3c54ae9cc83f74d15f40bbfff95404b270d2f80)
2012-02-20 09:54:52 +11:00
Michael Adam
64208e04a5 Fix the build on freebsd9. (typo in flags?)
(This used to be ctdb commit 650bb17335876f3e91e76a47b748c9236d0f3045)
2012-02-18 12:35:19 +01:00
Ronnie Sahlberg
1cfefb406f TESTS: Add test for wipedb command
(This used to be ctdb commit 4ea05fef886b0680d0ad0936c239a51fd75bf000)
2012-02-16 10:19:15 +11:00
Volker Lendecke
3d71e9f7f0 Add common/system_freebsd.c
Signed-off-by: Michael Adam <obnox@samba.org>

(This used to be ctdb commit 89067e12b868974f9909b447ab5e202d612ac44f)
2012-02-13 16:32:35 +01:00
Volker Lendecke
8428f48708 Add includes required on FreeBSD
Signed-off-by: Michael Adam <obnox@samba.org>

(This used to be ctdb commit be5c3a57df39d85fbb7ee922924787340e2b0595)
2012-02-13 16:23:17 +01:00
Volker Lendecke
5e3b13a32a FreeBSD does not define s6_addr32, only s6_addr
Signed-off-by: Michael Adam <obnox@samba.org>

(This used to be ctdb commit d657af4fb68ce3f7c462856f2934f6bf169e120b)
2012-02-13 16:20:12 +01:00
Volker Lendecke
cb44ebbc95 Make CTDB_CURRENT_NODE work with CTDB_REQ_MESSAGE
Signed-off-by: Michael Adam <obnox@samba.org>

(This used to be ctdb commit be8a153346ca7d40f09a6d03aad655aaa5c4a903)
2012-02-13 15:50:56 +01:00
Martin Schwenke
88c74987dc Tests - functions/environment - set and use $CTDB_NODES
"ctdb listnodes" changed so that it never tries to contact the daemon
but reads the local nodes file instead.  This fails if the nodes file
is in a non-default place but $CTDB_NODES isn't set.

Signed-off-by: Martin Schwenke <martin@meltin.net>

(This used to be ctdb commit a7ad2fb75f06791508dd928d2a0c305fc7f7b814)
2012-02-13 13:34:57 +11:00
Martin Schwenke
bd41a2ae0d Tests - simple - make disconnected node tests handle changed error message
Recent changes to nodestring parsing generalised the error message
logged when trying to talk to a disconnected node.

Signed-off-by: Martin Schwenke <martin@meltin.net>

(This used to be ctdb commit db69a39ca010b2c8853b13466e30792dda350cdb)
2012-02-13 13:32:25 +11:00
Martin Schwenke
629553667e ctdb tool: fix thinko in nodestatus command output
If used with -n <nodes> the "current" node needs to change.

Signed-off-by: Martin Schwenke <martin@meltin.net>

(This used to be ctdb commit a0340a50c2acd9ccc281faef032a364254f7f95a)
2012-02-13 13:31:18 +11:00
Ronnie Sahlberg
5082bba246 READONLY: add test for creating and revoking delegations
(This used to be ctdb commit a7e7fa2169ee12f817336f6d03d5bb72df7ec020)
2012-02-13 11:16:24 +11:00
Ronnie Sahlberg
4af0b6115f READONLY: Update the fetch-readonly-once test tool to use CTDB_SOCKET if set
(This used to be ctdb commit f4d395165816f74839ed48860e3210e05bc16d3d)
2012-02-13 11:06:45 +11:00
Ronnie Sahlberg
a9d983431d READONLY: document the command to activate readonly record support
(This used to be ctdb commit f0bc1760c36c8589f58354c50b23880946cb57c6)
2012-02-13 10:34:41 +11:00
Ronnie Sahlberg
68245eee4e READONLY: allow specifying the db name for setdbreadonly instead of just the hash
(This used to be ctdb commit 3c2117e8e4156e0048fbd2c94546112f0c588522)
2012-02-13 10:27:59 +11:00
Mathieu Parent
938bb15ad9 Load platform dependent objs instead of Linux one
This fix compilation on Gnu/Hurd and kFreeBSD

See also:
https://buildd.debian.org/status/fetch.php?pkg=ctdb&arch=hurd-i386&ver=1.12%2Bgit20120201-1&stamp=1328211119
https://buildd.debian.org/status/fetch.php?pkg=ctdb&arch=kfreebsd-amd64&ver=1.12%2Bgit20120201-1&stamp=1328214761
https://buildd.debian.org/status/fetch.php?pkg=ctdb&arch=kfreebsd-i386&ver=1.12%2Bgit20120201-1&stamp=1328215875

(This used to be ctdb commit 496e8f8540f78606ef23ee8fa100eb2b2cf3f106)
2012-02-11 11:15:06 +11:00
Ronnie Sahlberg
73f8be16c6 ReadOnly: add per-database statistics to view how much delegations/revokes we have
(This used to be ctdb commit 751ed46197661eb841042ab6a02855a51dd0b17c)
2012-02-08 15:29:27 +11:00
Ronnie Sahlberg
1eafa68f0f STATISTICS: add total counts for number of delegations and number of revokes
Everytime we give a delegation to another node we count this as one delegation.
If the same record is delegated to several nodes we count one for each node.

Everytime a record has all its delegations revoked we count this as one revoke.

(This used to be ctdb commit b098bcf8007be63889aaed640a951b0eeaa9d191)
2012-02-08 13:42:30 +11:00
Ronnie Sahlberg
770bba6718 TESTS: Add a test that verifies that RecoverPDBBySeqNum works as expected.
If this tunable is set to 1 AND the persistent database contains a record "__db_sequence_number__" then we will recover the whole database as-is instead of doing the record by record recovery

(This used to be ctdb commit 3e5d2b61fcb4d0062d2573d99724f630a4fc4622)
2012-02-08 08:59:53 +11:00
Ronnie Sahlberg
b6de9d3d19 Ad test tool to store data and ctdb header into a local tdb file
(This used to be ctdb commit c6433e43ad2481d84e8d9a1ee1c6e29b90423a86)
2012-02-07 12:14:57 +11:00