Skip to content
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

SSLException during upload file in the bucket in aws-sdk 2.2.1 #42

Closed
Gelassen opened this issue Jun 1, 2015 · 1 comment
Closed

SSLException during upload file in the bucket in aws-sdk 2.2.1 #42

Gelassen opened this issue Jun 1, 2015 · 1 comment
Labels
duplicate Duplicate

Comments

@Gelassen
Copy link

Gelassen commented Jun 1, 2015

I upload my file to aws service from android. I configured it like this:

`   AwsMetadata awsMetadata = resultData.getParcelable(Params.CommandMessage.EXTRA_MESSAGE);
    AWSCredentials awsCredentials = new BasicAWSCredentials(
            awsMetadata.getAccountId(),
            awsMetadata.getSecretKey()
    );
    // set up region
    TransferManager transferManager = new TransferManager(awsCredentials);
    Region region = Region.getRegion(Regions.fromName(awsMetadata.getRegionEndpoint()));
    transferManager.getAmazonS3Client().setRegion(region);


    final MediaItem mediaItem = datasource.get(0);
    Log.d(App.TAG, "File is exists: "
            + mediaItem.getContentUri() + " "
            + new File(mediaItem.getContentUri()).exists());

    // prepare file for upload
    PutObjectRequest putObjectRequest = new PutObjectRequest(
            awsMetadata.getBucketName(),
            awsMetadata.getSecretKey(),
            new File(mediaItem.getContentUri())
    );


    Log.d(App.TAG, "Total data: " + mediaItem.getSize());
    Upload upload = transferManager.upload(putObjectRequest, new S3ProgressListener() {

        private int totalTransfered = 0;

        @Override
        public void onPersistableTransfer(PersistableTransfer persistableTransfer) {
        }

        @Override
        public void progressChanged(ProgressEvent progressEvent) {

            Log.d(App.TAG, "Bytes are transferred: " + progressEvent.getBytesTransferred());
            totalTransfered += progressEvent.getBytesTransferred();
            long totalSize = mediaItem.getSize();
            Log.d(App.TAG, "Total transferred: " + ((totalTransfered / totalSize) * 100) + " percent");
        }
    });
}`

And got SSLException.

06-01 11:45:00.712 5182-5768/com.home I/AmazonHttpClient﹕ Unable to execute HTTP request: Write error: ssl=0xb4bb3600: I/O error during system call, Connection reset by peer javax.net.ssl.SSLException: Write error: ssl=0xb4bb3600: I/O error during system call, Connection reset by peer at com.android.org.conscrypt.NativeCrypto.SSL_write(Native Method) at com.android.org.conscrypt.OpenSSLSocketImpl$SSLOutputStream.write(OpenSSLSocketImpl.java:765) at com.android.okio.Okio$1.write(Okio.java:70) at com.android.okio.RealBufferedSink.emitCompleteSegments(RealBufferedSink.java:116) at com.android.okio.RealBufferedSink.write(RealBufferedSink.java:44) at com.android.okhttp.internal.http.HttpConnection$FixedLengthSink.write(HttpConnection.java:291) at com.android.okio.RealBufferedSink.emitCompleteSegments(RealBufferedSink.java:116) at com.android.okio.RealBufferedSink$1.write(RealBufferedSink.java:131) at com.amazonaws.http.UrlHttpClient.write(UrlHttpClient.java:155) at com.amazonaws.http.UrlHttpClient.createConnection(UrlHttpClient.java:143) at com.amazonaws.http.UrlHttpClient.execute(UrlHttpClient.java:60) at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:353) at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:196) at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4234) at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1644) at com.amazonaws.mobileconnectors.s3.transfermanager.internal.UploadCallable.uploadInOneChunk(UploadCallable.java:134) at com.amazonaws.mobileconnectors.s3.transfermanager.internal.UploadCallable.call(UploadCallable.java:126) at com.amazonaws.mobileconnectors.s3.transfermanager.internal.UploadMonitor.upload(UploadMonitor.java:182) at com.amazonaws.mobileconnectors.s3.transfermanager.internal.UploadMonitor.call(UploadMonitor.java:140) at com.amazonaws.mobileconnectors.s3.transfermanager.internal.UploadMonitor.call(UploadMonitor.java:54) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818)

Amazon SDK uses it's own client and it should be configured properly from the box.

What is the reason for this behaviour?

p.s.
I must note this application are developing in China, it means it uses "cn-north-1" region

@Gelassen Gelassen changed the title SSLException during upload file in the bucket SSLException during upload file in the bucket in aws-sdk 2.2.1 Jun 1, 2015
@fosterzhang fosterzhang added the duplicate Duplicate label Jun 2, 2015
@fosterzhang
Copy link
Contributor

I believe this is the same question reported on Stackoverflow http://stackoverflow.com/questions/30565422/sslexception-due-uploading-item-for-amazon-service. To avoid duplicate effort and maximize visibility, I'll close this one and post replies on Stackoverflow. Feel free to reopen it if it's a different question.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate Duplicate
Projects
None yet
Development

No branches or pull requests

2 participants