Wouter, please note that the bug you reported is (was) not specific to the minimal optimizer pipeline. Setting MonetDB environment variable sql_optimizer --- either in the monetdb5.conf file or on the mserver5 command line to any (correct and consistent) comma-seperated list of optimizers, rather than using the pipeline names predefined in monetdb5.conf did trigger the crash with the second mclient connection. Hence, a respective test would need to start mserver5 and set the sql_optimizer variable, either in a (local) monetdb5.conf file ("trick"), or on the mserver5 command line (e.g., start mserver5 "by hand" in a python script (preferred) or a shell-&-batch script pair), or by using a respective MAL command --- I could not fine any, that does this, though. I'll think about the details... Stefan ps: Indeed, running all ("some" means someone would have to make a "reasonable" choice --- I wouldn't know where to start nad stop choosing ...) SQL tests through multiple (predifined) optimizer pipe-lines or even all(?) possible/reasonable combinations of optimizers is currently(?) no option, as a night is simply to short for that ... On Fri, Apr 09, 2010 at 10:12:43AM +0200, Wouter Alink wrote:
Dear M5 developers,
Yesterday I reported a bug regarding the minimal optimizer pipe (ID: 2983773). And, as expected, I was asked to add a test for the issue, which I would like to do.
The bug is triggered as follows: - start an mserver5 instance with the optimizer pipe set to the minimal pipe: "inline,remap,deadcode,multiplex" - connect with an mclient - connect again with an mclient
This is obviously very easy to reproduce.
But, I couldn't find any other test that sets a different optimizer upon startup of the mserver. I found a few tests that change the optimizer within a SQL script, but this will very likely not trigger bug (ID: 2983773).
Then I was wondering; there are currently a few different optimizer pipelines defined in the monetdb5.conf. Isn't it a good idea to run at least a few (preferrably all) tests for each of those optimizer pipelines? I can imagine that testing all optimizer pipelines will take too much time for nightly testing, but running the testweb with different pipelines would probably trigger most obvious bugs that are currently found one-by-one. Bug #2983773 would most probably have been detected too.
Anyway, I would like to add a test, and I guess testing multiple optimizer pipelines won't be high on the priority list. Therefore, could somebody perhaps point out how I could specify in the 'prologue' which optimizer pipeline to use? I did find a python file "sql/src/test/Connections/Tests/connections.py" which perhaps could be used? What is the preferred way for adding a test with a different optimizer path?
Kind regards, Wouter
------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers
-- | Dr. Stefan Manegold | mailto:Stefan.Manegold@cwi.nl | | CWI, P.O.Box 94079 | http://www.cwi.nl/~manegold/ | | 1090 GB Amsterdam | Tel.: +31 (20) 592-4212 | | The Netherlands | Fax : +31 (20) 592-4199 |