diff --git a/gcsio/src/main/java/com/google/cloud/hadoop/gcsio/GoogleCloudStorageGrpcWriteChannel.java b/gcsio/src/main/java/com/google/cloud/hadoop/gcsio/GoogleCloudStorageGrpcWriteChannel.java index 5f99168739..ce2233a5f6 100644 --- a/gcsio/src/main/java/com/google/cloud/hadoop/gcsio/GoogleCloudStorageGrpcWriteChannel.java +++ b/gcsio/src/main/java/com/google/cloud/hadoop/gcsio/GoogleCloudStorageGrpcWriteChannel.java @@ -60,7 +60,9 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; -/** Implements WritableByteChannel to provide write access to GCS via gRPC. */ +/** + * Implements WritableByteChannel to provide write access to GCS via gRPC. + */ public final class GoogleCloudStorageGrpcWriteChannel extends BaseAbstractGoogleAsyncWriteChannel implements GoogleCloudStorageItemInfo.Provider { @@ -345,7 +347,9 @@ private void recreateStub(Status.Code statusCode) { } } - /** Handler for responses from the Insert streaming RPC. */ + /** + * Handler for responses from the Insert streaming RPC. + */ private class InsertChunkResponseObserver implements ClientResponseObserver { @@ -422,7 +426,9 @@ public void beforeStart( } } - /** Send a StartResumableWriteRequest and return the uploadId of the resumable write. */ + /** + * Send a StartResumableWriteRequest and return the uploadId of the resumable write. + */ private String startResumableUpload() throws IOException { WriteObjectSpec.Builder insertObjectSpecBuilder = WriteObjectSpec.newBuilder() @@ -440,16 +446,19 @@ private String startResumableUpload() throws IOException { insertObjectSpecBuilder.setIfMetagenerationMatch(writeConditions.getMetaGenerationMatch()); } - Builder commonRequestParamsBuilder = CommonRequestParams.newBuilder(); + Builder commonRequestParamsBuilder = null; if (requesterPaysProject != null) { + commonRequestParamsBuilder = CommonRequestParams.newBuilder(); commonRequestParamsBuilder.setUserProject(requesterPaysProject); } - StartResumableWriteRequest request = - StartResumableWriteRequest.newBuilder() - .setWriteObjectSpec(insertObjectSpecBuilder) - .setCommonRequestParams(commonRequestParamsBuilder) - .build(); + StartResumableWriteRequest.Builder startResumableWriteRequestBuilder = StartResumableWriteRequest + .newBuilder(); + startResumableWriteRequestBuilder.setWriteObjectSpec(insertObjectSpecBuilder); + if (commonRequestParamsBuilder != null) { + startResumableWriteRequestBuilder.setCommonRequestParams(commonRequestParamsBuilder); + } + StartResumableWriteRequest request = startResumableWriteRequestBuilder.build(); SimpleResponseObserver responseObserver = new SimpleResponseObserver<>(); @@ -522,7 +531,9 @@ private long getCommittedWriteSize(String uploadId) throws IOException { return responseObserver.getResponse().getCommittedSize(); } - /** Stream observer for single response RPCs. */ + /** + * Stream observer for single response RPCs. + */ private class SimpleResponseObserver implements StreamObserver { // The response from the server, populated at the end of a successful RPC. diff --git a/gcsio/src/test/java/com/google/cloud/hadoop/gcsio/GoogleCloudStorageGrpcWriteChannelTest.java b/gcsio/src/test/java/com/google/cloud/hadoop/gcsio/GoogleCloudStorageGrpcWriteChannelTest.java index 10d656b3f6..830f01eb4a 100644 --- a/gcsio/src/test/java/com/google/cloud/hadoop/gcsio/GoogleCloudStorageGrpcWriteChannelTest.java +++ b/gcsio/src/test/java/com/google/cloud/hadoop/gcsio/GoogleCloudStorageGrpcWriteChannelTest.java @@ -284,7 +284,7 @@ public void writeUsesRequesterPaysProjectIfProvided() throws Exception { writeChannel.close(); StartResumableWriteRequest.Builder expectedRequestBuilder = START_REQUEST.toBuilder(); - // expectedRequestBuilder.getWriteObjectSpecBuilder().setUserProject("project-id"); + expectedRequestBuilder.getCommonRequestParamsBuilder().setUserProject("project-id"); verify(fakeService, times(1)).startResumableWrite(eq(expectedRequestBuilder.build()), any()); }