mirror of
https://github.com/samba-team/samba.git
synced 2025-02-02 09:47:23 +03:00
locking: Do not use RECLOCK for tracking DB locks and latencies
RECLOCK is for recovery lock in CTDB. Do not override the meaning for tracking locks on databases. Database lock latency has nothing to do with recovery lock latency. Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 54e24a151d2163954e5a2a1c0f41a2b5c19ae44b)
This commit is contained in:
parent
56ee668a51
commit
442d9905fe
@ -365,7 +365,7 @@ struct ctdb_daemon_data {
|
||||
} \
|
||||
}
|
||||
|
||||
#define CTDB_UPDATE_DB_RECLOCK_LATENCY(ctdb_db, name, counter, value) \
|
||||
#define CTDB_UPDATE_DB_LATENCY(ctdb_db, operation, counter, value) \
|
||||
{ \
|
||||
if (value > ctdb_db->statistics.counter.max) \
|
||||
ctdb_db->statistics.counter.max = value; \
|
||||
@ -377,10 +377,10 @@ struct ctdb_daemon_data {
|
||||
ctdb_db->statistics.counter.num++; \
|
||||
\
|
||||
if (ctdb_db->ctdb->tunable.reclock_latency_ms != 0) { \
|
||||
if (value*1000 > ctdb_db->ctdb->tunable.reclock_latency_ms) { \
|
||||
if (value*1000 > ctdb_db->ctdb->tunable.log_latency_ms) { \
|
||||
DEBUG(DEBUG_ERR, \
|
||||
("High RECLOCK latency %fs for operation %s\n", \
|
||||
value, name)); \
|
||||
("High latency %.6fs for operation %s on database %s\n",\
|
||||
value, operation, ctdb_db->db_name)); \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
@ -53,6 +53,13 @@ enum lock_type {
|
||||
LOCK_ALLDB,
|
||||
};
|
||||
|
||||
static const char * const lock_type_str[] = {
|
||||
"lock_record",
|
||||
"lock_db",
|
||||
"lock_alldb_prio",
|
||||
"lock_db",
|
||||
};
|
||||
|
||||
struct lock_request;
|
||||
|
||||
/* lock_context is the common part for a lock request */
|
||||
@ -567,11 +574,10 @@ static void ctdb_lock_handler(struct tevent_context *ev,
|
||||
|
||||
if (locked) {
|
||||
CTDB_INCREMENT_STAT(lock_ctx->ctdb, locks.num_current);
|
||||
CTDB_UPDATE_RECLOCK_LATENCY(lock_ctx->ctdb, "lock()", locks.latency, t);
|
||||
CTDB_INCREMENT_STAT(lock_ctx->ctdb, locks.buckets[id]);
|
||||
if (lock_ctx->ctdb_db) {
|
||||
CTDB_INCREMENT_DB_STAT(lock_ctx->ctdb_db, locks.num_current);
|
||||
CTDB_UPDATE_DB_RECLOCK_LATENCY(lock_ctx->ctdb_db, "lock()", locks.latency, t);
|
||||
CTDB_UPDATE_DB_LATENCY(lock_ctx->ctdb_db, lock_type_str[lock_ctx->type], locks.latency, t);
|
||||
CTDB_INCREMENT_DB_STAT(lock_ctx->ctdb_db, locks.buckets[id]);
|
||||
}
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user