-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some cubes have invalid History BLOBs #4337
Comments
@jessemapel What is the timeline for making this decision? |
I'm definitely not for solution 4. We can't get rid of existing history entries. I literally depend on history entries to help me understand how old data were processed when there are no notes or print.prt files associated with cubes. We must keep history entries. That only leaves options 2/3. I tend to use mode=brief the most because I usually just want executed commands, not all the other details. That being said, I'd take the long version of history over no history. I would vote for cathist to recognize old history so that it can at least supply that along with new history in the long version. I haven't used blobdump for much of anything and it's good to know we can dump history objects that way, but I would prefer we update cathist as opposed to having the user run a second program to get to image history (and somehow know they need to). Sorry I never made comments on the original RFC, but I didn't know it was there. I looked on astrodiscuss and didn't see mention of it there either. I must have missed an announcement. I'll say I don't understand all/most of it to comment, but I do wonder how polygon will be impacted and how the number of applications that depend on it. But this wondering is mostly due to simply not understanding the details. |
@jlaura We have to move forward with something in <1 week on this. We can come back and modify the functionality later though. For example we can get us to the current functionality under the BLOB work right now and then modify cathist to work with these things later. |
I agree with this, but I want to point out that this will only happen for Cubes where you currently cannot access the Histories via cathist. Cubes with invalid History on them continue to have entries added to them, but that data is currently inaccessible outside of blobdump. The vast majority of cubes will be unaffected by this. |
Thanks for clarifying @jessemapel. I may have run into this problem on a handful of occasions and I guess I just moved on because it didn't seem like there was anything I could do about it. Looking back at the links you supplied to old posts having history entry problems was useful and it's clear only certain types of applications may create an issue. |
With the BLOB work, we preserved the existing functionality. We should still update cathist to handle cubes with these problems on them. Potentially we can just output the history as a string when we encounter this. Attempting to correct the bad keywords in the history PVL could require significant work as we'd have to check for a huge list of problems. |
Thank you for your contribution! Unfortunately, this issue hasn't received much attention lately, so it is labeled as 'stale.' If no additional action is taken, this issue will be automatically closed in 180 days. |
ISIS version(s) affected: Tested under 4.4.0 & dev @ a2154a0 but this has more to do with what the cube you are using was processed with.
Description
Some of the history entries generates by various applications had/have issues where they are not PVL compliant and thus cannot be converted into a PVL object. This currently occurs when running cathist on these cubes because until this point, previous History data is kept as a Char * and not converted to a PVL object. Under the new BLOB refactor (#4082), the History class will now always convert all of its data to PVL. This is causing us to run into this problem much earlier, whenever we attempt to add a new History entry.
How to reproduce
Run cathist on a Cube with this error. An example can be found in the pca test data
Here is what the History blob looks like when dumped via blobdump
Possible Solution
Here are some possible solutions We have discussed:
mode=brief
.The BLOB refactor team is leaning towards solution 3 because it preserves the old History and does not require additional effort from users. Solution 2 is a viable alternative because it is explicit, but it is unclear how prevalent this issue is and could require users to perform an additional step to do any processing of their data.
Additional context
See #1095 and #1535 for some previous work on this. That work addressed specific issues where individual applications were writing bad History entries, but did not address what to do with Cubes that already have the bad History attached to them.
The text was updated successfully, but these errors were encountered: