Changeset: fa142513c49c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fa142513c49c
Modified Files:
MonetDB/src/gdk/gdk_utils.mx
MonetDB4/tests/BugTracker/Tests/project_on_BAT_with_batFirst.SF-2020806.stable.out
MonetDB5/src/optimizer/opt_mitosis.mx
sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.err
sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.out
sql/src/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err
testing/src/Mtest.py.in
Branch: Oct2010
Log Message:
Add gdk_testing environment variable.
GDK_testing is used to switch code on/off that is meant to be used
during testing only (an example is splitting small tables in the
mitosis optimizer to test mitosis/mergetable). The value is set on
the command line using --set gdk_testing=true by Mtest.py.
With this change, small tables will not be split by mitosis (unless
gdk_testing is true) so that outside of testing, we don't get the
(sometimes enormous) overhead of split tables (the example that
triggered this went from 9.2 seconds to 46.827ms, almost a factor
200!).
diffs (113 lines):
diff -r 0a9b3f5f4180 -r fa142513c49c MonetDB/src/gdk/gdk_utils.mx
--- a/MonetDB/src/gdk/gdk_utils.mx Fri Oct 01 13:47:35 2010 +0200
+++ b/MonetDB/src/gdk/gdk_utils.mx Fri Oct 01 14:54:06 2010 +0200
@@ -1667,6 +1667,7 @@
GDKnr_threads = GDKgetenv_int("gdk_nr_threads", 0);
if (GDKnr_threads == 0)
GDKnr_threads = MT_check_nr_cores();
+ GDK_testing = GDKgetenv_istrue("gdk_testing");
#ifdef NATIVE_WIN32
if (GDKnr_threads)
GDK_mmap_minsize /= GDKnr_threads;
@@ -1692,10 +1693,16 @@
@h
gdk_export int GDKstopped;
gdk_export int GDKnr_threads;
+gdk_export int GDK_testing; /* used to switch on/off code for testing purposes
*/
@c
int GDKstopped = 1;
int GDKnr_threads = 0;
+/* GDK_testing is used to switch code on/off that is meant to be used
+ during testing only (an example is splitting small tables in the
+ mitosis optimizer to test mitosis/mergetable). The value is set on
+ the command line using --set gdk_testing=true by Mtest.py. */
+int GDK_testing = 0;
@h
gdk_export void GDKexit(int status);
diff -r 0a9b3f5f4180 -r fa142513c49c
MonetDB4/tests/BugTracker/Tests/project_on_BAT_with_batFirst.SF-2020806.stable.out
---
a/MonetDB4/tests/BugTracker/Tests/project_on_BAT_with_batFirst.SF-2020806.stable.out
Fri Oct 01 13:47:35 2010 +0200
+++
b/MonetDB4/tests/BugTracker/Tests/project_on_BAT_with_batFirst.SF-2020806.stable.out
Fri Oct 01 14:54:06 2010 +0200
@@ -41,6 +41,7 @@
[ "gdk_mem_maxsize ", 1 ]
[ "gdk_mem_pagebits", 1 ]
[ "gdk_nr_threads", 1 ]
+[ "gdk_testing", 1 ]
[ "gdk_version", 1 ]
[ "gdk_vmtrim", 1 ]
[ "host", 1 ]
diff -r 0a9b3f5f4180 -r fa142513c49c MonetDB5/src/optimizer/opt_mitosis.mx
--- a/MonetDB5/src/optimizer/opt_mitosis.mx Fri Oct 01 13:47:35 2010 +0200
+++ b/MonetDB5/src/optimizer/opt_mitosis.mx Fri Oct 01 14:54:06 2010 +0200
@@ -146,8 +146,8 @@
r= (BUN) (monet_memory /typewidth/GDKnr_threads); /* how much
fits */
if (rowcnt > r )
pieces = (int) (rowcnt /r+1);
- if (pieces < GDKnr_threads )
- pieces = GDKnr_threads;
+ if (GDK_testing && pieces < GDKnr_threads )
+ pieces = GDKnr_threads; /* split up anyway when
testing */
if (pieces > MAXSLICES)
pieces = MAXSLICES; /* cut off potential plan explosion
*/
diff -r 0a9b3f5f4180 -r fa142513c49c
sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.err
---
a/sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.err
Fri Oct 01 13:47:35 2010 +0200
+++
b/sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.err
Fri Oct 01 14:54:06 2010 +0200
@@ -68,9 +68,10 @@
# 22:29:10 > mclient -lsql -i -umonetdb -Pmonetdb --host=pegasus --port=30332
# 22:29:10 >
-MAPI = mone...@alf:32679
+MAPI = mone...@ottar:39527
QUERY = select * from env() as env where name = ( select 'prefix' from env()
as env );
-ERROR = !SQLException:zero_or_one:cardinality violation (51>1)
+ERROR = !SQLException:zero_or_one:cardinality violation (52>1)
+
# 13:22:15 >
# 13:22:15 > Done.
diff -r 0a9b3f5f4180 -r fa142513c49c
sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.out
---
a/sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.out
Fri Oct 01 13:47:35 2010 +0200
+++
b/sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.out
Fri Oct 01 14:54:06 2010 +0200
@@ -54,6 +54,7 @@
[ "standoff_end" ]
[ "config" ]
[ "gdk_nr_threads" ]
+[ "gdk_testing" ]
[ "xrpc_open" ]
[ "xrpc_port" ]
[ "mal_listing" ]
diff -r 0a9b3f5f4180 -r fa142513c49c
sql/src/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err
--- a/sql/src/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err
Fri Oct 01 13:47:35 2010 +0200
+++ b/sql/src/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err
Fri Oct 01 14:54:06 2010 +0200
@@ -80,10 +80,10 @@
# 21:00:43 > mclient -lsql -umonetdb -Pmonetdb --host=alf --port=38808
# 21:00:43 >
-MAPI = mone...@alf:32679
+MAPI = mone...@ottar:39527
QUERY = select * from env() as env where name = ( select 'prefix' from env()
as env );
-ERROR = !SQLException:zero_or_one:cardinality violation (51>1)
-MAPI = mone...@alf:32679
+ERROR = !SQLException:zero_or_one:cardinality violation (52>1)
+MAPI = mone...@ottar:39527
QUERY = select * from columns where name = (select columns.name from _tables,
columns where _tables.id = columns.table_id);
ERROR = !SQLException:zero_or_one:cardinality violation (288>1)
diff -r 0a9b3f5f4180 -r fa142513c49c testing/src/Mtest.py.in
--- a/testing/src/Mtest.py.in Fri Oct 01 13:47:35 2010 +0200
+++ b/testing/src/Mtest.py.in Fri Oct 01 14:54:06 2010 +0200
@@ -3481,10 +3481,10 @@
exe = {}
exe['Mtimeout'] = CheckExec('Mtimeout') , 'Mtimeout -timeout
%d ' % par['TIMEOUT']
if par['M5']:
- exe['Mserver'] = CheckExec('mserver5') , '%s mserver5
"--config=%s" --debug=%s --set gdk_nr_threads=%s %s %s %s --set mapi_open=true
--set xrpc_open=true --set mapi_port=%s --set xrpc_port=%s --set monet_prompt=
--set mal_listing=2 --trace %s' % \
+ exe['Mserver'] = CheckExec('mserver5') , '%s mserver5
"--config=%s" --debug=%s --set gdk_nr_threads=%s --set gdk_testing=true %s %s
%s --set mapi_open=true --set xrpc_open=true --set mapi_port=%s --set
xrpc_port=%s --set monet_prompt= --set mal_listing=2 --trace %s' % \
(env['setDBG'],
config, env['GDK_DEBUG'], env['GDK_NR_THREADS'], env['setMONETDB_MOD_PATH'],
env['setGDK_DBFARM'], env['setXRPC_DOCROOT'], env['MAPIPORT'], env['XRPCPORT'],
env['MSERVER_SET'])
if par['M4']:
- exe['Mserver'] = CheckExec('Mserver') , '%s Mserver
"--config=%s" --debug=%s --set gdk_nr_threads=%s %s %s %s --set mapi_open=true
--set xrpc_open=true --set mapi_port=%s --set xrpc_port=%s --set monet_prompt=
--trace %s' % \
+ exe['Mserver'] = CheckExec('Mserver') , '%s Mserver
"--config=%s" --debug=%s --set gdk_nr_threads=%s --set gdk_testing=true %s %s
%s --set mapi_open=true --set xrpc_open=true --set mapi_port=%s --set
xrpc_port=%s --set monet_prompt= --trace %s' % \
(env['setDBG'],
config, env['GDK_DEBUG'], env['GDK_NR_THREADS'], env['setMONETDB_MOD_PATH'],
env['setGDK_DBFARM'], env['setXRPC_DOCROOT'], env['MAPIPORT'], env['XRPCPORT'],
env['MSERVER_SET'])
exe['Mdiff'] = CheckExec('Mdiff') , 'Mdiff'
exe['python'] = CheckExec(sys.executable) , sys.executable
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list