[Monetdb-developers] strange Mtest + Mapi problem
Hi All, We are experiencing module problems during XQUERY Mapi execution with Mtest which we do not know how to solve. The problem is the Mserver does not know any command from the pftijah module which is already loaded en executing commands. Executing the same query through the mil interface of Mtest works correct. Execution through the MapiClient also works correct but execution through the Mapi interface with Mtest fails. DETAIL: Our XQUERY query containing pftijah functions is translated by 'milprint_summer'to a MIL script containing a call to run_tijah_query() which is in module(pftijah). This script is executed and the run_tijah_query() function is executed. This function in its turn generates a new MIL script where the first line is 'module(pftijah);'. When we execute this script this script does not kown any command from module(pftijah). It does however know functions from module(pathfinder). And this all happens in the Mtest/Mapi setting. In all other settings it works OK but here it fails! Anybody any ideas?? JanF
Jan, I did the following simple test: Shell 1 (server) ======== $ Mserver --dbinit='module(mapi); mil_start();' -------- # Monet Database Server V4.15.0 # Copyright (c) 1993-2007, CWI. All rights reserved. # Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs; dynamically linked. # Visit http://monetdb.cwi.nl/ for further information. MonetDB>loaded(); #---------------------------------# # module usage_count # name # str int # type #---------------------------------# [ "algebra", 1 ] [ "arith", 1 ] [ "bat", 1 ] [ "builtin", 1 ] [ "constant", 1 ] [ "main", 1 ] [ "mapi", 1 ] [ "str", 1 ] [ "streams", 1 ] [ "sys", 1 ] [ "trans", 1 ] MonetDB> ======== Shell 2 (client) ======== $ MapiClient -------- mil>module(pftijah); MAPI = monetdb@localhost:50000 QUERY = module(pftijah); ERROR = !ERROR: pathfinder module must be loaded in Mserver console first. mil> ======== and then Shell 1 (server) ======== $ Mserver --dbinit='module(pathfinder); mil_start();' -------- # Monet Database Server V4.15.0 # Copyright (c) 1993-2007, CWI. All rights reserved. # Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs; dynamically linked. # Visit http://monetdb.cwi.nl/ for further information. MonetDB>loaded(); #---------------------------------# # module usage_count # name # str int # type #---------------------------------# [ "aggrX3", 2 ] [ "alarm", 3 ] [ "algebra", 1 ] [ "arith", 1 ] [ "bat", 1 ] [ "bat_arith", 2 ] [ "builtin", 1 ] [ "constant", 1 ] [ "lock", 3 ] [ "logger", 3 ] [ "main", 1 ] [ "malalgebra", 3 ] [ "mapi", 1 ] [ "mmath", 2 ] [ "monettime", 3 ] [ "pathfinder", 1 ] [ "pcre", 2 ] [ "pf_support", 2 ] [ "str", 1 ] [ "streams", 3 ] [ "sys", 1 ] [ "trans", 1 ] [ "xtables", 2 ] MonetDB> ======== Shell 2 (client) ======== $ MapiClient -------- mil>module(pftijah); mil>sigs("pftijah"); #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------# # signature # name # str # type #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------# [ "_tj_throw2collection(BAT[oid,BAT], BAT[oid,BAT], str, str) : void" ] [ "_tj_throw2collection_index(BAT[oid,BAT], str) : void" ] [ "indexfetchjoin(BAT[any,oid], BAT[void,oid], BAT[void,oid]) : BAT[void,oid]" ] [ "mergeindex(BAT[oid,oid], BAT[void,oid], BAT[void,oid], int) : BAT[void,BAT]" ] [ "mergeindex_old(BAT[any,oid], BAT[void,oid], BAT[void,oid], BAT[void,oid]) : BAT[oid,oid]" ] [ "offsetindex(BAT[void,oid], int) : BAT[void,oid]" ] [ "pf2tijah_node(BAT[void,str], BAT[void,int], BAT[oid,oid], BAT[void,oid], BAT[void,int], BAT[void,str]) : BAT[void,oid]" ] [ "run_tijah_command(str) : bit" ] [ "run_tijah_query(BAT[str,str], BAT[void,oid], str) : BAT[oid,dbl]" ] [ "score_NLLR(BAT[oid,oid], BAT[void,int], BAT[oid,int], BAT[oid,int], BAT[oid,any], dbl, int) : BAT[oid,dbl]" ] [ "serialize_tijah_opt(BAT[void,BAT], int, BAT[void,oid], BAT[void,oid], BAT[void,oid], BAT[void,int], BAT[void,lng], BAT[void,dbl], BAT[void,str]) : BAT[str,str]" ] [ "tijah_tokenize(str) : str" ] [ "tj_add2collection(str, BAT[str,str], bit) : void" ] [ "tj_add2collection(str, str, str, bit) : void" ] [ "tj_create_termdb(int, oid) : void" ] [ "tj_delete_collection(str) : void" ] [ "tj_delete_global() : void" ] [ "tj_dispose_termdb() : void" ] [ "tj_finalize_collection(str) : void" ] [ "tj_init_collection(str, BAT[str,str]) : void" ] [ "tj_init_global(BAT[str,str]) : void" ] [ "tj_normalizeTerm(str, str) : str" ] [ "treemergejoin_sort(BAT[void,oid], BAT[void,int], BAT[void,oid]) : BAT[oid,oid]" ] mil> ======== does this help? otherwise (i.e., if you're running in/with Mtest) please send us all your test files for the failing test. Stefan On Thu, Jan 18, 2007 at 11:01:48AM +0100, Jan Flokstra wrote:
Hi All,
We are experiencing module problems during XQUERY Mapi execution with Mtest which we do not know how to solve. The problem is the Mserver does not know any command from the pftijah module which is already loaded en executing commands. Executing the same query through the mil interface of Mtest works correct. Execution through the MapiClient also works correct but execution through the Mapi interface with Mtest fails.
DETAIL: Our XQUERY query containing pftijah functions is translated by 'milprint_summer'to a MIL script containing a call to run_tijah_query() which is in module(pftijah). This script is executed and the run_tijah_query() function is executed. This function in its turn generates a new MIL script where the first line is 'module(pftijah);'. When we execute this script this script does not kown any command from module(pftijah). It does however know functions from module(pathfinder). And this all happens in the Mtest/Mapi setting. In all other settings it works OK but here it fails!
Anybody any ideas??
JanF
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ 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-4312 |
Stefan, Thanx for the help. I ran loaded() and sigs() in the failed state and noticed the module was loaded but some functions were missing from the sigs() list. When I added help through ADDHELP() they were listed in sigs() and could also be executed. Without the ADDHELP the functions cannot be executed in the failed state. BUT now things get even weirder: the function tj_setCollName() accesses a module variable collName and when it runs with the help of ADDHELP in the failed state it does not know the collName module variable. Does this ring a bell??? JanF. On Thursday 18 January 2007 11:31, Stefan Manegold wrote:
Jan,
I did the following simple test:
Shell 1 (server) ======== $ Mserver --dbinit='module(mapi); mil_start();' -------- # Monet Database Server V4.15.0 # Copyright (c) 1993-2007, CWI. All rights reserved. # Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs; dynamically linked. # Visit http://monetdb.cwi.nl/ for further information. MonetDB>loaded(); #---------------------------------# # module usage_count # name # str int # type #---------------------------------# [ "algebra", 1 ] [ "arith", 1 ] [ "bat", 1 ] [ "builtin", 1 ] [ "constant", 1 ] [ "main", 1 ] [ "mapi", 1 ] [ "str", 1 ] [ "streams", 1 ] [ "sys", 1 ] [ "trans", 1 ] MonetDB> ========
Shell 2 (client) ======== $ MapiClient -------- mil>module(pftijah); MAPI = monetdb@localhost:50000 QUERY = module(pftijah); ERROR = !ERROR: pathfinder module must be loaded in Mserver console first. mil> ========
and then
Shell 1 (server) ======== $ Mserver --dbinit='module(pathfinder); mil_start();' -------- # Monet Database Server V4.15.0 # Copyright (c) 1993-2007, CWI. All rights reserved. # Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs; dynamically linked. # Visit http://monetdb.cwi.nl/ for further information. MonetDB>loaded(); #---------------------------------# # module usage_count # name # str int # type #---------------------------------# [ "aggrX3", 2 ] [ "alarm", 3 ] [ "algebra", 1 ] [ "arith", 1 ] [ "bat", 1 ] [ "bat_arith", 2 ] [ "builtin", 1 ] [ "constant", 1 ] [ "lock", 3 ] [ "logger", 3 ] [ "main", 1 ] [ "malalgebra", 3 ] [ "mapi", 1 ] [ "mmath", 2 ] [ "monettime", 3 ] [ "pathfinder", 1 ] [ "pcre", 2 ] [ "pf_support", 2 ] [ "str", 1 ] [ "streams", 3 ] [ "sys", 1 ] [ "trans", 1 ] [ "xtables", 2 ] MonetDB> ========
Shell 2 (client) ======== $ MapiClient -------- mil>module(pftijah); mil>sigs("pftijah"); #-------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------# # signature
# name # str
# type #-------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------# [ "_tj_throw2collection(BAT[oid,BAT], BAT[oid,BAT], str, str) : void" ] [ "_tj_throw2collection_index(BAT[oid,BAT], str) : void"
] [ "indexfetchjoin(BAT[any,oid], BAT[void,oid], BAT[void,oid]) : BAT[void,oid]" ] [ "mergeindex(BAT[oid,oid], BAT[void,oid], BAT[void,oid], int) : BAT[void,BAT]" ] [ "mergeindex_old(BAT[any,oid], BAT[void,oid], BAT[void,oid], BAT[void,oid]) : BAT[oid,oid]" ] [ "offsetindex(BAT[void,oid], int) : BAT[void,oid]"
] [ "pf2tijah_node(BAT[void,str], BAT[void,int], BAT[oid,oid], BAT[void,oid], BAT[void,int], BAT[void,str]) : BAT[void,oid]" ] [ "run_tijah_command(str) : bit" ] [ "run_tijah_query(BAT[str,str], BAT[void,oid], str) : BAT[oid,dbl]"
] [ "score_NLLR(BAT[oid,oid], BAT[void,int], BAT[oid,int], BAT[oid,int], BAT[oid,any], dbl, int) : BAT[oid,dbl]" ] [ "serialize_tijah_opt(BAT[void,BAT], int, BAT[void,oid], BAT[void,oid], BAT[void,oid], BAT[void,int], BAT[void,lng], BAT[void,dbl], BAT[void,str]) : BAT[str,str]" ] [ "tijah_tokenize(str) : str"
] [ "tj_add2collection(str, BAT[str,str], bit) : void" ] [ "tj_add2collection(str, str, str, bit) : void"
] [ "tj_create_termdb(int, oid) : void"
] [ "tj_delete_collection(str) : void"
] [ "tj_delete_global() : void"
] [ "tj_dispose_termdb() : void"
] [ "tj_finalize_collection(str) : void" ] [ "tj_init_collection(str, BAT[str,str]) : void"
] [ "tj_init_global(BAT[str,str]) : void"
] [ "tj_normalizeTerm(str, str) : str"
] [ "treemergejoin_sort(BAT[void,oid], BAT[void,int], BAT[void,oid]) : BAT[oid,oid]" ] mil> ========
does this help?
otherwise (i.e., if you're running in/with Mtest) please send us all your test files for the failing test.
Stefan
On Thu, Jan 18, 2007 at 11:01:48AM +0100, Jan Flokstra wrote:
Hi All,
We are experiencing module problems during XQUERY Mapi execution with Mtest which we do not know how to solve. The problem is the Mserver does not know any command from the pftijah module which is already loaded en executing commands. Executing the same query through the mil interface of Mtest works correct. Execution through the MapiClient also works correct but execution through the Mapi interface with Mtest fails.
DETAIL: Our XQUERY query containing pftijah functions is translated by 'milprint_summer'to a MIL script containing a call to run_tijah_query() which is in module(pftijah). This script is executed and the run_tijah_query() function is executed. This function in its turn generates a new MIL script where the first line is 'module(pftijah);'. When we execute this script this script does not kown any command from module(pftijah). It does however know functions from module(pathfinder). And this all happens in the Mtest/Mapi setting. In all other settings it works OK but here it fails!
Anybody any ideas??
JanF
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers
On Thu, Jan 18, 2007 at 12:04:17PM +0100, Jan Flokstra wrote:
Stefan,
Thanx for the help. I ran loaded() and sigs() in the failed state and noticed the module was loaded but some functions were missing from the sigs() list. When I added help through ADDHELP() they were listed in sigs() and could also be executed. Without the ADDHELP the functions cannot be executed in the failed state. BUT now things get even weirder: the function tj_setCollName() accesses a module variable collName and when it runs with the help of ADDHELP in the failed state it does not know the collName module variable. Does this ring a bell???
nope. sorry. does it work in case you load module pftijah on the server before starting the client listener (instead of loading module pftijah only in the client session)? Stefan
JanF.
On Thursday 18 January 2007 11:31, Stefan Manegold wrote:
Jan,
I did the following simple test:
Shell 1 (server) ======== $ Mserver --dbinit='module(mapi); mil_start();' -------- # Monet Database Server V4.15.0 # Copyright (c) 1993-2007, CWI. All rights reserved. # Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs; dynamically linked. # Visit http://monetdb.cwi.nl/ for further information. MonetDB>loaded(); #---------------------------------# # module usage_count # name # str int # type #---------------------------------# [ "algebra", 1 ] [ "arith", 1 ] [ "bat", 1 ] [ "builtin", 1 ] [ "constant", 1 ] [ "main", 1 ] [ "mapi", 1 ] [ "str", 1 ] [ "streams", 1 ] [ "sys", 1 ] [ "trans", 1 ] MonetDB> ========
Shell 2 (client) ======== $ MapiClient -------- mil>module(pftijah); MAPI = monetdb@localhost:50000 QUERY = module(pftijah); ERROR = !ERROR: pathfinder module must be loaded in Mserver console first. mil> ========
and then
Shell 1 (server) ======== $ Mserver --dbinit='module(pathfinder); mil_start();' -------- # Monet Database Server V4.15.0 # Copyright (c) 1993-2007, CWI. All rights reserved. # Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs; dynamically linked. # Visit http://monetdb.cwi.nl/ for further information. MonetDB>loaded(); #---------------------------------# # module usage_count # name # str int # type #---------------------------------# [ "aggrX3", 2 ] [ "alarm", 3 ] [ "algebra", 1 ] [ "arith", 1 ] [ "bat", 1 ] [ "bat_arith", 2 ] [ "builtin", 1 ] [ "constant", 1 ] [ "lock", 3 ] [ "logger", 3 ] [ "main", 1 ] [ "malalgebra", 3 ] [ "mapi", 1 ] [ "mmath", 2 ] [ "monettime", 3 ] [ "pathfinder", 1 ] [ "pcre", 2 ] [ "pf_support", 2 ] [ "str", 1 ] [ "streams", 3 ] [ "sys", 1 ] [ "trans", 1 ] [ "xtables", 2 ] MonetDB> ========
Shell 2 (client) ======== $ MapiClient -------- mil>module(pftijah); mil>sigs("pftijah"); #-------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------# # signature
# name # str
# type #-------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------# [ "_tj_throw2collection(BAT[oid,BAT], BAT[oid,BAT], str, str) : void" ] [ "_tj_throw2collection_index(BAT[oid,BAT], str) : void"
] [ "indexfetchjoin(BAT[any,oid], BAT[void,oid], BAT[void,oid]) : BAT[void,oid]" ] [ "mergeindex(BAT[oid,oid], BAT[void,oid], BAT[void,oid], int) : BAT[void,BAT]" ] [ "mergeindex_old(BAT[any,oid], BAT[void,oid], BAT[void,oid], BAT[void,oid]) : BAT[oid,oid]" ] [ "offsetindex(BAT[void,oid], int) : BAT[void,oid]"
] [ "pf2tijah_node(BAT[void,str], BAT[void,int], BAT[oid,oid], BAT[void,oid], BAT[void,int], BAT[void,str]) : BAT[void,oid]" ] [ "run_tijah_command(str) : bit" ] [ "run_tijah_query(BAT[str,str], BAT[void,oid], str) : BAT[oid,dbl]"
] [ "score_NLLR(BAT[oid,oid], BAT[void,int], BAT[oid,int], BAT[oid,int], BAT[oid,any], dbl, int) : BAT[oid,dbl]" ] [ "serialize_tijah_opt(BAT[void,BAT], int, BAT[void,oid], BAT[void,oid], BAT[void,oid], BAT[void,int], BAT[void,lng], BAT[void,dbl], BAT[void,str]) : BAT[str,str]" ] [ "tijah_tokenize(str) : str"
] [ "tj_add2collection(str, BAT[str,str], bit) : void" ] [ "tj_add2collection(str, str, str, bit) : void"
] [ "tj_create_termdb(int, oid) : void"
] [ "tj_delete_collection(str) : void"
] [ "tj_delete_global() : void"
] [ "tj_dispose_termdb() : void"
] [ "tj_finalize_collection(str) : void" ] [ "tj_init_collection(str, BAT[str,str]) : void"
] [ "tj_init_global(BAT[str,str]) : void"
] [ "tj_normalizeTerm(str, str) : str"
] [ "treemergejoin_sort(BAT[void,oid], BAT[void,int], BAT[void,oid]) : BAT[oid,oid]" ] mil> ========
does this help?
otherwise (i.e., if you're running in/with Mtest) please send us all your test files for the failing test.
Stefan
On Thu, Jan 18, 2007 at 11:01:48AM +0100, Jan Flokstra wrote:
Hi All,
We are experiencing module problems during XQUERY Mapi execution with Mtest which we do not know how to solve. The problem is the Mserver does not know any command from the pftijah module which is already loaded en executing commands. Executing the same query through the mil interface of Mtest works correct. Execution through the MapiClient also works correct but execution through the Mapi interface with Mtest fails.
DETAIL: Our XQUERY query containing pftijah functions is translated by 'milprint_summer'to a MIL script containing a call to run_tijah_query() which is in module(pftijah). This script is executed and the run_tijah_query() function is executed. This function in its turn generates a new MIL script where the first line is 'module(pftijah);'. When we execute this script this script does not kown any command from module(pftijah). It does however know functions from module(pathfinder). And this all happens in the Mtest/Mapi setting. In all other settings it works OK but here it fails!
Anybody any ideas??
JanF
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ 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-4312 |
On Thursday 18 January 2007 12:57, Stefan Manegold wrote:
On Thu, Jan 18, 2007 at 12:04:17PM +0100, Jan Flokstra wrote:
Stefan,
Thanx for the help. I ran loaded() and sigs() in the failed state and noticed the module was loaded but some functions were missing from the sigs() list. When I added help through ADDHELP() they were listed in sigs() and could also be executed. Without the ADDHELP the functions cannot be executed in the failed state. BUT now things get even weirder: the function tj_setCollName() accesses a module variable collName and when it runs with the help of ADDHELP in the failed state it does not know the collName module variable. Does this ring a bell???
nope. sorry.
does it work in case you load module pftijah on the server before starting the client listener (instead of loading module pftijah only in the client session)?
Hi Stefan, I modified the Mtest.py script (only because you asked:-) Line 2162: Srvr = '%s --dbinit="%s module(pathfinder);module(pftijah);" So now the Mtest Mserver starts up with pftijah loaded. Now it works fine! But I think it should also work in the other cases and we cannot always load pftijah if people did not compile it, Jan. [PS. how do I ADDHELP() to a module variable:-)]
Stefan
JanF.
On Thursday 18 January 2007 11:31, Stefan Manegold wrote:
Jan,
I did the following simple test:
Shell 1 (server) ======== $ Mserver --dbinit='module(mapi); mil_start();' -------- # Monet Database Server V4.15.0 # Copyright (c) 1993-2007, CWI. All rights reserved. # Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs; dynamically linked. # Visit http://monetdb.cwi.nl/ for further information. MonetDB>loaded(); #---------------------------------# # module usage_count # name # str int # type #---------------------------------# [ "algebra", 1 ] [ "arith", 1 ] [ "bat", 1 ] [ "builtin", 1 ] [ "constant", 1 ] [ "main", 1 ] [ "mapi", 1 ] [ "str", 1 ] [ "streams", 1 ] [ "sys", 1 ] [ "trans", 1 ] MonetDB> ========
Shell 2 (client) ======== $ MapiClient -------- mil>module(pftijah); MAPI = monetdb@localhost:50000 QUERY = module(pftijah); ERROR = !ERROR: pathfinder module must be loaded in Mserver console first. mil> ========
and then
Shell 1 (server) ======== $ Mserver --dbinit='module(pathfinder); mil_start();' -------- # Monet Database Server V4.15.0 # Copyright (c) 1993-2007, CWI. All rights reserved. # Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs; dynamically linked. # Visit http://monetdb.cwi.nl/ for further information. MonetDB>loaded(); #---------------------------------# # module usage_count # name # str int # type #---------------------------------# [ "aggrX3", 2 ] [ "alarm", 3 ] [ "algebra", 1 ] [ "arith", 1 ] [ "bat", 1 ] [ "bat_arith", 2 ] [ "builtin", 1 ] [ "constant", 1 ] [ "lock", 3 ] [ "logger", 3 ] [ "main", 1 ] [ "malalgebra", 3 ] [ "mapi", 1 ] [ "mmath", 2 ] [ "monettime", 3 ] [ "pathfinder", 1 ] [ "pcre", 2 ] [ "pf_support", 2 ] [ "str", 1 ] [ "streams", 3 ] [ "sys", 1 ] [ "trans", 1 ] [ "xtables", 2 ] MonetDB> ========
Shell 2 (client) ======== $ MapiClient -------- mil>module(pftijah); mil>sigs("pftijah"); #---------------------------------------------------------------------- ---- ----------------------------------------------------------------------- ----- -------------------# # signature
# name # str
# type #---------------------------------------------------------------------- ---- ----------------------------------------------------------------------- ----- -------------------# [ "_tj_throw2collection(BAT[oid,BAT], BAT[oid,BAT], str, str) : void" ] [ "_tj_throw2collection_index(BAT[oid,BAT], str) : void"
] [ "indexfetchjoin(BAT[any,oid], BAT[void,oid], BAT[void,oid]) : BAT[void,oid]" ] [ "mergeindex(BAT[oid,oid], BAT[void,oid], BAT[void,oid], int) : BAT[void,BAT]" ] [ "mergeindex_old(BAT[any,oid], BAT[void,oid], BAT[void,oid], BAT[void,oid]) : BAT[oid,oid]" ] [ "offsetindex(BAT[void,oid], int) : BAT[void,oid]"
] [ "pf2tijah_node(BAT[void,str], BAT[void,int], BAT[oid,oid], BAT[void,oid], BAT[void,int], BAT[void,str]) : BAT[void,oid]" ] [ "run_tijah_command(str)
: bit"
] [ "run_tijah_query(BAT[str,str], BAT[void,oid], str) : BAT[oid,dbl]"
] [ "score_NLLR(BAT[oid,oid], BAT[void,int], BAT[oid,int], BAT[oid,int], BAT[oid,any], dbl, int) : BAT[oid,dbl]" ] [ "serialize_tijah_opt(BAT[void,BAT], int, BAT[void,oid], BAT[void,oid], BAT[void,oid], BAT[void,int], BAT[void,lng], BAT[void,dbl], BAT[void,str])
: BAT[str,str]" ] [ "tijah_tokenize(str) : str"
] [ "tj_add2collection(str, BAT[str,str], bit) : void" ] [ "tj_add2collection(str, str, str, bit) : void"
] [ "tj_create_termdb(int, oid) : void"
] [ "tj_delete_collection(str) : void"
] [ "tj_delete_global() : void"
] [ "tj_dispose_termdb() : void"
] [ "tj_finalize_collection(str) : void" ] [ "tj_init_collection(str, BAT[str,str]) : void"
] [ "tj_init_global(BAT[str,str]) : void"
] [ "tj_normalizeTerm(str, str) : str"
] [ "treemergejoin_sort(BAT[void,oid], BAT[void,int], BAT[void,oid]) : BAT[oid,oid]" ] mil> ========
does this help?
otherwise (i.e., if you're running in/with Mtest) please send us all your test files for the failing test.
Stefan
On Thu, Jan 18, 2007 at 11:01:48AM +0100, Jan Flokstra wrote:
Hi All,
We are experiencing module problems during XQUERY Mapi execution with Mtest which we do not know how to solve. The problem is the Mserver does not know any command from the pftijah module which is already loaded en executing commands. Executing the same query through the mil interface of Mtest works correct. Execution through the MapiClient also works correct but execution through the Mapi interface with Mtest fails.
DETAIL: Our XQUERY query containing pftijah functions is translated by 'milprint_summer'to a MIL script containing a call to run_tijah_query() which is in module(pftijah). This script is executed and the run_tijah_query() function is executed. This function in its turn generates a new MIL script where the first line is 'module(pftijah);'. When we execute this script this script does not kown any command from module(pftijah). It does however know functions from module(pathfinder). And this all happens in the Mtest/Mapi setting. In all other settings it works OK but here it fails!
Anybody any ideas??
JanF
--------------------------------------------------------------------- ---- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DE VDEV _______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers
On Thu, Jan 18, 2007 at 01:33:45PM +0100, Jan Flokstra wrote:
On Thursday 18 January 2007 12:57, Stefan Manegold wrote:
On Thu, Jan 18, 2007 at 12:04:17PM +0100, Jan Flokstra wrote:
Stefan,
Thanx for the help. I ran loaded() and sigs() in the failed state and noticed the module was loaded but some functions were missing from the sigs() list. When I added help through ADDHELP() they were listed in sigs() and could also be executed. Without the ADDHELP the functions cannot be executed in the failed state. BUT now things get even weirder: the function tj_setCollName() accesses a module variable collName and when it runs with the help of ADDHELP in the failed state it does not know the collName module variable. Does this ring a bell???
nope. sorry.
does it work in case you load module pftijah on the server before starting the client listener (instead of loading module pftijah only in the client session)?
Hi Stefan,
I modified the Mtest.py script (only because you asked:-)
Line 2162: Srvr = '%s --dbinit="%s module(pathfinder);module(pftijah);"
So now the Mtest Mserver starts up with pftijah loaded. Now it works fine! But I think it should also work in the other cases and we cannot always load pftijah if people did not compile it,
Jan, I agree, that we should eventually investigate and solve the original problem. My suggestion to try to load pftijah on the server was mainly to find out, whether the problem would also occur in that case, or only in case pftijah is loaded in the client --- apparently, this attempt was successful, and we now know much more about the problem ;-) Since I don't have time to investigate and solve the original problem right now, please (1) file a proper bug report about it, and preferably add an acompanying test to CVS that triggers the bug --- basically the test that currently does not work for you. (2) you can use the ".dbinit" feature of Mtest.py to do basically your above change now in Mtest.py directly, but only for a single (or all) tests that require it --- i.e., add a second version of your test that does work by loading pjtijah in the server via a <TST>.dbinit with the following content: module(pathfinder);module(pftijah); (see MonetDB/src/testing/README for details; in particular ======== + for frontend tests, a MIL script to be used instead of the frontends dbinit script. (optional) (TST.dbinit) (^,) ======== Stefan -- | 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-4312 |
On Thu, Jan 18, 2007 at 12:04:17PM +0100, Jan Flokstra wrote:
Stefan,
Thanx for the help. I ran loaded() and sigs() in the failed state and noticed the module was loaded but some functions were missing from the sigs() list. When I added help through ADDHELP() they were listed in sigs() and could also be executed. Without the ADDHELP the functions cannot be executed in the failed state.
Hi Jan, Sometime ago, I had the same problem: an XRPC proc will not be loaded/recognized without an ADDHELP. The simplest and most effective solution was just to add the ADDHELP. I could quickly find the solution because my proc was gone just after I have removed an ADDHELP, although I was very surprised by the effect of removing a proc's ADDHELP. Stefan and I decided not to spend more time on this issue at that time. But now we have the second 'victim' of this problem, maybe we should take it more seriously? Would some MIL experts be able to have a look at this? Regards, Jennie
BUT now things get even weirder: the function tj_setCollName() accesses a module variable collName and when it runs with the help of ADDHELP in the failed state it does not know the collName module variable. Does this ring a bell???
JanF.
On Thursday 18 January 2007 11:31, Stefan Manegold wrote:
Jan,
I did the following simple test:
Shell 1 (server) ======== $ Mserver --dbinit='module(mapi); mil_start();' -------- # Monet Database Server V4.15.0 # Copyright (c) 1993-2007, CWI. All rights reserved. # Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs; dynamically linked. # Visit http://monetdb.cwi.nl/ for further information. MonetDB>loaded(); #---------------------------------# # module usage_count # name # str int # type #---------------------------------# [ "algebra", 1 ] [ "arith", 1 ] [ "bat", 1 ] [ "builtin", 1 ] [ "constant", 1 ] [ "main", 1 ] [ "mapi", 1 ] [ "str", 1 ] [ "streams", 1 ] [ "sys", 1 ] [ "trans", 1 ] MonetDB> ========
Shell 2 (client) ======== $ MapiClient -------- mil>module(pftijah); MAPI = monetdb@localhost:50000 QUERY = module(pftijah); ERROR = !ERROR: pathfinder module must be loaded in Mserver console first. mil> ========
and then
Shell 1 (server) ======== $ Mserver --dbinit='module(pathfinder); mil_start();' -------- # Monet Database Server V4.15.0 # Copyright (c) 1993-2007, CWI. All rights reserved. # Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs; dynamically linked. # Visit http://monetdb.cwi.nl/ for further information. MonetDB>loaded(); #---------------------------------# # module usage_count # name # str int # type #---------------------------------# [ "aggrX3", 2 ] [ "alarm", 3 ] [ "algebra", 1 ] [ "arith", 1 ] [ "bat", 1 ] [ "bat_arith", 2 ] [ "builtin", 1 ] [ "constant", 1 ] [ "lock", 3 ] [ "logger", 3 ] [ "main", 1 ] [ "malalgebra", 3 ] [ "mapi", 1 ] [ "mmath", 2 ] [ "monettime", 3 ] [ "pathfinder", 1 ] [ "pcre", 2 ] [ "pf_support", 2 ] [ "str", 1 ] [ "streams", 3 ] [ "sys", 1 ] [ "trans", 1 ] [ "xtables", 2 ] MonetDB> ========
Shell 2 (client) ======== $ MapiClient -------- mil>module(pftijah); mil>sigs("pftijah"); #-------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------# # signature
# name # str
# type #-------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------# [ "_tj_throw2collection(BAT[oid,BAT], BAT[oid,BAT], str, str) : void" ] [ "_tj_throw2collection_index(BAT[oid,BAT], str) : void"
] [ "indexfetchjoin(BAT[any,oid], BAT[void,oid], BAT[void,oid]) : BAT[void,oid]" ] [ "mergeindex(BAT[oid,oid], BAT[void,oid], BAT[void,oid], int) : BAT[void,BAT]" ] [ "mergeindex_old(BAT[any,oid], BAT[void,oid], BAT[void,oid], BAT[void,oid]) : BAT[oid,oid]" ] [ "offsetindex(BAT[void,oid], int) : BAT[void,oid]"
] [ "pf2tijah_node(BAT[void,str], BAT[void,int], BAT[oid,oid], BAT[void,oid], BAT[void,int], BAT[void,str]) : BAT[void,oid]" ] [ "run_tijah_command(str) : bit" ] [ "run_tijah_query(BAT[str,str], BAT[void,oid], str) : BAT[oid,dbl]"
] [ "score_NLLR(BAT[oid,oid], BAT[void,int], BAT[oid,int], BAT[oid,int], BAT[oid,any], dbl, int) : BAT[oid,dbl]" ] [ "serialize_tijah_opt(BAT[void,BAT], int, BAT[void,oid], BAT[void,oid], BAT[void,oid], BAT[void,int], BAT[void,lng], BAT[void,dbl], BAT[void,str]) : BAT[str,str]" ] [ "tijah_tokenize(str) : str"
] [ "tj_add2collection(str, BAT[str,str], bit) : void" ] [ "tj_add2collection(str, str, str, bit) : void"
] [ "tj_create_termdb(int, oid) : void"
] [ "tj_delete_collection(str) : void"
] [ "tj_delete_global() : void"
] [ "tj_dispose_termdb() : void"
] [ "tj_finalize_collection(str) : void" ] [ "tj_init_collection(str, BAT[str,str]) : void"
] [ "tj_init_global(BAT[str,str]) : void"
] [ "tj_normalizeTerm(str, str) : str"
] [ "treemergejoin_sort(BAT[void,oid], BAT[void,int], BAT[void,oid]) : BAT[oid,oid]" ] mil> ========
does this help?
otherwise (i.e., if you're running in/with Mtest) please send us all your test files for the failing test.
Stefan
On Thu, Jan 18, 2007 at 11:01:48AM +0100, Jan Flokstra wrote:
Hi All,
We are experiencing module problems during XQUERY Mapi execution with Mtest which we do not know how to solve. The problem is the Mserver does not know any command from the pftijah module which is already loaded en executing commands. Executing the same query through the mil interface of Mtest works correct. Execution through the MapiClient also works correct but execution through the Mapi interface with Mtest fails.
DETAIL: Our XQUERY query containing pftijah functions is translated by 'milprint_summer'to a MIL script containing a call to run_tijah_query() which is in module(pftijah). This script is executed and the run_tijah_query() function is executed. This function in its turn generates a new MIL script where the first line is 'module(pftijah);'. When we execute this script this script does not kown any command from module(pftijah). It does however know functions from module(pathfinder). And this all happens in the Mtest/Mapi setting. In all other settings it works OK but here it fails!
Anybody any ideas??
JanF
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers
participants (3)
-
Jan Flokstra
-
Stefan Manegold
-
Ying Zhang