Skip to content
Snippets Groups Projects
Commit a2f80d88 authored by Oleg Smirnov's avatar Oleg Smirnov
Browse files

%[ER: 16]%

Small changes and bugfixes
parent d14a44cd
No related branches found
No related tags found
No related merge requests found
MEQ in general:
* reconsider order or events in execute(): should cache be checked
only after node_state and rider have been processed? Note that for
repeated requests, this step is skipped, regardless.
* Specify child labels in node constructor; check them in init().
- Specify child labels in node constructor; check them in init().
Process named children properly.
01/01/04: done, need to test w/glish (glish not working on my laptop)
* Delete.All.Nodes command
- Persistent nodes: Save.Forest, Load.Forest, Clear.Cache commands
01/01/04: done, need to test w/glish (glish not working on my laptop)
* Persistent nodes
- Clear.Forest command
04/01/04: done, need to test w/glish (glish not working on my laptop)
* Implement request ID hierarchy
* reconsider order or events in execute(): should cache be checked
only after node_state and rider have been processed? Note that for
repeated requests, this step is skipped, regardless.
* Keep thinking about COWs.
* Implement request ID hierarchy
+ Document the two types of node_state lookups
+ Document pollChildren()
......@@ -39,33 +40,27 @@ MEQ in general:
implement simple copy-on-write as the default policy in DMI?
27/11/03: good to go for now. Still thinking about COW.
Result:
* Check for USE_THREADS when playing with mutexes (or improve the definition
of mutexes for when not using threads)
Spigot:
* Allow string specification for correlations
* In deliver, just stick the result in the cache and let the caching code
take care of everything else.
+ Allow string specification for correlations
09/01/04: no need, now that Spigots output all correlations at once.
Parm:
* Figure out how to specify default values (with, e.g., an infinite domain)
Request:
* Figure out why state_test() (meqtest.g) causes Requests to be fail to
* BUG: Figure out why state_test() (meqtest.g) causes Requests to be fail to
unpack upon the first invocation. Possibly related to problem below.
See details in report 1 below.
* when Jan supplied an illegal request (wrong fields, unmatched IDs), the
* Buglet: when Jan supplied an illegal request (wrong fields, unmatched IDs), the
error message was not exactly descriptive
Vells:
* Vells(DataArray*) constructor: if rank<2 but nelements==1, reform the
......@@ -75,19 +70,27 @@ Function:
+ Allow cases where a Result has 1 plane and another has N planes: treat
the single-plane result as a scalar
12/12/03
12/12/03 done
General:
* MSOutputSink: output to new column doesn't work, column stays 'dummy'
* Keep thinking about COWs. Perhaps make hooks implicitl-COW? This would
mean declaring an operator [] on CountedRefs?
* Bug: MSOutputSink: output to new column doesn't work, column stays 'dummy'.
Ask Ger for help, since I'm obviously misusing tables somehow.
* Check how a zero-length string or hiid array from Glish shows up in
* Bug: Check how a zero-length string or hiid array from Glish shows up in
AppAgent -- because it looked like a 1-element DataField when
processing child specs.
* Ditto for zero-length arrays ('[]'), i.e., uninitialized domain, etc.
* Bug: Ditto for zero-length arrays ('[]'), i.e., uninitialized domain, etc.
* Check for USE_THREADS when playing with mutexes (or improve the definition
of mutexes when compiling without threads: declare constructors for
Mutex::Lock and all that crap)
* Figure out why the hell it freezes on a single-CPU machine sometimes. A
* Bug: Figure out why the hell it freezes on a single-CPU machine sometimes. A
race condition somewhere? NB: a sure way to do it (on zeppelin) seems to
enable wait_reply=T in the Resolve.Children calls in meqtest.g.
......
......@@ -38,6 +38,7 @@ BlockableObject * __construct_MeqSpigot (int n) { return n>0 ? new Meq::Spigot [
AtomicID::registerId(-1045,"message")+
AtomicID::registerId(-1164,"code")+
AtomicID::registerId(-1372,"execute")+
AtomicID::registerId(-1386,"addstate")+
AtomicID::registerId(-1126,"station")+
AtomicID::registerId(-1051,"index")+
AtomicID::registerId(-1280,"tile")+
......
......@@ -213,6 +213,11 @@ const int AidTile_int = -1280;
const AtomicID AidVisHandlerNode(-1329); // from /home/oms/LOFAR/CEP/CPA/AppAgent/MeqServer/src/VisHandlerNode.h:7
const int AidVisHandlerNode_int = -1329;
#endif
#ifndef _defined_id_Aidaddstate
#define _defined_id_Aidaddstate 1
const AtomicID Aidaddstate(-1386); // from /home/oms/LOFAR/CEP/CPA/AppAgent/MeqServer/src/MeqServer.h:14
const int Aidaddstate_int = -1386;
#endif
#endif
......@@ -11,6 +11,7 @@
#pragma aid Create Delete Get Set State Request Resolve Child Children List
#pragma aid App Command Args Result Data Processing Error Message Code
#pragma aid Execute
#pragma aid addstate
namespace Meq
{
......
# use_suspend := T;
use_suspend := T;
# use_nostart := T;
# use_valgrind := T;
# "--skin=helgrind --logfile=hg.meqserver";
......@@ -132,9 +132,9 @@ const state_test_init := function ()
}
}
# set verbose debugging messages
mqs.setdebug("MeqNode MeqForest MeqSink MeqSpigot",5);
mqs.setdebug("MeqNode MeqForest MeqSink MeqSpigot",5);
mqs.setdebug("MeqServ MeqVisHandler",5);
mqs.setdebug("MeqNode MeqForest MeqSink MeqSpigot",1);
mqs.setdebug("MeqNode MeqForest MeqSink MeqSpigot",1);
mqs.setdebug("MeqServ MeqVisHandler",1);
mqs.setdebug("Glish",5);
mqs.setdebug("meqserver",1);
# initialize meqserver
......@@ -241,10 +241,10 @@ const solver_test := function ()
mqs.init([output_col="PREDICT"],wait=T);
# create parms and condeq
defval1 := array([1.,2.,1.5,0.2,1.3,0.5],2,3);
defval2 := array([2.,10.,2.,10.,2.,10],2,3);
defval1 := array([3.,0.5,0.5,0.1],2,2);
defval2 := array([2.,10.,2.,10. ],2,2);
print mqs.meq('Create.Node',meqparm('parm1',defval1,config_groups='Solvable.Parm'));
print mqs.meq('Create.Node',meqparm('parm2',defval1,config_groups='Solvable.Parm'));
print mqs.meq('Create.Node',meqparm('parm2',defval2,config_groups='Solvable.Parm'));
print mqs.meq('Create.Node',meqnode('MeqCondeq','condeq1',children=[a='parm1',b='parm2']));
# create solver
global rec;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment