Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[BUG] AwsSdk2Transport doesn't work with AwsSdk below 2.25.0

Abierto
#1,783 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
48/100
Tipo de issue
Documentación
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
aws, java

Línea de trabajo

Comience comprobando en el README la dependencia de AwsSdk2Transport o la documentación de compatibilidad; después, revise AwsSdk2Transport.prepareRequest y la versión indicada del método ContentStreamProvider. Documente las versiones compatibles de AWS SDK, incluida la versión mínima que proporciona fromByteArrayUnsafe, y confirme que el README advierte claramente a los usuarios de versiones anteriores.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug
What is the bug?

Actually, it’s not really a bug. I think it’s an intended behavior that AwsSdk2Transport doesn’t work with AwsSdk below version 2.25.0, since that version is already quite old.

In the prepareRequest method of the AwsSdk2Transport class, the ContentStreamProvider interface calls the fromByteArrayUnsafe method. However, this method was introduced in AwsSdk2 after version 2.26.0.

Therefore, when using AwsSdk below 2.25.0, a NoSuchMethodError will occur when AwsSdk2Transport executes the prepareRequest method.

For clarification, it would be better to mention in the README which versions of AwsSdk2 are supported, so that users with older versions (below 2.25.0) can be aware of this limitation.

How can one reproduce the bug?

Inject SdkHttpClient of AwsSdk 2.25.0 into AwsSdk2Transport and then, call prepareRequest method.

SdkHttpClient httpClient =
        ApacheHttpClient.builder()
            .buildWithDefaults(
                AttributeMap.builder()
                    .put(SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES, true)
                    .build());

    AwsSdk2Transport transport =
        new AwsSdk2Transport(
            httpClient,
            server.httpsUri().toString().replace("https://", ""),
            Region.AP_NORTHEAST_1,
            AwsSdk2TransportOptions.builder().setCredentials(CREDENTIALS_PROVIDER).build());
What is the expected behavior?

Mentioning which versions of AwsSdk2 are supported in README.

What is your host/environment?

Mac OS 15.3.1

Do you have any screenshots?
'software.amazon.awssdk.http.ContentStreamProvider software.amazon.awssdk.http.ContentStreamProvider.fromByteArrayUnsafe(byte[])'
java.lang.NoSuchMethodError: 'software.amazon.awssdk.http.ContentStreamProvider software.amazon.awssdk.http.ContentStreamProvider.fromByteArrayUnsafe(byte[])'
	at org.opensearch.client.transport.aws.AwsSdk2Transport.prepareRequest(AwsSdk2Transport.java:348)
	at org.opensearch.client.transport.aws.AwsSdk2Transport.performRequest(AwsSdk2Transport.java:215)

Image
Do you have any additional context?

Add any other context about the problem.

Lenguaje dominante
Java
Estrellas
165
Forks
257
Merge medio
1 d 1 h
PR fusionados (30 d)
44

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de opensearch-project/opensearch-java

Todos los issues de opensearch-project/opensearch-java

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.