ctdb-locking: If a record could not be locked, log the key
authorAmitay Isaacs <amitay@gmail.com>
Tue, 13 Jun 2017 05:32:36 +0000 (15:32 +1000)
committerMartin Schwenke <martins@samba.org>
Mon, 19 Jun 2017 17:56:22 +0000 (19:56 +0200)
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Mon Jun 19 19:56:22 CEST 2017 on sn-devel-144

ctdb/server/ctdb_lock.c

index d54e0ceae5eef2c647d9d5f9954f4645a6e3ef81..2644fcd6f5fd59b851dd7b37765334f47378b67e 100644 (file)
@@ -520,6 +520,7 @@ static void ctdb_lock_timeout_handler(struct tevent_context *ev,
        pid_t pid;
        double elapsed_time;
        bool skip;
+       char *keystr;
 
        lock_ctx = talloc_get_type_abort(private_data, struct lock_context);
        ctdb = lock_ctx->ctdb;
@@ -542,9 +543,14 @@ static void ctdb_lock_timeout_handler(struct tevent_context *ev,
                goto skip_lock_debug;
        }
 
+       keystr = hex_encode_talloc(lock_ctx, lock_ctx->key.dptr,
+                                  lock_ctx->key.dsize);
        DEBUG(DEBUG_WARNING,
-             ("Unable to get RECORD lock on database %s for %.0lf seconds\n",
-              lock_ctx->ctdb_db->db_name, elapsed_time));
+             ("Unable to get RECORD lock on database %s for %.0lf seconds"
+              " (key %s)\n",
+              lock_ctx->ctdb_db->db_name, elapsed_time,
+              keystr ? keystr : ""));
+       TALLOC_FREE(keystr);
 
        /* If a node stopped/banned, don't spam the logs */
        if (ctdb->nodes[ctdb->pnn]->flags & NODE_FLAGS_INACTIVE) {