| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
In case of control timeouts, readonly revoke code currently aborts. This
needs to be fixed. Meanwhile, using control_timeout instead of 5 seconds,
increases the timeout to 60 seconds.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Autobuild-User(master): Amitay Isaacs <amitay@samba.org>
Autobuild-Date(master): Mon Mar 31 07:20:48 CEST 2014 on sn-devel-104
|
|
|
|
|
|
|
|
|
| |
This removes data types and structure elements related to TRANS2
persistent transaction code.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit 22a253b7ccf1ff854cddf0b67969dc84d7d6a654)
|
|
|
|
|
|
|
|
|
|
|
|
| |
while I'm at it..
This was the comment block I was touching and meant to adapt in
commit 00d3bf092e2f72eda330978c75ec85f17e870553.
My search was apparently not unique...
Signed-off-by: Michael Adam <obnox@samba.org>
(This used to be ctdb commit 09940255011b119dc6af3304f5d3e9568e6006fd)
|
|
|
|
|
|
|
|
| |
This should avoid memory bloat when a request bounces between nodes.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit 7677fb263f06a97398e2c546e32273fb96edca69)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fetched/read copy until after default of 20 consecutive requests from the same node"
This reverts commit 035c0d981bde8c0eee8b3f24ba8e2dc817e5b504.
This is a premature optimization. Record can bounce between nodes
very quickly if it is a contended record. There is no need to hold a
record on a node unnecessarily. In case record contention becomes bad,
enabling sticky records on a database is a better idea.
Conflicts:
include/ctdb_private.h
server/ctdb_tunables.c
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit ac417b0003f0116f116834ad2ac51482d25cfa0d)
|
|
|
|
|
|
| |
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit 48f40985f4592c28402303ccbb458756f4914f75)
|
|
|
|
|
|
|
|
| |
while I'm at it..
Signed-off-by: Michael Adam <obnox@samba.org>
(This used to be ctdb commit 00d3bf092e2f72eda330978c75ec85f17e870553)
|
|
|
|
|
|
| |
Signed-off-by: Michael Adam <obnox@samba.org>
(This used to be ctdb commit cb3a1c5af3b796dba30cae07118670d3c9e57df7)
|
|
|
|
|
|
|
|
|
|
| |
Instead of logging from ctdb_request_call(), log the message from
ctdb_make_record_sticky(). That way if the record is already sticky, the
message is not repeated unnecessarily.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit 44a64d1c388bfe3c3388b191edfaedecfb7bb831)
|
|
|
|
|
|
| |
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit 9cde47e1a5bf1b9ca3b4da8c2db94caac2b1aa5e)
|
|
|
|
|
|
| |
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit ab35773518ad15588013f4d859f7bee790437450)
|
|
|
|
|
|
| |
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit fde4b4db5a57f75c5efa5647c309f33e0d5a68f3)
|
|
|
|
|
|
|
|
| |
This helps distinguish processes in process list in top, perf, etc.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit 2493f57ce268d6fe7e4c40a87852c347fd60d29e)
|
|
|
|
| |
(This used to be ctdb commit f8bf99de3a5f56be67aaa67ed836458b1cf73e86)
|
|
|
|
|
|
| |
Signed-off-by: Michael Adam <obnox@samba.org>
(This used to be ctdb commit b697625b184227dad1be31a41b7a3fd9bd312e29)
|
|
|
|
|
|
| |
Signed-off-by: Michael Adam <obnox@samba.org>
(This used to be ctdb commit d9e24782a90d9ce29c0e6584b75d2b186142174d)
|
|
|
|
|
|
| |
Signed-off-by: Michael Adam <obnox@samba.org>
(This used to be ctdb commit 9a21d417c51fb9cad8f2e87e00ca54d379aef860)
|
|
|
|
|
|
|
| |
Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-By: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit f99eb2f56d8ca27110a45ae0e1c4bff40ac7a60e)
|
|
|
|
|
|
|
|
|
|
| |
This is now done in ctdb_ltdb_store_server(), so this
extra bump can be spared.
Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-By: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit cad3107b12e8392f786f9a758ee38cf3a3d58538)
|
|
|
|
|
|
|
|
| |
hopcount
and add mechanisms to dump it using the ctdb dbstatistics command
(This used to be ctdb commit 8307c70ed98996b430c470e9641a09fdeeb81bd8)
|
|
|
|
|
|
| |
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit 6e5cbe8fff71985e5a2fc16b7e9f2b868011ff5d)
|
|
|
|
|
|
|
|
|
|
|
| |
(our child died and kernel wrapped the pid-space and reused the pid for a different process
Wrap all creation of child processes inside ctdb_fork() which is used to track all processes we have spawned.
Capture SIGCHLD to track also which child processes have terminated.
Wrap kill() inside ctdb_kill() and make sure that we never send a !0 signal to a child process pid that has already terminated (and might have been replaced with a
(This used to be ctdb commit f73a4b1495830bcdd094a93732a89dd53b3c2f78)
|
|
|
|
|
|
| |
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit 0681014ca5ed2a9b56f63fdace7f894beccf8a9a)
|
|
|
|
|
|
|
|
| |
they are found to be very hot and accessed by a lot of clients.
This can improve performance and stop clients from having to chase a rapidly migrating/bouncing record
(This used to be ctdb commit d0d98f7e45e5084b81335b004d50bddc80cdc219)
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
| |
(This used to be ctdb commit 1c976d83b1d7dac6f0ef81306774998e4c8b56a1)
|
|
|
|
| |
(This used to be ctdb commit 7d3931298e6477d92f43652c3006b0c426cb1307)
|
|
|
|
|
|
| |
dont create the record if it doesnt already exist
(This used to be ctdb commit fb00e1290fcea3386132a46c883994019a43799a)
|
|
|
|
|
|
| |
we have
(This used to be ctdb commit 751ed46197661eb841042ab6a02855a51dd0b17c)
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
| |
(This used to be ctdb commit 85879edd09ffa26f87c566954cbd2c14f1e331ed)
|
|
|
|
| |
(This used to be ctdb commit 8fc71ad4da746e28406c06a95928052b29803062)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In a few places functions are called, the return code is assigned into
a variable but it is not checked. This generates a compiler warning
like this:
warning: variable ‘ret’ set but not used [-Wunused-but-set-variable]
Instead we remove the warning by checking the return code variable and
log a warning at DEBUG level if the return code indicates an error.
The justification is that there may have been a future intent to check
the return code but it hasn't been important enough to follow-up. If
it matters, it will be logged for easy debugging.
Signed-off-by: Martin Schwenke <martin@meltin.net>
(This used to be ctdb commit 1932466c76de2b184c2a257120768ab8c9d6c12a)
|
|
|
|
|
|
| |
Signed-off-by: Michael Adam <obnox@samba.org>
(This used to be ctdb commit f24e943eb7d8b86ce6b32ae37e3884ec4af0f7df)
|
|
|
|
|
|
|
| |
Fix bug when ctdbd updates the local copy of a delegated record to write the correct
amount of data to the record.
(This used to be ctdb commit 8814d8bc159a5e368afaa236ac7d865165db04b2)
|
|
|
|
|
|
|
|
|
| |
convenient since it avoids having to create a child process from the main dameon for writing the updated record it makes the cleitn more complex.
Remove the code in the example client code that writes the record to the local tdb.
Add code to the local ctdbd processing of replies to check if this reply contain a ro delegation and if so, spawn a child process to lock the tdb and then write the data.
(This used to be ctdb commit bf1d429227dc4f5818263cc39401d0a22663cdba)
|
|
|
|
|
|
| |
or not
(This used to be ctdb commit 01314c2cb3a480917d6a632b83c39f0a48bba0e7)
|
|
|
|
| |
(This used to be ctdb commit 7af255551f058d1f6bfdd38ca603e7a19d1bb7ba)
|
|
|
|
|
|
|
|
| |
requests to the processing loop for CALL packets we receive from different nodes.
This implements the ReadOnly and ReadWrite request processing, delegation and revoking of delegations for all requests coming in across the network from a remote node.
(This used to be ctdb commit 78f2c2ea70e6270cec59db7c3f174a511bf608a9)
|
|
|
|
|
|
| |
all previous delegations, add a 1 second grace/delay for any new readonly delegation requests so that the read-write fetch-lock porcess has a chance to make progress
(This used to be ctdb commit 2a4e9e69850d64dd8aef695f587ebe04393a688f)
|
|
|
|
|
|
| |
This triggers a child process to be created to perform the actual potentially blocking calls that are required.
(This used to be ctdb commit 7d575ee92c95bc4aab78a33bc1aac7ff0811ab3a)
|
|
|
|
|
|
|
|
|
|
|
| |
deferal of processing of CALL commands.
Once the contexts are freed, the deferred calls are re-issued to the input packet processing functions again.
This is needed when/if a CALL can not currently be processed by the main engine due to the record being locked down for revoking of all delegations.
The data is passed through several layers of callbacks, and finally a timed event callback to ensure that the processing of the packet will be restarted again at the topmost eventloop, avoinding event loop nesting.
(This used to be ctdb commit cc6f78efcfa3b8caeffbd68018e6dfbf81488dce)
|
|
|
|
|
|
| |
write the record and header back to the tdb (for example we do when performing dmaster migrations)
(This used to be ctdb commit b935e83255aeb3754b2fd37cf5611e02f7283514)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We should release the lock on the record before returning; otherwise the
recovery (which tries to freeze the database) will fail. Symptoms are as
follows:
ctdbd: pnn 15 dmaster request for new-dmaster 19 from non-master 1 real-dmaster=5 key f049c3c8 dbid 0x6cf2837d gen=1148812532 curgen=1148812532 c->rsn=2 header.rsn=15 reqid=2147483585 keyval=0x4f464e49
ctdbd: ctdb_req_dmaster from non-master. Force a recovery.
...
ctdbd: freeze_lock-1:server/ctdb_freeze.c:55 Failed to lock database registry.tdb
CQ:1022545
(This used to be ctdb commit 38b2dbe0605816742e74e2b8a811eaba99c7e12d)
|
|
|
|
|
|
|
|
|
| |
This temporary flag is used for the local record storage function to
decide whether to delete an empty record which has never been migrated
with data as part of the fast-path vacuuming process or, or to store
the record.
(This used to be ctdb commit c11ca778ee90444c44dee0a629cd2eefa3a1f75e)
|
|
|
|
| |
(This used to be ctdb commit 4079b8bf7a57a27a45d29784a1b0a414c778e552)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This way, the MIGRATED_WITH_DATA information can be transported
along with the records. This is important for vacuuming to function
properly.
The record flags are appended to the data section of the ctdb_req_dmaster
and ctdb_reply_dmaster structs.
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
(This used to be ctdb commit 945187d64cfc7bd30a0c3b0d548cbe582d95dde3)
|
|
|
|
| |
(This used to be ctdb commit f5fb232117886186066ab3430fdd2307cba94960)
|
|
|
|
|
|
| |
ctdb_call_send_redirect().
(This used to be ctdb commit 81663b81687c0ba681500cca6aa8174bb9587ad2)
|
|
|
|
|
|
|
|
|
|
| |
If we find a situatior where we get a stray packet with the wrong
dmaster, dont suicide with ctdb_fatal() since this is too disruptive.
Just drop the stray packet and force a recovery to make sure all is good again.
CQ S1022004
(This used to be ctdb commit 62b7fe853db37c0a90e48a0332a3426a8dcb4ed8)
|