Bug #5298
closed[SDKs] Should CollectionReader.all_streams() iterate lines in the manifest, or "logical" streams?
Description
A user just encountered an issue where their Crunch script had surprising behavior because an input manifest defined multiple files in the same stream with one file per line, like this:
. [locator] 0:3:foo . [locator] 0:6:bar …
Currently, CollectionReader.all_streams() iterates lines in the manifest. Using this method in a for loop, the user expected to find all of the files listed above in a single iteration. However, that's not the behavior all_streams() actually presented.
I believe our general expectation is that the SDK handles all the work of presenting manifests logically, so I think the method should be changed to iterate over "logical" streams rather than physical lines in the manifest. As long as the final list of files is correct, I believe this would be backward compatible: since writing the manifest on one or multiple lines is functionally indistinguishable, presenting it as such to the SDK client should be indistinguishable, too.
Updated by Tom Clegg almost 10 years ago
- use the new Collection API, or
- normalize() the collection before calling all_streams().
Updated by Peter Amstutz almost 10 years ago
Will update documentation with the existing behavior and note that the method is deprecated (#5449)
Updated by Peter Amstutz almost 10 years ago
- Target version changed from Bug Triage to 2015-04-01 sprint
Updated by Peter Amstutz over 9 years ago
- Target version changed from 2015-04-01 sprint to 2015-04-29 sprint
Updated by Tom Clegg over 9 years ago
- Target version deleted (
2015-04-29 sprint)
Updated by Peter Amstutz almost 5 years ago
- Status changed from Feedback to Closed