Skip to content

Commit 0406b33

Browse files
committed
---
yaml --- r: 5095 b: refs/heads/master c: 2a1b018 h: refs/heads/master i: 5093: 30166e4 5091: c2d28b2 5087: 557f364
1 parent 9c313ac commit 0406b33

29 files changed

Lines changed: 77 additions & 2405 deletions

File tree

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 4d5a86c8fd6b91b45d043c5eef0efff51f604b62
2+
refs/heads/master: 2a1b018355cdd187530a1989a2e4f098629f63fe
33
refs/heads/travis: e21ee7b88a5edc3f3d8c71f90c3fc32abf7e8dd6
44
refs/heads/gh-pages: 7406918e071dd2c5677a638ae2a06e7592b6542c
55
refs/heads/pubsub-alpha: d6bbd32eed6cb48cda8d6798ee70ddd6bfc1f07d

trunk/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/TableDataWriteChannel.java

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,14 @@
2424
import com.google.cloud.RetryHelper;
2525
import com.google.cloud.WriteChannel;
2626

27-
import java.util.concurrent.Callable;
28-
2927
/**
3028
* WriteChannel implementation to stream data into a BigQuery table.
3129
*/
3230
class TableDataWriteChannel extends BaseWriteChannel<BigQueryOptions, WriteChannelConfiguration> {
3331

3432
TableDataWriteChannel(BigQueryOptions options,
3533
WriteChannelConfiguration writeChannelConfiguration) {
36-
this(options, writeChannelConfiguration, open(options, writeChannelConfiguration));
34+
this(options, writeChannelConfiguration, options.rpc().open(writeChannelConfiguration.toPb()));
3735
}
3836

3937
TableDataWriteChannel(BigQueryOptions options, WriteChannelConfiguration config,
@@ -60,20 +58,6 @@ protected StateImpl.Builder stateBuilder() {
6058
return StateImpl.builder(options(), entity(), uploadId());
6159
}
6260

63-
private static String open(final BigQueryOptions options,
64-
final WriteChannelConfiguration writeChannelConfiguration) {
65-
try {
66-
return runWithRetries(new Callable<String>() {
67-
@Override
68-
public String call() {
69-
return options.rpc().open(writeChannelConfiguration.toPb());
70-
}
71-
}, options.retryParams(), BigQueryImpl.EXCEPTION_HANDLER, options.clock());
72-
} catch (RetryHelper.RetryHelperException e) {
73-
throw BigQueryException.translateAndThrow(e);
74-
}
75-
}
76-
7761
static class StateImpl
7862
extends BaseWriteChannel.BaseState<BigQueryOptions, WriteChannelConfiguration> {
7963

trunk/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/TableDataWriteChannelTest.java

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,9 @@
3939
import org.easymock.CaptureType;
4040
import org.junit.After;
4141
import org.junit.Before;
42-
import org.junit.Rule;
4342
import org.junit.Test;
44-
import org.junit.rules.ExpectedException;
4543

4644
import java.io.IOException;
47-
import java.net.SocketException;
4845
import java.nio.ByteBuffer;
4946
import java.util.Arrays;
5047
import java.util.Random;
@@ -66,9 +63,6 @@ public class TableDataWriteChannelTest {
6663
private static final int CUSTOM_CHUNK_SIZE = 4 * MIN_CHUNK_SIZE;
6764
private static final Random RANDOM = new Random();
6865

69-
@Rule
70-
public ExpectedException thrown = ExpectedException.none();
71-
7266
private BigQueryOptions options;
7367
private BigQueryRpcFactory rpcFactoryMock;
7468
private BigQueryRpc bigqueryRpcMock;
@@ -78,7 +72,8 @@ public class TableDataWriteChannelTest {
7872
public void setUp() {
7973
rpcFactoryMock = createMock(BigQueryRpcFactory.class);
8074
bigqueryRpcMock = createMock(BigQueryRpc.class);
81-
expect(rpcFactoryMock.create(anyObject(BigQueryOptions.class))).andReturn(bigqueryRpcMock);
75+
expect(rpcFactoryMock.create(anyObject(BigQueryOptions.class)))
76+
.andReturn(bigqueryRpcMock);
8277
replay(rpcFactoryMock);
8378
options = BigQueryOptions.builder()
8479
.projectId("projectid")
@@ -99,24 +94,6 @@ public void testCreate() {
9994
assertTrue(writer.isOpen());
10095
}
10196

102-
@Test
103-
public void testCreateRetryableError() {
104-
BigQueryException exception = new BigQueryException(new SocketException("Socket closed"));
105-
expect(bigqueryRpcMock.open(LOAD_CONFIGURATION.toPb())).andThrow(exception);
106-
expect(bigqueryRpcMock.open(LOAD_CONFIGURATION.toPb())).andReturn(UPLOAD_ID);
107-
replay(bigqueryRpcMock);
108-
writer = new TableDataWriteChannel(options, LOAD_CONFIGURATION);
109-
assertTrue(writer.isOpen());
110-
}
111-
112-
@Test
113-
public void testCreateNonRetryableError() {
114-
expect(bigqueryRpcMock.open(LOAD_CONFIGURATION.toPb())).andThrow(new RuntimeException());
115-
replay(bigqueryRpcMock);
116-
thrown.expect(RuntimeException.class);
117-
new TableDataWriteChannel(options, LOAD_CONFIGURATION);
118-
}
119-
12097
@Test
12198
public void testWriteWithoutFlush() throws IOException {
12299
expect(bigqueryRpcMock.open(LOAD_CONFIGURATION.toPb())).andReturn(UPLOAD_ID);

trunk/google-cloud-contrib/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/FakeStorageRpc.java

Lines changed: 0 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717
package com.google.cloud.storage.contrib.nio;
1818

1919
import com.google.api.services.storage.model.Bucket;
20-
import com.google.api.services.storage.model.BucketAccessControl;
21-
import com.google.api.services.storage.model.ObjectAccessControl;
2220
import com.google.api.services.storage.model.StorageObject;
2321
import com.google.cloud.storage.Storage;
2422
import com.google.cloud.storage.StorageException;
@@ -338,81 +336,6 @@ public RewriteResponse continueRewrite(RewriteResponse previousResponse) throws
338336
throw new UnsupportedOperationException();
339337
}
340338

341-
@Override
342-
public BucketAccessControl getAcl(String bucket, String entity) {
343-
throw new UnsupportedOperationException();
344-
}
345-
346-
@Override
347-
public boolean deleteAcl(String bucket, String entity) {
348-
throw new UnsupportedOperationException();
349-
}
350-
351-
@Override
352-
public BucketAccessControl createAcl(BucketAccessControl acl) {
353-
throw new UnsupportedOperationException();
354-
}
355-
356-
@Override
357-
public BucketAccessControl patchAcl(BucketAccessControl acl) {
358-
throw new UnsupportedOperationException();
359-
}
360-
361-
@Override
362-
public List<BucketAccessControl> listAcls(String bucket) {
363-
throw new UnsupportedOperationException();
364-
}
365-
366-
@Override
367-
public ObjectAccessControl getDefaultAcl(String bucket, String entity) {
368-
throw new UnsupportedOperationException();
369-
}
370-
371-
@Override
372-
public boolean deleteDefaultAcl(String bucket, String entity) {
373-
throw new UnsupportedOperationException();
374-
}
375-
376-
@Override
377-
public ObjectAccessControl createDefaultAcl(ObjectAccessControl acl) {
378-
throw new UnsupportedOperationException();
379-
}
380-
381-
@Override
382-
public ObjectAccessControl patchDefaultAcl(ObjectAccessControl acl) {
383-
throw new UnsupportedOperationException();
384-
}
385-
386-
@Override
387-
public List<ObjectAccessControl> listDefaultAcls(String bucket) {
388-
throw new UnsupportedOperationException();
389-
}
390-
391-
@Override
392-
public ObjectAccessControl getAcl(String bucket, String object, Long generation, String entity) {
393-
throw new UnsupportedOperationException();
394-
}
395-
396-
@Override
397-
public boolean deleteAcl(String bucket, String object, Long generation, String entity) {
398-
throw new UnsupportedOperationException();
399-
}
400-
401-
@Override
402-
public ObjectAccessControl createAcl(ObjectAccessControl acl) {
403-
throw new UnsupportedOperationException();
404-
}
405-
406-
@Override
407-
public ObjectAccessControl patchAcl(ObjectAccessControl acl) {
408-
throw new UnsupportedOperationException();
409-
}
410-
411-
@Override
412-
public List<ObjectAccessControl> listAcls(String bucket, String object, Long generation) {
413-
throw new UnsupportedOperationException();
414-
}
415-
416339
private String fullname(StorageObject so) {
417340
return (so.getBucket() + "/" + so.getName());
418341
}

trunk/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreException.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,18 @@ public final class DatastoreException extends BaseServiceException {
3838
private static final long serialVersionUID = 2663750991205874435L;
3939

4040
public DatastoreException(int code, String message, String reason) {
41-
this(code, message, reason, null);
41+
this(code, message, reason, true, null);
4242
}
4343

4444
public DatastoreException(int code, String message, String reason, Throwable cause) {
4545
super(code, message, reason, true, cause);
4646
}
4747

48+
public DatastoreException(int code, String message, String reason, boolean idempotent,
49+
Throwable cause) {
50+
super(code, message, reason, idempotent, cause);
51+
}
52+
4853
public DatastoreException(IOException exception) {
4954
super(exception, true);
5055
}

trunk/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/DefaultDatastoreRpc.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ private static String removeScheme(String url) {
9393

9494
private static DatastoreException translate(
9595
com.google.datastore.v1.client.DatastoreException exception) {
96+
return translate(exception, true);
97+
}
98+
99+
private static DatastoreException translate(
100+
com.google.datastore.v1.client.DatastoreException exception, boolean idempotent) {
96101
String reason = "";
97102
if (exception.getCode() != null) {
98103
reason = exception.getCode().name();
@@ -103,15 +108,14 @@ private static DatastoreException translate(
103108
}
104109
}
105110
return new DatastoreException(
106-
exception.getCode().getNumber(), exception.getMessage(), reason, exception);
111+
exception.getCode().getNumber(), exception.getMessage(), reason, idempotent, exception);
107112
}
108113

109114
@Override
110115
public AllocateIdsResponse allocateIds(AllocateIdsRequest request) {
111116
try {
112117
return client.allocateIds(request);
113118
} catch (com.google.datastore.v1.client.DatastoreException ex) {
114-
115119
throw translate(ex);
116120
}
117121
}
@@ -130,7 +134,7 @@ public CommitResponse commit(CommitRequest request) {
130134
try {
131135
return client.commit(request);
132136
} catch (com.google.datastore.v1.client.DatastoreException ex) {
133-
throw translate(ex);
137+
throw translate(ex, request.getMode() == CommitRequest.Mode.NON_TRANSACTIONAL);
134138
}
135139
}
136140

trunk/google-cloud-examples/src/main/java/com/google/cloud/examples/storage/StorageExample.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -582,18 +582,24 @@ public void run(Storage storage, Tuple<BlobId, Acl> params) {
582582
System.out.printf("Bucket %s does not exist%n", blobId.bucket());
583583
return;
584584
}
585-
acl = bucket.createAcl(acl);
585+
bucket.toBuilder().acl(addAcl(bucket.acl(), acl)).build().update();
586586
System.out.printf("Added ACL %s to bucket %s%n", acl, blobId.bucket());
587587
} else {
588588
Blob blob = storage.get(blobId);
589589
if (blob == null) {
590590
System.out.printf("Blob %s does not exist%n", blobId);
591591
return;
592592
}
593-
acl = blob.createAcl(acl);
593+
blob.toBuilder().acl(addAcl(blob.acl(), acl)).build().update();
594594
System.out.printf("Added ACL %s to blob %s%n", acl, blobId);
595595
}
596596
}
597+
598+
private static List<Acl> addAcl(List<Acl> acls, Acl newAcl) {
599+
List<Acl> newAcls = new LinkedList<>(acls);
600+
newAcls.add(newAcl);
601+
return newAcls;
602+
}
597603
}
598604

599605
/**

trunk/google-cloud-examples/src/main/java/com/google/cloud/examples/storage/snippets/BlobSnippets.java

Lines changed: 0 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@
2828
import com.google.cloud.ReadChannel;
2929
import com.google.cloud.ServiceAccountSigner;
3030
import com.google.cloud.WriteChannel;
31-
import com.google.cloud.storage.Acl;
32-
import com.google.cloud.storage.Acl.User;
3331
import com.google.cloud.storage.Blob;
3432
import com.google.cloud.storage.Blob.BlobSourceOption;
3533
import com.google.cloud.storage.BlobId;
@@ -42,7 +40,6 @@
4240
import java.net.URL;
4341
import java.nio.ByteBuffer;
4442
import java.util.HashMap;
45-
import java.util.List;
4643
import java.util.Map;
4744
import java.util.concurrent.TimeUnit;
4845

@@ -231,67 +228,4 @@ public URL signUrlWithSigner(String keyPath) throws IOException {
231228
// [END signUrlWithSigner]
232229
return signedUrl;
233230
}
234-
235-
/**
236-
* Example of getting the ACL entry for an entity.
237-
*/
238-
// [TARGET getAcl(Entity)]
239-
public Acl getAcl() {
240-
// [START getAcl]
241-
Acl acl = blob.getAcl(User.ofAllAuthenticatedUsers());
242-
// [END getAcl]
243-
return acl;
244-
}
245-
246-
/**
247-
* Example of deleting the ACL entry for an entity.
248-
*/
249-
// [TARGET deleteAcl(Entity)]
250-
public boolean deleteAcl() {
251-
// [START deleteAcl]
252-
boolean deleted = blob.deleteAcl(User.ofAllAuthenticatedUsers());
253-
if (deleted) {
254-
// the acl entry was deleted
255-
} else {
256-
// the acl entry was not found
257-
}
258-
// [END deleteAcl]
259-
return deleted;
260-
}
261-
262-
/**
263-
* Example of creating a new ACL entry.
264-
*/
265-
// [TARGET createAcl(Acl)]
266-
public Acl createAcl() {
267-
// [START createAcl]
268-
Acl acl = blob.createAcl(Acl.of(User.ofAllAuthenticatedUsers(), Acl.Role.READER));
269-
// [END createAcl]
270-
return acl;
271-
}
272-
273-
/**
274-
* Example of updating a new ACL entry.
275-
*/
276-
// [TARGET updateAcl(Acl)]
277-
public Acl updateAcl() {
278-
// [START updateAcl]
279-
Acl acl = blob.updateAcl(Acl.of(User.ofAllAuthenticatedUsers(), Acl.Role.OWNER));
280-
// [END updateAcl]
281-
return acl;
282-
}
283-
284-
/**
285-
* Example of listing the ACL entries.
286-
*/
287-
// [TARGET listAcls()]
288-
public List<Acl> listAcls() {
289-
// [START listAcls]
290-
List<Acl> acls = blob.listAcls();
291-
for (Acl acl : acls) {
292-
// do something with ACL entry
293-
}
294-
// [END listAcls]
295-
return acls;
296-
}
297231
}

0 commit comments

Comments
 (0)