aws / aws/aws-sdk-java-v2

S3CrtAsyncClientBuilder.build() should return S3CrtAsyncClient

Open
#5,057 4 comments 0 reactions 1 assignee Claimed by @debora-ito View on GitHub
crt-client feature-request p2
Dominant language
Java
Stars
2.6k
Forks
1k
Avg merge
2d 9h
Merged PRs (30d)
51

Description

### Describe the bug

I am unable to build an instance of type `S3CrtAsyncClient`

The [document](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/crt-based-s3-client.html) has the following example:
`S3AsyncClient s3AsyncClient = S3AsyncClient.crtCreate();`

This will indeed build an instance of `S3CrtAsyncClient`, however the return type of `crtCreate()` is `S3AsyncClient`, not `S3CrtAsyncClient`.

So I can't have code that requires `S3CrtAsyncClient` without manually casting.

### Expected Behavior

I was hoping to have the signature be

`S3CrtAsyncClient S3CrtAsyncClientBuilder.build();`
instead of the current code
`S3AsyncClient S3CrtAsyncClientBuilder.build();`

### Current Behavior

`S3CrtAsyncClient S3CrtAsyncClientBuilder.build();`
See https://github.com/aws/aws-sdk-java-v2/blob/master/services/s3/src/main/java/software/amazon/awssdk/services/s3/S3CrtAsyncClientBuilder.java#L339

### Reproduction Steps

`S3CrtAsyncClient s3AsyncClient = S3AsyncClient.crtCreate();`

fails to compile.

### Possible Solution

Change
`S3AsyncClient S3CrtAsyncClientBuilder.build();`
to
`S3CrtAsyncClient S3CrtAsyncClientBuilder.build();`
here https://github.com/aws/aws-sdk-java-v2/blob/master/services/s3/src/main/java/software/amazon/awssdk/services/s3/S3CrtAsyncClientBuilder.java#L339

### Additional Information/Context

_No response_

### AWS Java SDK version used

2.23.4

### JDK version used

openjdk 11.0.21 2023-10-17 OpenJDK Runtime Environment Homebrew (build 11.0.21+0) OpenJDK 64-Bit Server VM Homebrew (build 11.0.21+0, mixed mode)

### Operating System and version

MacOS

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.