Skip to content

Commit c4a0653

Browse files
committed
Fix checkstyle errors, add stability tests
1 parent 2649249 commit c4a0653

File tree

13 files changed

+43
-34
lines changed

13 files changed

+43
-34
lines changed

services/s3/src/main/java/software/amazon/awssdk/services/s3/S3CrtAsyncClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
import software.amazon.awssdk.annotations.SdkPreviewApi;
1919
import software.amazon.awssdk.annotations.SdkPublicApi;
20-
import software.amazon.awssdk.services.s3.internal.DefaultS3CrtClientBuilder;
20+
import software.amazon.awssdk.services.s3.internal.s3crt.DefaultS3CrtClientBuilder;
2121

2222
/**
2323
* Service client for accessing Amazon S3 asynchronously using the AWS Common Runtime S3 client. This can be created using the

services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/CrtResponseDataConsumerAdapter.java renamed to services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/s3crt/CrtResponseDataConsumerAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* permissions and limitations under the License.
1414
*/
1515

16-
package software.amazon.awssdk.services.s3.internal;
16+
package software.amazon.awssdk.services.s3.internal.s3crt;
1717

1818
import com.amazonaws.s3.ResponseDataConsumer;
1919
import com.amazonaws.s3.model.GetObjectOutput;

services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/DefaultS3CrtAsyncClient.java renamed to services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/s3crt/DefaultS3CrtAsyncClient.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,22 @@
1313
* permissions and limitations under the License.
1414
*/
1515

16-
package software.amazon.awssdk.services.s3.internal;
16+
package software.amazon.awssdk.services.s3.internal.s3crt;
1717

1818

19-
import static software.amazon.awssdk.services.s3.internal.S3CrtUtils.createCrtCredentialsProvider;
19+
import static software.amazon.awssdk.services.s3.internal.s3crt.S3CrtUtils.createCrtCredentialsProvider;
2020

2121
import com.amazonaws.s3.RequestDataSupplier;
2222
import com.amazonaws.s3.S3NativeClient;
23+
import com.amazonaws.s3.model.PutObjectOutput;
2324
import java.util.concurrent.CompletableFuture;
2425
import software.amazon.awssdk.annotations.SdkInternalApi;
26+
import software.amazon.awssdk.core.async.AsyncRequestBody;
2527
import software.amazon.awssdk.core.async.AsyncResponseTransformer;
2628
import software.amazon.awssdk.crt.auth.credentials.CredentialsProvider;
2729
import software.amazon.awssdk.services.s3.S3CrtAsyncClient;
2830
import software.amazon.awssdk.services.s3.model.GetObjectRequest;
2931
import software.amazon.awssdk.services.s3.model.GetObjectResponse;
30-
import com.amazonaws.s3.model.PutObjectOutput;
31-
import software.amazon.awssdk.core.async.AsyncRequestBody;
32-
import software.amazon.awssdk.services.s3.internal.s3crt.RequestDataSupplierAdapter;
3332
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
3433
import software.amazon.awssdk.services.s3.model.PutObjectResponse;
3534

services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/DefaultS3CrtClientBuilder.java renamed to services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/s3crt/DefaultS3CrtClientBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* permissions and limitations under the License.
1414
*/
1515

16-
package software.amazon.awssdk.services.s3.internal;
16+
package software.amazon.awssdk.services.s3.internal.s3crt;
1717

1818
import java.net.URI;
1919
import java.util.function.Consumer;

