From d6260a7974558502728762035199f231f4c43b2b Mon Sep 17 00:00:00 2001
From: rich prohaska <prohaska@tokutek.com>
Date: Wed, 3 Jul 2013 09:34:39 -0400
Subject: [PATCH] #27 rename the low priority multi operation checkpoint lock

---
 ft/checkpoint.cc | 18 +++++++++---------
 ft/checkpoint.h  |  4 ++--
 src/ydb_txn.cc   | 24 ++++++++++++------------
 3 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/ft/checkpoint.cc b/ft/checkpoint.cc
index 9e00f99c41..9ccfd1b7b1 100644
--- a/ft/checkpoint.cc
+++ b/ft/checkpoint.cc
@@ -183,7 +183,7 @@ static LSN last_completed_checkpoint_lsn;
 
 static toku_pthread_rwlock_t checkpoint_safe_lock;
 static toku_pthread_rwlock_t multi_operation_lock;
-static toku_pthread_rwlock_t big_multi_operation_lock;
+static toku_pthread_rwlock_t low_priority_multi_operation_lock;
 
 static bool initialized = false;     // sanity check
 static volatile bool locked_mo = false;       // true when the multi_operation write lock is held (by checkpoint)
@@ -205,7 +205,7 @@ multi_operation_lock_init(void) {
     // happen on osx
 #endif
     toku_pthread_rwlock_init(&multi_operation_lock, &attr);
-    toku_pthread_rwlock_init(&big_multi_operation_lock, &attr);
+    toku_pthread_rwlock_init(&low_priority_multi_operation_lock, &attr);
     pthread_rwlockattr_destroy(&attr);
     locked_mo = false;
 }
