From: Art Cancro Date: Fri, 25 Aug 2023 03:47:33 +0000 (-0900) Subject: db debugging X-Git-Tag: v989~41 X-Git-Url: https://code.citadel.org/?a=commitdiff_plain;h=9e172530d40c3c07821dfc574b51e80e56ba8830;p=citadel.git db debugging --- diff --git a/citadel/server/backends/berkeley_db/berkeley_db.c b/citadel/server/backends/berkeley_db/berkeley_db.c index e2c102cf6..3d1a0261b 100644 --- a/citadel/server/backends/berkeley_db/berkeley_db.c +++ b/citadel/server/backends/berkeley_db/berkeley_db.c @@ -236,12 +236,13 @@ void bdb_open_databases(void) { // exit(CTDLEXIT_DB); // } - if ((ret = bdb_env->set_lk_detect(bdb_env, DB_LOCK_DEFAULT))) { - syslog(LOG_ERR, "bdb: set_lk_detect: %s", db_strerror(ret)); - bdb_env->close(bdb_env, 0); - syslog(LOG_ERR, "bdb: exit code %d", ret); - exit(CTDLEXIT_DB); - } + // This appears to do nothing over and above the default + //if ((ret = bdb_env->set_lk_detect(bdb_env, DB_LOCK_DEFAULT))) { + //syslog(LOG_ERR, "bdb: set_lk_detect: %s", db_strerror(ret)); + //bdb_env->close(bdb_env, 0); + //syslog(LOG_ERR, "bdb: exit code %d", ret); + //exit(CTDLEXIT_DB); + //} flags = DB_CREATE | DB_INIT_MPOOL | DB_PRIVATE | DB_INIT_TXN | DB_INIT_LOCK | DB_THREAD | DB_INIT_LOG; syslog(LOG_DEBUG, "bdb: bdb_env->open(bdb_env, %s, %d, 0)", ctdl_db_dir, flags); @@ -276,7 +277,7 @@ void bdb_open_databases(void) { } snprintf(dbfilename, sizeof dbfilename, "cdb.%02x", i); // table names by number - ret = bdb_table[i]->open(bdb_table[i], NULL, dbfilename, NULL, DB_BTREE, DB_CREATE | DB_AUTO_COMMIT | DB_THREAD, 0600); + ret = bdb_table[i]->open(bdb_table[i], NULL, dbfilename, NULL, DB_BTREE, DB_CREATE | DB_AUTO_COMMIT, 0600); if (ret) { syslog(LOG_ERR, "bdb: db_open[%02x]: %s", i, db_strerror(ret)); if (ret == ENOMEM) { diff --git a/citadel/server/threads.c b/citadel/server/threads.c index f666c329b..ea127ca15 100644 --- a/citadel/server/threads.c +++ b/citadel/server/threads.c @@ -56,7 +56,13 @@ void begin_critical_section(int which_one) { ) { cdb_check_handles(); } + + //struct timeval t1,t2; + //gettimeofday(&t1, NULL); pthread_mutex_lock(&Critters[which_one]); + //gettimeofday(&t2, NULL); + //syslog(LOG_DEBUG, "threads: lock acquired in %ld milliseconds", ((t2.tv_sec*1000)+t2.tv_usec) - ((t1.tv_sec*1000)+t1.tv_usec) ); + }