Default ODB dump format being JSON breaks tools of existing experiments
Commits b325158 and ccaeeef introduced a new key /Logger/Channels/0/Settings/ODB dump format
which specifies what format the begin/end-of-run ODB dumps are in. However the default is set to "json" rather than "xml". On SuperCDMS (and presumably many other experiments) we have analysis tools that rely on the dump being in XML format. The midas team even provided the XmlOdb
class to help with this!
SuperCDMS has many test facilities that use midas. Yes, it's possible for us to tell everyone that they should change this key when they upgrade, but it would be so much better if the default was the same as it was before. There are cases where I agree that breaking backwards-compatibility is a necessary evil; I don't think this is one of them.
You're welcome to close this bug if you think the benefits of JSON-by-default outweigh the pain caused to existing experiments.
Comments (3)
-
-
I wrote up the change of the default from XML to ODB https://midas.triumf.ca/elog/Midas/1494 so this will not be a surprise for the next person. This is the best I can do, only JSON makes sense to me as the default setting going forward. JsonOdb class for rootana is still on the to-do list. K.O.
-
- changed status to resolved
change of default value written up in: https://midas.triumf.ca/elog/Midas/1494 K.O.
- Log in to comment
Confirmed. For ALPHA-g the difference between XML and JSON is 10 second vs 1 second wait for mlogger to start a run. The XML encoder is quite slower compared to the JSON encoder.
Ideally a change like this would be prominently mentioned in the release notes, if we had such a thing.
I wrote the XmlOdb code in ROOTANA years ago, but still not get around to write the same code for JsonOdb, (it is on my TO-DO list). Actually lack of JsonOdb is the main reason why I did not switch ODB dumps to JSON "years ago" (and people have been asking for that).
Now with ALPHA-g run start taking forvever because of the slowness of the XML encoder, I took the low road as a fix.
(One theoretically can speed up the XML encoder, but because the XML data format is much more verbose - the XML file size is almost double of the JSON file size - XML will always be slower than JSON.
K.O.