Closed ambrussimon closed 6 years ago
Merging #1079 into master will decrease coverage by
0.05%
. The diff coverage is97.95%
.
@@ Coverage Diff @@
## master #1079 +/- ##
==========================================
- Coverage 90.96% 90.91% -0.06%
==========================================
Files 49 49
Lines 7041 7055 +14
==========================================
+ Hits 6405 6414 +9
- Misses 636 641 +5
This is a breaking change for scitran/client and scitran/python-client.
@lmperry mind taking a look at the changes described above and let us know if anything isn't how you would expect it?
LGTM other than the comment I mentioned above. Let's hold off on a merge until @lmperry gets a chance to take a look, though.
@nagem, thanks for pinging me on this. LGTM.
@ambrussimon and I talked about this offline but we'll also need a db update to bring existing analysis into the new format (separate input and output arrays).
@ambrussimon I made a small change to be kind to requests that don't specify the correct filegroup type when trying to download an individual file. Makes it less of a breaking change for the frontend client.
Overall this looks like a positive change, nice work @ambrussimon. Quick questions:
gears.py
still make sense?TargetedPlacer
to take multiple files, rather than splitting off a fixed version into TargetedMultiPlacer
?I don't see a database migration, so the DB format is staying the same, correct? If so, does the change to gears.py still make sense?
The DB migration was referenced in a comment above, it's currently under construction.
user
string on AdhocAnalysis
. Any chance that could just be a normal origin struct?@nagem solid, let's double-check that change after the upgrade. I'd be a fan of outputs on files
which wouldn't require any further change, but anything works :)
3
Nice catch, that should be set by core based on request origin, not specified by the user. I think that was old logic from the original legacy style that ended up sticking around.
4
Correct
2
Schema-wise that's non-reconcilable (cannot make endpoints accept {one}
OR [{more}, {files}]
), or at least not easily/I failed at it. I also imagine it's non-trivial to handle such a schema in the SDK. I'm already sort of pushing the limits of what can/should be handled in a single endpoint with analyses.
Instead, I'd suggest a breaking change in the future, where TargetedPlacer := TargetedMultiPlacer
, eg. we use a list of files even if length == 1
. Unless anyone's aware of clients or something heavily relying on that not breaking.
Upgrade looks good 👍
Resolves #1058
Breaking changes
Create analysis with job
Old - fails schema validation
New - no URL param, analysis payload contains job
Create analysis without job
Old - accepted as legacy method
New - JSON payload instead of file form, inputs only, inputs are filerefs
Get analysis
Old response - inputs and outputs under
files
, taggedNew response - inputs under
inputs
, noinput
/output
tagDownload analysis file(s)
Old response - for inputs and outputs
New response - for outputs only
Additive changes
Download analysis input(s) - works exactly like outputs (
/files
)Note that creating an inputs only download ticket via
/downloads
is NOT supported.Upload analysis outputs - only allowed when it's without a job
Review Checklist