POETSII / Orchestrator

The Orchestrator is the configuration and run-time management system for POETS platforms.
1 stars 1 forks source link

Graph that fails to load is still registered #188

Closed m8pple closed 3 years ago

m8pple commented 3 years ago

If a graph fails to load (e.g. due to syntax error), then the graph type name is still locked. This means that if you try to fix the syntax error and then reload, it can't be loaded:

POETS>task /load = "amg_poisson_8_8_v4.xml"
QString::arg: Argument missing: Error: unexpected text in XML definition: %s, float residualTol;

POETS> 14:00:40.32:  23(I) task /load = "amg_poisson_8_8_v4.xml"
POETS>task /load = "amg_poisson_8_8_v4.xml"
QString::arg: Argument missing: Error: unexpected text in XML definition: %s,
float residualTol;

POETS> 14:08:40.18:  23(I) task /load = "amg_poisson_8_8_v4.xml"
POETS> 14:08:40.18: 809(W) Tasks from specification /mnt/e/dt10_all/POETS/poets_improvement_proposals/proposed/PIP-0020/xml/ic/apps/amg_poisson_8_8_v4.xml already loaded - command ignored
POETS> 14:08:40.18:  45(W) Graph type amg already exists in the database - clause ignored

Listing the tasks doesn't show the graph (I think because a task is like a graph instance?):

POETS>task /show

Orchestrator has 0 tasks loaded:

    |Task       |Supervisor |Linked   |Devices  |Channels |Declare    |PoL? |PoL type   |Parameters
    +-----------+-----------+---------+---------+---------+-----------+-----+-----------+------------+----....
    +-----------+-----------+---------+---------+---------+-----------+-----+-----------+------------+----....
Default display filepath ||/mnt/e/dt10_all/POETS/poets_improvement_proposals/proposed/PIP-0020/xml/ic/apps/||

POETS> 14:09:10.04:  23(I) task /show

Based on the documented commands in I tried to unload, but didn't manage to find the right approach:

POETS>unload /app "amg"
                      ^^^
Command line syntax error - line ignored
POETS>unload /app
POETS> 14:21:12.10:  23(I) unload /app
POETS> 14:21:12.10:  24(W) Command line ||unload /app|| unintelligible
POETS>task /load = "amg_poisson_8_8_v4.xml"
QString::arg: Argument missing: Error: unexpected text in XML definition: %s,
float residualTol;

POETS> 14:21:20.43:  23(I) task /load = "amg_poisson_8_8_v4.xml"
POETS> 14:21:20.43: 809(W) Tasks from specification /mnt/e/dt10_all/POETS/poets_improvement_proposals/proposed/PIP-0020/xml/ic/apps/amg_poisson_8_8_v4.xml already loaded - command ignored
POETS> 14:21:20.43:  45(W) Graph type amg already exists in the database - clause ignored
POETS>untypelink /app
POETS> 14:21:58.29:  23(I) untypelink /app
POETS> 14:21:58.29:  24(W) Command line ||untypelink /app|| unintelligible
POETS>unload /app "amg_poisson_8x8"
                                  ^^^
Command line syntax error - line ignored
POETS>

I'm not sure what the intended behaviour is, but as a user I assumed that if the graph failed to load it would not be registered, or that I would be able to over-write it, or be able to see it in the set of graphs.

m8pple commented 3 years ago

(The actual problem was that I gave it v4 xml, so the syntax error is just because of that. I didn't realise it still wanted v3-ish xml)

m8pple commented 3 years ago

Put another way, I guess the question is "How do I re-load (or un-load) the graph-type without restarting the orchestrator?"

mvousden commented 3 years ago

Can you please specify the Orchestrator version you were running this on? I have been unable to reproduce this on 1.0.0-alpha with a broken XML of my own making.

m8pple commented 3 years ago

Ah, sorry : missed the revision off this one.

Pretty sure it was some version of development, as it's the old command syntax, and it's a problem with it not being able to parse v4 syntax. It's from when I was following the original instructions, before switching to 1.0.0-alpha.

Now 1.0.0-alpha is the default this doesn't really matter, so I'll close it.