Changeset: cf83fb1d7cc2 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cf83fb1d7cc2
Modified Files:
gdk/gdk_logger.c
sql/storage/bat/bat_logger.c
sql/storage/store.c
Branch: transaction-replication
Log Message:
Fix issue with overwriting the shared logger directory in logger_reload
Use bat_logger_shared id and not bat_logger id to calculate the drift
While there add a few debug outputs
diffs (59 lines):
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -1493,6 +1493,9 @@ logger_new(int debug, char *fn, char *lo
GDKfree(lg);
return NULL;
}
+ if (lg->debug & 1) {
+ fprintf(stderr, "#logger_new dir=%s\n", lg->dir);
+ }
lg->prefuncp = prefuncp;
lg->postfuncp = postfuncp;
lg->log = NULL;
@@ -1517,9 +1520,9 @@ logger_reload(logger *lg)
{
char filename[BUFSIZ];
- logger_set_logdir_path(filename, lg->fn, lg->dir);
+ snprintf(filename, BUFSIZ, "%s", lg->dir);
if (lg->debug & 1) {
- fprintf(stderr, "#logger_reload %s\n", filename);
+ fprintf(stderr, "#logger_reload %s\n", filename);
}
return logger_load(lg->debug, lg->fn, filename, lg);
@@ -1719,7 +1722,7 @@ logger_read_last_transaction_id(logger *
goto error;
}
if (lg->debug & 1) {
- fprintf(stderr, "#logger_read_last_transaction_id opening file
%s\n", filename);
+ fprintf(stderr, "#logger_read_last_transaction_id reading file
%s\n", filename);
}
if (check_version(lg, fp)) {
fprintf(stderr, "!ERROR: logger_read_last_transaction_id:
inconsistent log version for file %s\n", filename);
diff --git a/sql/storage/bat/bat_logger.c b/sql/storage/bat/bat_logger.c
--- a/sql/storage/bat/bat_logger.c
+++ b/sql/storage/bat/bat_logger.c
@@ -348,7 +348,7 @@ bl_changes_shared(void)
{
int res = logger_read_last_transaction_id(bat_logger_shared);
if (res != LOG_ERR) {
- return (int) (MIN(res, GDK_int_max) - MIN(bat_logger->id,
GDK_int_max));
+ return (int) (MIN(res, GDK_int_max) -
MIN(bat_logger_shared->id, GDK_int_max));
}
return res;
}
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -1611,6 +1611,9 @@ store_manager(void)
if (shared_transactions_drift == LOG_ERR) {
GDKfatal("shared write-ahead log loading
failure");
}
+#ifdef STORE_DEBUG
+ fprintf(stderr, "#store_manager shared_transactions_drift=%d\n",
shared_transactions_drift);
+#endif
}
MT_lock_set(&bs_lock, "store_manager");
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list