@@ -213,12 +213,12 @@ multi_operation_lock_init(void) {
 static void
 multi_operation_lock_destroy(void) {
     toku_pthread_rwlock_destroy(&multi_operation_lock);
-    toku_pthread_rwlock_destroy(&big_multi_operation_lock);
+    toku_pthread_rwlock_destroy(&low_priority_multi_operation_lock);
 }
 
 static void 
 multi_operation_checkpoint_lock(void) {
-    toku_pthread_rwlock_wrlock(&big_multi_operation_lock);
+    toku_pthread_rwlock_wrlock(&low_priority_multi_operation_lock);
     toku_pthread_rwlock_wrlock(&multi_operation_lock);   
     locked_mo = true;
 }
@@ -227,7 +227,7 @@ static void
 multi_operation_checkpoint_unlock(void) {
     locked_mo = false;
     toku_pthread_rwlock_wrunlock(&multi_operation_lock);
-    toku_pthread_rwlock_wrunlock(&big_multi_operation_lock);    
+    toku_pthread_rwlock_wrunlock(&low_priority_multi_operation_lock);    
 }
 
 static void
@@ -269,12 +269,12 @@ toku_multi_operation_client_unlock(void) {
     toku_pthread_rwlock_rdunlock(&multi_operation_lock); 
 }
 
-void toku_big_multi_operation_client_lock(void) {
-    toku_pthread_rwlock_rdlock(&big_multi_operation_lock);
+void toku_low_priority_multi_operation_client_lock(void) {
+    toku_pthread_rwlock_rdlock(&low_priority_multi_operation_lock);
 }
 
-void toku_big_multi_operation_client_unlock(void) {
-    toku_pthread_rwlock_rdunlock(&big_multi_operation_lock);
+void toku_low_priority_multi_operation_client_unlock(void) {
+    toku_pthread_rwlock_rdunlock(&low_priority_multi_operation_lock);
 }
 
 void 
diff --git a/ft/checkpoint.h b/ft/checkpoint.h
index 593f579cce..4fd6997c40 100644
--- a/ft/checkpoint.h
+++ b/ft/checkpoint.h
@@ -135,10 +135,10 @@ void toku_checkpoint_safe_client_unlock(void);
  *****/
 
 void toku_multi_operation_client_lock(void);
-void toku_big_multi_operation_client_lock(void);
+void toku_low_priority_multi_operation_client_lock(void);
 
 void toku_multi_operation_client_unlock(void);
-void toku_big_multi_operation_client_unlock(void);
+void toku_low_priority_multi_operation_client_unlock(void);
 
 
 // Initialize the checkpoint mechanism, must be called before any client operations.
diff --git a/src/ydb_txn.cc b/src/ydb_txn.cc
index 1a2f710248..ac5c2e36c8 100644
--- a/src/ydb_txn.cc
+++ b/src/ydb_txn.cc
@@ -136,7 +136,7 @@ toku_txn_destroy(DB_TXN *txn) {
 static int
 toku_txn_commit(DB_TXN * txn, uint32_t flags,
                 TXN_PROGRESS_POLL_FUNCTION poll, void *poll_extra,
-                bool release_mo_lock, bool big_txn) {
+                bool release_mo_lock, bool low_priority) {
     HANDLE_PANICKED_ENV(txn->mgrp);
     //Recursively kill off children
     if (db_txn_struct_i(txn)->child) {
@@ -192,8 +192,8 @@ toku_txn_commit(DB_TXN * txn, uint32_t flags,
     // begin checkpoint logs these associations, so we must be protect
     // the changing of these associations with checkpointing
     if (release_mo_lock) {
-        if (big_txn) {
-            toku_big_multi_operation_client_unlock();
+        if (low_priority) {
+            toku_low_priority_multi_operation_client_unlock();
         } else {
             toku_multi_operation_client_unlock();
         }
@@ -328,14 +328,14 @@ static int
 locked_txn_commit_with_progress(DB_TXN *txn, uint32_t flags,
                                 TXN_PROGRESS_POLL_FUNCTION poll, void* poll_extra) {
     bool holds_mo_lock = false;
-    bool big_txn = false;
+    bool low_priority = false;
     TOKUTXN tokutxn = db_txn_struct_i(txn)->tokutxn;
     if (!toku_txn_is_read_only(tokutxn)) {
         // A readonly transaction does no logging, and therefore does not need the MO lock.
         holds_mo_lock = true;
         if (toku_txn_has_spilled_rollback(tokutxn)) {
-            big_txn = true;
-            toku_big_multi_operation_client_lock();
+            low_priority = true;
+            toku_low_priority_multi_operation_client_lock();
         } else {
             toku_multi_operation_client_lock();
         }
@@ -345,7 +345,7 @@ locked_txn_commit_with_progress(DB_TXN *txn, uint32_t flags,
     // see a non-readonly txn in the recursive commit.
     // But released in the first-level toku_txn_commit (if taken),
     // this way, we don't hold it while we fsync the log.
-    int r = toku_txn_commit(txn, flags, poll, poll_extra, holds_mo_lock, big_txn);
+    int r = toku_txn_commit(txn, flags, poll, poll_extra, holds_mo_lock, low_priority);
     return r;
 }
 
@@ -357,22 +357,22 @@ locked_txn_abort_with_progress(DB_TXN *txn,
     // see a non-readonly txn in the abort (or recursive commit).
     // But released here so we don't have to hold additional state.
     bool holds_mo_lock = false;
-    bool big_txn = false;
+    bool low_priority = false;
     TOKUTXN tokutxn = db_txn_struct_i(txn)->tokutxn;
     if (!toku_txn_is_read_only(tokutxn)) {
         // A readonly transaction does no logging, and therefore does not need the MO lock.
         holds_mo_lock = true;
         if (toku_txn_has_spilled_rollback(tokutxn)) {
-            big_txn = true;
-            toku_big_multi_operation_client_lock();
+            low_priority = true;
+            toku_low_priority_multi_operation_client_lock();
         } else {
             toku_multi_operation_client_lock();
         }
     }
     int r = toku_txn_abort(txn, poll, poll_extra);
     if (holds_mo_lock) {
-        if (big_txn) {
-            toku_big_multi_operation_client_unlock();
+        if (low_priority) {
+            toku_low_priority_multi_operation_client_unlock();
         } else {
             toku_multi_operation_client_unlock();
         }
-- 
2.30.9