Bump tower-java-sdk from 1.101.0 to 1.107.0#578
Conversation
swingingsimian
left a comment
There was a problem hiding this comment.
The run dump still fails for me:
➜ tower-cli git:(PLAT-3950/update-platform-sdk) ✗ ./build/native/nativeCompile/tw runs dump -i 5JRh1jMwey6oEG -w pipelines-playground/Versioning -o dump.tar.gz
- Tower info
- Workflow general information
- Workflow metadata
- Workflow load data
- Workflow launch
- Workflow metrics
- Task details
ERROR: Error reading entity from input stream.
Does it work when running through the JAR? Or only natively? Worth noting that the "local platform", usually used locally for testing, is not supported in the CLI either and also triggers that message. |
|
It works running through ./tw (JAR), rather than binary. I think a case where the trace-agent didn't pick up the execution path of the new mixin/deserializer. |
Exactly this. The reflection config was missing for those classes. I added them to the file, try again pls. |
swingingsimian
left a comment
There was a problem hiding this comment.
Dump now works as expected using binary:
./build/native/nativeCompile/tw runs dump -i 2hMNfONEbeIG9J -w pipelines-playground/pipelines -o dump.tar.gz
- Tower info
- Workflow general information
- Workflow metadata
- Workflow load data
- Workflow launch
- Workflow metrics
- Task details
- Workflow nextflow.log
Pipeline run '2hMNfONEbeIG9J' at [pipelines-playground / pipelines] workspace details dump at 'dump.tar.gz'
Description
Bump
tower-java-sdkfrom1.101.0to1.107.0and update the codebase to match the new SDK types.Affected commands
pipelines view— type change:Launch→LaunchDbDtopipelines export— type change:Launch→LaunchDbDtopipelines update— type change:Launch→LaunchDbDtolaunch— type change:Launch→LaunchDbDtoruns view— type change:Workflow→WorkflowMaxDbDtoruns dump— type changes:Launch→LaunchDbDto,Workflow→WorkflowMaxDbDtoruns relaunch— type change:Workflow→WorkflowMaxDbDtoModelHelper.createLaunchRequest()— parameter typeLaunch→LaunchDbDtoPipelinesViewresponse — field typeLaunch→LaunchDbDtoWorkaround for
Task.exitdeserialization (PLAT-4625)The Platform API returns the task exit code as a string (
"exit": "0") while the SDK model declares it asInteger. The SDK configures Jackson withALLOW_COERCION_OF_SCALARS=false, which rejects string-to-integer coercion. This was masked in previous CLI builds that bundled older Jackson versions with different coercion defaults.This PR adds a targeted Jackson mixin (
TaskExitMixin+LenientIntegerDeserializer) that applies lenient deserialization only to theTask.exitfield, without changing global behavior. The workaround is marked with FIXME comments linking to PLAT-4625 and should be removed once the Platform-side fix is deployed.Guidelines for testing
The main focus should be ensuring that passing
nullasversionIdto thedescribePipelineLaunchendpoint returns the default pipeline version, maintaining backward-compatible behavior. The backend treatsnullversionId by fetching the default version, so no functional change should be observed.1. Pipeline view
Verify the pipeline details (ID, name, description, repository, compute env, labels) and configuration are displayed correctly — same output as before the change.
Expected output
2. Pipeline export
Verify the exported JSON contains the correct launch configuration. Compare the output against an export produced with the previous CLI version to confirm no differences.
Expected output
{ "icon" : "https://cloud.seqera.io/api/avatars/42CjYsReft3lQDqlbtSk0j", "launch" : { "id" : "7ZHVhQD94mVhiiUj8lRnBa", "computeEnvId" : "1M7Np6pDIWIyJzEcKBHXVq", "pipeline" : "https://github.com/nextflow-io/hello", "workDir" : "s3://jaime-testing", "revision" : "master", "userSecrets" : [ ], "workspaceSecrets" : [ ], "resume" : false, "pullLatest" : false, "stubRun" : false, "optimizationId" : "fAdrnFUTzkQEdCWS", "optimizationTargets" : "cpus, memory", "dateCreated" : "2024-06-18T15:04:39Z" } }3. Pipeline update
Verify the pipeline is updated successfully and the description change is reflected when viewing the pipeline.
Expected output
4. Launch pipeline
Verify the pipeline launches successfully and the run appears in the workspace with the correct configuration.
Expected output
5. Runs view
Verify the run details (status, workflow info, progress, general info) are displayed correctly — same output as before the change.
Expected output
6. Runs dump
Extract the tar.gz and verify all expected files are present:
Expected archive contents
7. Runs relaunch
Verify the relaunch creates a new run with the same configuration as the original.
Expected output
8. Unit tests
Verify all existing tests pass, specifically
PipelinesCmdTestandRunsCmdTestwhich have been updated to use the new types.