Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-73642

Update S3 publisher plugin to use AWS SDK for Java 2.x

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Minor Minor
    • s3-plugin
    • None

      Update the S3 publisher plugin to use the AWS SDK for Java 2.x as provided by the AWS SDK for Java 2.x API plugin as a replacement for its current dependency on AWS SDK for Java 1.x

      Confirm that the S3 publisher plugin works as expected with the new API.

          [JENKINS-73642] Update S3 publisher plugin to use AWS SDK for Java 2.x

          Basil Crow added a comment -

          While this plugin only has a single (and not very concerning) dependent, v2 of the SDK has diverged significantly from v1 and the automated migration tool only migrates about half of the usages. It will likely be a significant amount of work to migrate this repository. A new high level API was introduced in https://aws.amazon.com/blogs/developer/introducing-amazon-s3-transfer-manager-in-the-aws-sdk-for-java-2-x/ and has many significant differences from the v1 API. While the transfer of small blobs of JSON for e.g. credential validation or EC2 machine settings work just fine with synchronous mode, uploading/downloading large binary blobs with S3 could have performance implications, and the high level API mentioned above depends on the asynchronous CRT runtime, not (yet) packaged for Jenkins as described in https://issues.jenkins.io/browse/JENKINS-73639?focusedId=450912&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-450912

          Basil Crow added a comment - While this plugin only has a single (and not very concerning) dependent, v2 of the SDK has diverged significantly from v1 and the automated migration tool only migrates about half of the usages. It will likely be a significant amount of work to migrate this repository. A new high level API was introduced in https://aws.amazon.com/blogs/developer/introducing-amazon-s3-transfer-manager-in-the-aws-sdk-for-java-2-x/ and has many significant differences from the v1 API. While the transfer of small blobs of JSON for e.g. credential validation or EC2 machine settings work just fine with synchronous mode, uploading/downloading large binary blobs with S3 could have performance implications, and the high level API mentioned above depends on the asynchronous CRT runtime, not (yet) packaged for Jenkins as described in https://issues.jenkins.io/browse/JENKINS-73639?focusedId=450912&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-450912

          Basil Crow added a comment -

          the high level API mentioned above depends on the asynchronous CRT runtime, not (yet) packaged for Jenkins

          https://github.com/jenkinsci/aws-java-sdk2-plugin/pull/11 is a sketch of how to package this new runtime for Jenkins. I am still unsure about whether this new library is needed at all, but if it is needed, then the packaging needs some more thought as described in https://issues.jenkins.io/browse/JENKINS-73639?focusedId=450912&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-450912

          Basil Crow added a comment - the high level API mentioned above depends on the asynchronous CRT runtime, not (yet) packaged for Jenkins https://github.com/jenkinsci/aws-java-sdk2-plugin/pull/11 is a sketch of how to package this new runtime for Jenkins. I am still unsure about whether this new library is needed at all, but if it is needed, then the packaging needs some more thought as described in https://issues.jenkins.io/browse/JENKINS-73639?focusedId=450912&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-450912

            Unassigned Unassigned
            markewaite Mark Waite
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: