msr-consulting / exscalabar_server

Repository for the EXSCALABAR server.
http://www.msrconsults.com/ukmet-gh/exscalabar
0 stars 1 forks source link

No header written to mirror file #136

Closed lo-co closed 8 years ago

lo-co commented 8 years ago

There is no header in the mirror file. I suspect this has something to do with the flag that is used to indicate whether a header has been written.

lo-co commented 8 years ago

Write execution method is non-reentrant. Changing this will likely fix the problem.

lo-co commented 8 years ago

OK...making this reentrant did not do the trick.

JustinLangridge commented 8 years ago

Not getting what we're expecting with the mirrored file. For example, when we start a new file on c:/ a new mirror is not opened.

lo-co commented 8 years ago

This was not just an issue with the mirror file - we had a race condition that was preventing writing of the header to the second file that hit the stack. On top of this, we had files being opened in 2 places

I removed the file open method from the Change File Write Status message but am still not getting headers written now.

lo-co commented 8 years ago

Removed the wrapper in File Actor::Generate New File. Execution method was already Non-reentrant.

lo-co commented 8 years ago

OK...so I think that we are almost there. The Humidifier.Med and Humidifier.High data objects are not being sent back. We either need to send something to fill these variables or remove them from the data set.

In the latter case, we need to add a mechanic to remove it if the humidifier is not available.

File writing is currently not working!!!

JustinLangridge commented 8 years ago

Message from Michael:

What is meant by 'we need to add a mechanic to remove it...'?

It's frustrating that we can't save now - could the software be 'rolled back' to a version that works as soon as possible? We are meant to be performing a whole load of testing and data collection this week - this would have been fine with yesterdays version of the software, which at least saved data. Today, the User Interface doesn't even seem to show any communication / data.

lo-co commented 8 years ago

This is a note to myself.

First, let me say that when you all make changes, it has side effects. Sometimes it is because the code is in a fragile state. So, it breaks and shows why it is fragile and that is good. The humidification is an example of this. It caused several problems because I have not explained well what is intended to happen.

In this case, the we have two IDs added to the pool of objects that are sending data - Humidifier.med and Humidifier.high. If NO data is sent back, then the system is still waiting for that information so that it can write the header properly and you don't get that odd looking data file with the wrong number of headings.

None of this is a problem - you all need to be taking charge and we can learn and improve operations in the system.

Second, this is probably not the best place for comments like the above. These would be better addressed in email as they don't seem to pertain to this particular issue. That being said, I will go ahead and address these here:

It's frustrating that we can't save now - could the software be 'rolled back' to a version that works as soon as possible?

Maybe? It would be better and possibly quicker to address this right now as I spent about 4 or 5 hours looking at this yesterday and know what the problem is.

We are meant to be performing a whole load of testing and data collection this week - this would have been fine with yesterdays version of the software, which at least saved data.

I had no idea. Please communicate to me that the system should not be worked on if you are performing critical tests. In development, I don't always leave things in a functional state.

Today, the User Interface doesn't even seem to show any communication / data.

This is not what I observed.

lo-co commented 8 years ago

Looks like this works now.