Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reflection configuration for AWS #12394

Merged
merged 4 commits into from
Mar 3, 2025
Merged

Reflection configuration for AWS #12394

merged 4 commits into from
Mar 3, 2025

Conversation

hubertp
Copy link
Collaborator

@hubertp hubertp commented Feb 28, 2025

Pull Request Description

Fixing missing configuration for supporting AWS in native-image. Not yet complete, as NI has issues with Builder pattern.

Also fixes atInfo crash regression that has been introduced by changes in #12163.

Important note

There appears to a bug in reflection configuration in Native Image because it would continue to report (among many others)

No_Such_Method.Error software.amazon.awssdk.services.s3.model.DeleteObjectRequest$BuilderImpl@2a37408b UnresolvedSymbol<bucket>

failures despite an appropriate entry being present in reflect-config.json. We should probably report it to Graal.

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR:

  • All code follows the
    Scala,
    Java,
    TypeScript,
    and
    Rust
    style guides. In case you are using a language not listed above, follow the Rust style guide.

Fixing missing configuration for supporting AWS in native-image.
Not yet complete, as NI has issues with Builder pattern.
@hubertp hubertp added the CI: No changelog needed Do not require a changelog entry for this PR. label Feb 28, 2025
hubertp added 3 commits March 3, 2025 16:08
Moving some polyglot calls to a util class so that we can workaround
(what appears to be) a bug in native image.
With this change, AWS tests pass (with appropriate authentication).
polyglot java import software.amazon.awssdk.services.s3.model.DeleteObjectRequest
polyglot java import software.amazon.awssdk.services.s3.model.GetObjectRequest
polyglot java import software.amazon.awssdk.services.s3.model.HeadBucketRequest
polyglot java import software.amazon.awssdk.services.s3.model.HeadObjectRequest
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replacing all these imports with S3Util is good from code perspective, generated image size, maintainability & co. We should use this “wrapper model” more in other “polyglot Java import” cases.

public class S3Utils {
private S3Utils() {}

public static DeleteObjectRequest delete_object_request(String bucket, String key) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice wrappers

@hubertp hubertp merged commit e67061a into develop Mar 3, 2025
66 of 67 checks passed
@hubertp hubertp deleted the wip/hubert/ni-aws branch March 3, 2025 22:51
@enso-bot
Copy link

enso-bot bot commented Mar 4, 2025

Hubert Plociniczak reports a new STANDUP for the provided date (2025-03-01):

Progress: Investigating native image issue with AWS. Debugging performance regression when running engine test suite. It should be finished by 2025-03-04.

Next Day: Next day I will be working on the #12394 task. Continue investigating NI issues.

@enso-bot
Copy link

enso-bot bot commented Mar 5, 2025

Hubert Plociniczak reports a new STANDUP for the provided date (2025-03-03):

Progress: Fixed issues with Standard.AWS on native image. Had to workaround some limitations by providing a facade for some of library calls. It should be finished by 2025-03-04.

Next Day: Next day I will be working on the #12394 task. Continue investigating test suite perf degradation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI: No changelog needed Do not require a changelog entry for this PR.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants