Skip to content

Storage - SocketException Socket closed #1180

@fondberg

Description

@fondberg

Hi fellow Google cloud java users,
We are seeing Socket closed quite often.
The StorageOptions.Builder().connectTimeout and StorageOptions.Builder().readTimeout are not set so I guess the default of 20 seconds is used.
I didn't want to change them as 20 seconds should be plenty.

Does anyone have an idea about this?

java.net.SocketException: Socket closed
    at java.net.SocketInputStream.read
    at java.net.SocketInputStream.read
    at sun.security.ssl.InputRecord.readFully
    at sun.security.ssl.InputRecord.read
    at sun.security.ssl.SSLSocketImpl.readRecord
    at sun.security.ssl.SSLSocketImpl.readDataRecord
    at sun.security.ssl.AppInputStream.read
    at java.io.BufferedInputStream.fill
    at java.io.BufferedInputStream.read1
    at java.io.BufferedInputStream.read
    at sun.net.www.http.HttpClient.parseHTTPHeader
    at sun.net.www.http.HttpClient.parseHTTP
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream
    at java.net.HttpURLConnection.getResponseCode
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode
    at com.google.api.client.http.javanet.NetHttpResponse.<init>
    at com.google.api.client.http.javanet.NetHttpRequest.execute
    at com.google.api.client.http.HttpRequest.execute
    at com.google.cloud.storage.spi.DefaultStorageRpc.write
    at com.google.cloud.storage.BlobWriteChannel$1.run
    at java.util.concurrent.Executors$RunnableAdapter.call
    at com.google.cloud.RetryHelper.doRetry
    at com.google.cloud.RetryHelper.runWithRetries
    at com.google.cloud.RetryHelper.runWithRetries
    at com.google.cloud.storage.BlobWriteChannel.flushBuffer
    at com.google.cloud.BaseWriteChannel.close
    at com.spotify.buildartifactarchiver.storage.GcsUploaderClient.storeInputStream
    at com.spotify.buildartifactarchiver.storage.ArtifactUploader.uploadData
    at com.spotify.buildartifactarchiver.ArtifactArchiver.archiveRequest
    at com.spotify.buildartifactarchiver.ArtifactArchiver.archiveBuild
    at com.spotify.buildartifactarchiver.web.ArtifactArchiverPubSubResource.messageHandler
    at com.spotify.google.cloud.pubsub.client.Puller.lambda$pullBatch$11
    at java.util.concurrent.CompletableFuture.uniWhenComplete
    at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire
    at java.util.concurrent.CompletableFuture.postComplete
    at java.util.concurrent.CompletableFuture.complete
    at com.spotify.google.cloud.pubsub.client.PubsubFuture.succeed
    at com.spotify.google.cloud.pubsub.client.PubsubFuture.lambda$wrap$9
    at java.util.concurrent.CompletableFuture.uniWhenComplete
    at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire
    at java.util.concurrent.CompletableFuture.postComplete
    at java.util.concurrent.CompletableFuture.complete
    at com.spotify.google.cloud.pubsub.client.PubsubFuture.succeed
    at com.spotify.google.cloud.pubsub.client.Pubsub.lambda$requestJavaNet$8
    at java.util.concurrent.ThreadPoolExecutor.runWorker
    at java.util.concurrent.ThreadPoolExecutor$Worker.run
    at java.lang.Thread.run
com.google.cloud.storage.StorageException: Socket closed
    at com.google.cloud.storage.spi.DefaultStorageRpc.translate
    at com.google.cloud.storage.spi.DefaultStorageRpc.write
    at com.google.cloud.storage.BlobWriteChannel$1.run
    at java.util.concurrent.Executors$RunnableAdapter.call
    at com.google.cloud.RetryHelper.doRetry
    at com.google.cloud.RetryHelper.runWithRetries
    at com.google.cloud.RetryHelper.runWithRetries
    at com.google.cloud.storage.BlobWriteChannel.flushBuffer
    at com.google.cloud.BaseWriteChannel.close
    at com.spotify.buildartifactarchiver.storage.GcsUploaderClient.storeInputStream
    at com.spotify.buildartifactarchiver.storage.ArtifactUploader.uploadData
    at com.spotify.buildartifactarchiver.ArtifactArchiver.archiveRequest
    at com.spotify.buildartifactarchiver.ArtifactArchiver.archiveBuild
    at com.spotify.buildartifactarchiver.web.ArtifactArchiverPubSubResource.messageHandler
    at com.spotify.google.cloud.pubsub.client.Puller.lambda$pullBatch$11
    at java.util.concurrent.CompletableFuture.uniWhenComplete
    at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire
    at java.util.concurrent.CompletableFuture.postComplete
    at java.util.concurrent.CompletableFuture.complete
    at com.spotify.google.cloud.pubsub.client.PubsubFuture.succeed
    at com.spotify.google.cloud.pubsub.client.PubsubFuture.lambda$wrap$9
    at java.util.concurrent.CompletableFuture.uniWhenComplete
    at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire
    at java.util.concurrent.CompletableFuture.postComplete
    at java.util.concurrent.CompletableFuture.complete
    at com.spotify.google.cloud.pubsub.client.PubsubFuture.succeed
    at com.spotify.google.cloud.pubsub.client.Pubsub.lambda$requestJavaNet$8
    at java.util.concurrent.ThreadPoolExecutor.runWorker
    at java.util.concurrent.ThreadPoolExecutor$Worker.run
    at java.lang.Thread.run

Metadata

Metadata

Assignees

Labels

api: storageIssues related to the Cloud Storage API.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions