Недостаточно данных, записанных при вставке строк

Я сталкиваюсь с этой ошибкой при запуске моего модульного теста, чтобы вставить несколько строк в мою таблицу больших запросов сегодня:

Caused by: java.io.IOException: insufficient data written
at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.close(HttpURLConnection.java:3213)
at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:81)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:960)
at com.google.api.client.googleapis.media.MediaHttpUploader.executeCurrentRequest(MediaHttpUploader.java:482)
at com.google.api.client.googleapis.media.MediaHttpUploader.executeCurrentRequestWithBackOffAndGZip(MediaHttpUploader.java:504)
at com.google.api.client.googleapis.media.MediaHttpUploader.executeUploadInitiation(MediaHttpUploader.java:456)
at com.google.api.client.googleapis.media.MediaHttpUploader.upload(MediaHttpUploader.java:348)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:418)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460)

Я думал, что это связано с новой версией google-http-client (1.16.0.rc), потому что я обновил его непосредственно перед запуском теста. Но откат до 1.15.0-rc не имеет никакого эффекта.

Любая идея?

3 ответа

Эти ошибки обычно возникают при сбое связи, особенно для больших файлов. Чтобы избежать этого, используйте возобновляемую загрузку.

У меня была похожая проблема с google-http-client (1.16.0.rc), когда я вставлял большой файл в облачное хранилище Google. Я думаю, что причина также может быть той же.

Caused by: java.io.IOException: insufficient data written
    at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.close(HttpURLConnection.java:3120)
    at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:81)
    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:964)
    at com.google.api.client.googleapis.media.MediaHttpUploader.executeCurrentRequest(MediaHttpUploader.java:559)
    at com.google.api.client.googleapis.media.MediaHttpUploader.resumableUpload(MediaHttpUploader.java:434)
    at com.google.api.client.googleapis.media.MediaHttpUploader.upload(MediaHttpUploader.java:345)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:418)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460)
    at com.hotpads.dao.gcs.GoogleCloudStorageDao.uploadObject(GoogleCloudStorageDao.java:164)

Я тоже. Кроме того, это похоже на признак того, что Bigquery просто перестает получать какие-либо данные. Потому что если после этого исключения вы запросите таблицу по количеству (*), результат больше не изменится. Если я не отключу свою программу некоторое время, она выдаст мне такие ошибки, как:

javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1343)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355)

жду ответов...

Другие вопросы по тегам