services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/s3crt/RequestDataSupplierAdapter.java

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@
3636
*/
3737
@SdkInternalApi
3838
public final class RequestDataSupplierAdapter implements RequestDataSupplier {
39-
private static final Logger LOG = Logger.loggerFor(RequestDataSupplierAdapter.class);
40-
4139
static final long DEFAULT_REQUEST_SIZE = 8;
40+
private static final Logger LOG = Logger.loggerFor(RequestDataSupplierAdapter.class);
4241

43-
private final AtomicReference<SubscriptionStatus> subscriptionStatus = new AtomicReference<>(SubscriptionStatus.NOT_SUBSCRIBED);
42+
private final AtomicReference<SubscriptionStatus> subscriptionStatus =
43+
new AtomicReference<>(SubscriptionStatus.NOT_SUBSCRIBED);
4444
private final BlockingQueue<Subscription> subscriptionQueue = new LinkedBlockingQueue<>(1);
4545
private final BlockingDeque<Event> eventBuffer = new LinkedBlockingDeque<>();
4646

@@ -189,7 +189,7 @@ static class SubscriberImpl implements Subscriber<ByteBuffer> {
189189
private final Deque<Event> eventBuffer;
190190
private boolean subscribed = false;
191191

192-
public SubscriberImpl(Consumer<Subscription> subscriptionSetter, Deque<Event> eventBuffer) {
192+
SubscriberImpl(Consumer<Subscription> subscriptionSetter, Deque<Event> eventBuffer) {
193193
this.subscriptionSetter = subscriptionSetter;
194194
this.eventBuffer = eventBuffer;
195195
}
@@ -258,22 +258,23 @@ private enum EventType {
258258
ERROR
259259
}
260260

261-
private interface Event {
262-
Subscriber subscriber();
261+
interface Event {
262+
Subscriber<? super ByteBuffer> subscriber();
263+
263264
EventType type();
264265
}
265266

266-
private static class DataEvent implements Event {
267-
private final Subscriber subscriber;
267+
private static final class DataEvent implements Event {
268+
private final Subscriber<? super ByteBuffer> subscriber;
268269
private final ByteBuffer data;
269270

270-
public DataEvent(Subscriber subscriber, ByteBuffer data) {
271+
DataEvent(Subscriber<? super ByteBuffer> subscriber, ByteBuffer data) {
271272
this.subscriber = subscriber;
272273
this.data = data;
273274
}
274275

275276
@Override
276-
public Subscriber subscriber() {
277+
public Subscriber<? super ByteBuffer> subscriber() {
277278
return subscriber;
278279
}
279280

@@ -282,20 +283,20 @@ public EventType type() {
282283
return EventType.DATA;
283284
}
284285

285-
public final ByteBuffer data() {
286+
public ByteBuffer data() {
286287
return data;
287288
}
288289
}
289290

290-
private static class CompleteEvent implements Event {
291-
private final Subscriber subscriber;
291+
private static final class CompleteEvent implements Event {
292+
private final Subscriber<? super ByteBuffer> subscriber;
292293

293-
public CompleteEvent(Subscriber subscriber) {
294+
CompleteEvent(Subscriber<? super ByteBuffer> subscriber) {
294295
this.subscriber = subscriber;
295296
}
296297

297298
@Override
298-
public Subscriber subscriber() {
299+
public Subscriber<? super ByteBuffer> subscriber() {
299300
return subscriber;
300301
}
301302

@@ -305,17 +306,17 @@ public EventType type() {
305306
}
306307
}
307308

308-
private static class ErrorEvent implements Event {
309-
private final Subscriber subscriber;
309+
private static final class ErrorEvent implements Event {
310+
private final Subscriber<? super ByteBuffer> subscriber;
310311
private final Throwable error;
311312

312-
public ErrorEvent(Subscriber subscriber, Throwable error) {
313+
ErrorEvent(Subscriber<? super ByteBuffer> subscriber, Throwable error) {
313314
this.subscriber = subscriber;
314315
this.error = error;
315316
}
316317

317318
@Override
318-
public Subscriber subscriber() {
319+
public Subscriber<? super ByteBuffer> subscriber() {
319320
return subscriber;
320321
}
321322

@@ -324,7 +325,7 @@ public EventType type() {
324325
return EventType.ERROR;
325326
}
326327

327-
public final Throwable error() {
328+
public Throwable error() {
328329
return error;
329330
}
330331
}

services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/S3CrtDataPublisher.java renamed to services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/s3crt/S3CrtDataPublisher.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* permissions and limitations under the License.
1414
*/
1515

16-
package software.amazon.awssdk.services.s3.internal;
16+
package software.amazon.awssdk.services.s3.internal.s3crt;
1717

1818
import java.nio.ByteBuffer;
1919
import java.util.Queue;

services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/S3CrtUtils.java renamed to services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/s3crt/S3CrtUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* permissions and limitations under the License.
1414
*/
1515

16-
package software.amazon.awssdk.services.s3.internal;
16+
package software.amazon.awssdk.services.s3.internal.s3crt;
1717

1818
import com.amazonaws.s3.model.ObjectCannedACL;
1919
import com.amazonaws.s3.model.ObjectLockLegalHoldStatus;

services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/S3NativeClientConfiguration.java renamed to services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/s3crt/S3NativeClientConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* permissions and limitations under the License.
1414
*/
1515

16-
package software.amazon.awssdk.services.s3.internal;
16+
package software.amazon.awssdk.services.s3.internal.s3crt;
1717

1818

1919
import software.amazon.awssdk.annotations.SdkInternalApi;

services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/S3CrtDataPublisherTckTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.reactivestreams.Publisher;
2121
import org.reactivestreams.tck.TestEnvironment;
2222
import software.amazon.awssdk.core.internal.async.FileAsyncRequestBody;
23+
import software.amazon.awssdk.services.s3.internal.s3crt.S3CrtDataPublisher;
2324

2425
/**
2526
* TCK verification test for {@link FileAsyncRequestBody}.

services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/S3CrtDataPublisherTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.junit.Test;
3030
import org.reactivestreams.Subscriber;
3131
import org.reactivestreams.Subscription;
32+
import software.amazon.awssdk.services.s3.internal.s3crt.S3CrtDataPublisher;
3233

3334
public class S3CrtDataPublisherTest {
3435

services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/S3CrtUtilsTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
2727
import software.amazon.awssdk.crt.auth.credentials.Credentials;
2828
import software.amazon.awssdk.crt.auth.credentials.CredentialsProvider;
29+
import software.amazon.awssdk.services.s3.internal.s3crt.S3CrtUtils;
2930

3031
public class S3CrtUtilsTest {
3132

test/stability-tests/src/it/java/software/amazon/awssdk/stability/tests/s3/S3CrtAsyncClientStabilityTest.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,13 @@ protected String getTestBucketName() {
6363

6464
@RetryableTest(maxRetries = 3, retryableException = StabilityTestsRetryableException.class)
6565
public void largeObject_put_get_usingFile() {
66-
//TODO: add upload once upload and download code is merged
66+
uploadLargeObjectFromFile();
6767
downloadLargeObjectToFile();
6868
}
69+
70+
@RetryableTest(maxRetries = 3, retryableException = StabilityTestsRetryableException.class)
71+
public void putObject_getObject_highConcurrency() {
72+
putObject();
73+
getObject();
74+
}
6975
}

test/stability-tests/src/it/java/software/amazon/awssdk/stability/tests/s3/S3CrtAsyncStabilityTest.java renamed to test/stability-tests/src/it/java/software/amazon/awssdk/stability/tests/s3/S3WithCrtAsyncHttpClientStabilityTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
/**
1717
* Stability tests for {@link S3AsyncClient} using {@link AwsCrtAsyncHttpClient}
1818
*/
19-
public class S3CrtAsyncStabilityTest extends S3BaseStabilityTest {
19+
public class S3WithCrtAsyncHttpClientStabilityTest extends S3BaseStabilityTest {
2020

21-
private static String bucketName = "s3crtasyncstabilitytests" + System.currentTimeMillis();
21+
private static String bucketName = "s3withcrtasyncclientstabilitytests" + System.currentTimeMillis();
2222

2323
private static S3AsyncClient s3CrtClient;
2424

0 commit comments

Comments
 (0)