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

Stop remote blob upload if upload is complete. #14464

Closed

Commits on Dec 21, 2021

  1. Stop remote blob upload if upload is complete.

    If a ByteStream/Write RPC fails, but ByteStream/QueryWriteStatus reveals the upload is in fact complete, avoid a NullPointerException. This CL is the dual fix of 78b89a0 for uploads.
    
    On bazel-6.0.0-pre.20211117.1, I observed:
    ```
    java.lang.NullPointerException
            at com.google.devtools.build.lib.remote.Chunker.seek(Chunker.java:156)
            at com.google.devtools.build.lib.remote.ByteStreamUploader$AsyncUpload.lambda$start$0(ByteStreamUploader.java:416)
            at com.google.devtools.build.lib.remote.Retrier.executeAsync(Retrier.java:277)
            at com.google.devtools.build.lib.remote.Retrier.lambda$onExecuteAsyncFailure$1(Retrier.java:293)
            at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:160)
            at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:143)
            at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
            at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
            at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
            at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
            at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
            at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
            at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
            at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
            at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
    ```
    benjaminp committed Dec 21, 2021
    Configuration menu
    Copy the full SHA
    dacf420 View commit details
    Browse the repository at this point in the history