Changeset: b542cfcd24b0 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/b542cfcd24b0
Modified Files:
gdk/gdk_logger.c
sql/storage/store.c
Branch: Jul2021
Log Message:
small cleanup
on debug 128 active logger when inactive
diffs (86 lines):
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -2654,7 +2654,6 @@ gdk_return
log_tend(logger *lg)
{
logformat l;
- gdk_return res = GDK_SUCCEED;
if (lg->debug & 1)
fprintf(stderr, "#log_tend %d\n", lg->tid);
@@ -2663,8 +2662,7 @@ log_tend(logger *lg)
l.id = lg->tid;
if (lg->flushnow) {
lg->flushnow = 0;
- gdk_return res = logger_commit(lg);
- return res;
+ return logger_commit(lg);
}
if (LOG_DISABLED(lg)) {
@@ -2672,8 +2670,7 @@ log_tend(logger *lg)
return GDK_SUCCEED;
}
- if (res != GDK_SUCCEED ||
- log_write_format(lg, &l) != GDK_SUCCEED ||
+ if (log_write_format(lg, &l) != GDK_SUCCEED ||
mnstr_flush(lg->output_log, MNSTR_FLUSH_DATA) ||
(!(GDKdebug & NOSYNCMASK) && mnstr_fsync(lg->output_log)) ||
new_logfile(lg) != GDK_SUCCEED) {
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -2079,6 +2079,16 @@ store_manager(sqlstore *store)
for (;;) {
int res;
+ if (store->debug&128 && ATOMIC_GET(&store->nr_active) == 0) {
+ store_lock(store);
+ if (ATOMIC_GET(&store->nr_active) == 0) {
+ ulng oldest = store_timestamp(store)+1;
+ store_pending_changes(store, oldest);
+ }
+ store_unlock(store);
+ store->logger_api.activate(store); /* rotate too new
log file */
+ }
+
if (GDKexiting())
break;
const int sleeptime = 100;
@@ -3415,12 +3425,7 @@ sql_trans_commit(sql_trans *tr)
if (!list_empty(tr->changes)) {
MT_lock_set(&store->commit);
- store_lock(store);
- ulng oldest = store_oldest(store);
- store_pending_changes(store, oldest);
- oldest = store_oldest_pending(store);
- store_unlock(store);
- ulng commit_ts = 0;
+ ulng commit_ts = 0, oldest = 0;
int flush = 0;
/* log changes should only be done if there is something to log
*/
if (!tr->parent && tr->logchanges > 0) {
@@ -3448,17 +3453,16 @@ sql_trans_commit(sql_trans *tr)
} else {
store_lock(store);
commit_ts = tr->parent ? tr->parent->tid :
store_timestamp(store);
- oldest = tr->parent ? commit_ts : oldest;
if (tr->parent)
tr->parent->logchanges += tr->logchanges;
}
+ oldest = tr->parent ? commit_ts : oldest;
tr->logchanges = 0;
TRC_DEBUG(SQL_STORE, "Forwarding changes (" ULLFMT ", " ULLFMT
") -> " ULLFMT "\n", tr->tid, tr->ts, commit_ts);
/* apply committed changes */
- if (ATOMIC_GET(&store->nr_active) == 1 && !tr->parent) {
+ if (ATOMIC_GET(&store->nr_active) == 1 && !tr->parent)
oldest = commit_ts;
- store_pending_changes(store, oldest);
- }
+ store_pending_changes(store, oldest);
for(node *n=tr->changes->h; n && ok == LOG_OK; n = n->next) {
sql_change *c = n->data;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list