Changeset: 47ce789c46c9 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=47ce789c46c9 Modified Files: monetdb5/modules/mal/wlc.c sql/backends/monet5/wlr.c sql/test/wlcr/Tests/wlr100.stable.err sql/test/wlcr/Tests/wlr35.stable.err sql/test/wlcr/Tests/wlr35.stable.out sql/test/wlcr/Tests/wlr70.stable.err sql/test/wlcr/Tests/wlr70.stable.out Branch: gdk_tracer Log Message:
Store and retrieve wlcr transactions using gmtime. diffs (176 lines): diff --git a/monetdb5/modules/mal/wlc.c b/monetdb5/modules/mal/wlc.c --- a/monetdb5/modules/mal/wlc.c +++ b/monetdb5/modules/mal/wlc.c @@ -530,9 +530,9 @@ WLCsettime(Client cntxt, InstrPtr pci, I throw(MAL, fcn, "Unable to retrieve current time"); clk = clock.tv_sec; #ifdef HAVE_LOCALTIME_R - (void) localtime_r(&clk, &ctm); + (void) gmtime_r(&clk, &ctm); #else - ctm = *localtime(&clk); + ctm = gmtime(&clk); #endif strftime(wlc_time, sizeof(wlc_time), "%Y-%m-%d %H:%M:%S.000",&ctm); if (pushStr(cntxt->wlc, p, wlc_time) == NULL) diff --git a/sql/backends/monet5/wlr.c b/sql/backends/monet5/wlr.c --- a/sql/backends/monet5/wlr.c +++ b/sql/backends/monet5/wlr.c @@ -99,7 +99,7 @@ WLRgetConfig(void){ if( strncmp("beat=", line, 5) == 0) wlr_beat = atoi(line+ 5); else - if( strncmp("time=", line, 5) == 0) + if( strncmp("read=", line, 5) == 0) strcpy(wlr_read, line + 5); else if( strncmp("error=", line, 6) == 0) { @@ -139,7 +139,7 @@ WLRputConfig(void){ mnstr_printf(fd,"tag="LLFMT"\n", wlr_tag); mnstr_printf(fd,"beat=%d\n", wlr_beat); if( wlr_timelimit[0]) - mnstr_printf(fd,"time=%s\n", wlr_read); + mnstr_printf(fd,"read=%s\n", wlr_read); if( wlr_error[0]) mnstr_printf(fd,"error=%s", wlr_error); close_stream(fd); @@ -498,8 +498,8 @@ WLRmaster(Client cntxt, MalBlkPtr mb, Ma str WLRreplicate(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) -{ str timelimit = wlr_timelimit; - //size_t size = sizeof(wlr_timelimit); +{ str timelimit = wlr_timelimit, slimit= 0; + size_t size = 0; lng limit = INT64_MAX; str msg; @@ -516,8 +516,9 @@ WLRreplicate(Client cntxt, MalBlkPtr mb, wlr_limit = INT64_MAX; else if( getArgType(mb, pci, 1) == TYPE_timestamp){ - /* CHECK */ - strftime(timelimit, sizeof(timelimit), "%Y-%m-%d %H:%M:%S.000", (void*) getArgReference(stk, pci, 1)); + timestamp_tostr(&slimit, &size, (timestamp*) getArgReference(stk, pci, 1), TRUE); + strncpy(wlr_timelimit, slimit, sizeof(wlr_timelimit)); + GDKfree(slimit); } else if( getArgType(mb, pci, 1) == TYPE_bte) limit = getVarConstant(mb,getArg(pci,1)).val.btval; @@ -533,8 +534,11 @@ WLRreplicate(Client cntxt, MalBlkPtr mb, if ( limit < 0 && timelimit[0] == 0) throw(MAL, "sql.replicate", "Stop tag limit should be positive or timestamp should be set"); - if( wlc_tag == 0) - throw(MAL, "sql.replicate", "Perhaps a missing wlr.master() call. "); + if( wlc_tag == 0) { + WLRgetMaster(); + if( wlc_tag == 0) + throw(MAL, "sql.replicate", "Perhaps a missing wlr.master() call. "); + } if (limit < INT64_MAX && limit >= wlc_tag) throw(MAL, "sql.replicate", "Stop tag limit "LLFMT" be less than wlc_tag "LLFMT, limit, wlc_tag); if ( limit >= 0) diff --git a/sql/test/wlcr/Tests/wlr100.stable.err b/sql/test/wlcr/Tests/wlr100.stable.err --- a/sql/test/wlcr/Tests/wlr100.stable.err +++ b/sql/test/wlcr/Tests/wlr100.stable.err @@ -17,13 +17,9 @@ stderr of test 'wlr100` in directory 'sq # builtin opt sql_debug = 0 # cmdline opt gdk_nr_threads = 0 # cmdline opt mapi_open = true -# cmdline opt mapi_port = 34573 -# cmdline opt mapi_usock = /var/tmp/mtest-22411/.s.monetdb.34573 -# cmdline opt gdk_dbpath = /export/scratch1/mk/branches/wlcr//Linux/var/MonetDB/mTests_sql_test_wlcrclone -#client1:!ERROR:SQLException:wlr.startreplicate:42000!Timeout to wait for replicator to catch up.Catched up until 8, 9223372036854775799 pending -MAPI = (monetdb) /var/tmp/mtest-22885/.s.monetdb.44647 -QUERY = call wlr.replicate(); -ERROR = !Perhaps a missing wlr.master() call. +# cmdline opt mapi_port = 50243 +# cmdline opt mapi_usock = /var/tmp/mtest-4492/.s.monetdb.50243 +# cmdline opt gdk_dbpath = /export/scratch1/mk/branches/tracer//Linux/var/MonetDB/mTests_sql_test_wlcrclone # 21:26:05 > # 21:26:05 > "Done." diff --git a/sql/test/wlcr/Tests/wlr35.stable.err b/sql/test/wlcr/Tests/wlr35.stable.err --- a/sql/test/wlcr/Tests/wlr35.stable.err +++ b/sql/test/wlcr/Tests/wlr35.stable.err @@ -18,9 +18,6 @@ stderr of test 'wlr35` in directory 'sql # cmdline opt mapi_port = 34591 # cmdline opt mapi_usock = /var/tmp/mtest-16185/.s.monetdb.34591 # cmdline opt gdk_dbpath = /export/scratch1/mk/branches/tracer//Linux/var/MonetDB/mTests_sql_test_wlcrclone -MAPI = (monetdb) /var/tmp/mtest-16185/.s.monetdb.34591 -QUERY = call wlr.replicate(9); -ERROR = !Perhaps a missing wlr.master() call. diff --git a/sql/test/wlcr/Tests/wlr35.stable.out b/sql/test/wlcr/Tests/wlr35.stable.out --- a/sql/test/wlcr/Tests/wlr35.stable.out +++ b/sql/test/wlcr/Tests/wlr35.stable.out @@ -22,9 +22,6 @@ stdout of test 'wlr35` in directory 'sql % i, s # name % int, clob # type % 1, 4 # length -[ 3, "blah" ] -[ 2, "blah" ] -[ 3, "blah" ] [ 4, "blah" ] [ 5, "blah" ] [ 6, "blah" ] diff --git a/sql/test/wlcr/Tests/wlr70.stable.err b/sql/test/wlcr/Tests/wlr70.stable.err --- a/sql/test/wlcr/Tests/wlr70.stable.err +++ b/sql/test/wlcr/Tests/wlr70.stable.err @@ -17,15 +17,9 @@ stderr of test 'wlr70` in directory 'sql # builtin opt sql_debug = 0 # cmdline opt gdk_nr_threads = 0 # cmdline opt mapi_open = true -# cmdline opt mapi_port = 32871 -# cmdline opt mapi_usock = /var/tmp/mtest-22885/.s.monetdb.32871 -# cmdline opt gdk_dbpath = /export/scratch1/mk/branches/wlcr//Linux/var/MonetDB/mTests_sql_test_wlcrclone -#time limit 2019-10-04 20:55:58.392 -#client1:!ERROR:SQLException:wlr.startreplicate:42000!Timeout to wait for replicator to catch up.Catched up until 8, 9223372036854775799 pending -MAPI = (monetdb) /var/tmp/mtest-22885/.s.monetdb.32871 -QUERY = call wlr.replicate(now()); -ERROR = !Timeout to wait for replicator to catch up.Catched up until 8, 9223372036854775799 pending -CODE = 42000 +# cmdline opt mapi_port = 33421 +# cmdline opt mapi_usock = /var/tmp/mtest-4492/.s.monetdb.33421 +# cmdline opt gdk_dbpath = /export/scratch1/mk/branches/tracer//Linux/var/MonetDB/mTests_sql_test_wlcrclone # 13:16:48 > # 13:16:48 > "Done." diff --git a/sql/test/wlcr/Tests/wlr70.stable.out b/sql/test/wlcr/Tests/wlr70.stable.out --- a/sql/test/wlcr/Tests/wlr70.stable.out +++ b/sql/test/wlcr/Tests/wlr70.stable.out @@ -17,23 +17,16 @@ stdout of test 'wlr70` in directory 'sql # Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-22068/.s.monetdb.52305 # MonetDB/GIS module loaded # MonetDB/SQL module loaded -#select * from tmp; -% sys.tmp, sys.tmp # table_name +#select * from tmp70; +% sys.tmp70, sys.tmp70 # table_name % i, s # name % int, clob # type -% 1, 4 # length -[ 3, "blah" ] -[ 2, "blah" ] -[ 3, "blah" ] -[ 4, "blah" ] -[ 5, "blah" ] -[ 6, "blah" ] -#LISTING OF THE LOG FILES -#/ufs/sjoerd/@Monet-testing/var/MonetDB/mTests_sql_test_wlcr/wlc.config -#logs=/ufs/sjoerd/@Monet-testing/var/MonetDB/mTests_sql_test_wlcr/wlc_logs/ -#tag=13 -#write=2019-10-07T10:19:41.000 -#state=1 +% 1, 5 # length +[ 1, "hello" ] +[ 2, "world" ] +#LISTING OF THE WLR LOG FILE +#/export/scratch1/mk/branches/tracer//Linux/var/MonetDB/mTests_sql_test_wlcrclone/wlr.config +#master=mTests_sql_test_wlcr #batches=13 #beat=0 # _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list