db debugging
authorArt Cancro <ajc@citadel.org>
Fri, 25 Aug 2023 03:47:33 +0000 (18:47 -0900)
committerArt Cancro <ajc@citadel.org>
Fri, 25 Aug 2023 03:47:33 +0000 (18:47 -0900)
citadel/server/backends/berkeley_db/berkeley_db.c
citadel/server/threads.c

index e2c102cf6230381a42fcc3230c434c553b7dd267..3d1a0261b1b5bbfb413ceef0226471e4b125d2ae 100644 (file)
@@ -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) {
index f666c329b55fce56e40cc74df26e78f500fa40a0..ea127ca15ea1bececbfb3bbd21911641c2fda7bc 100644 (file)
@@ -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) );
+
 }