Skip to content

Conversation

@csegarragonz
Copy link
Collaborator

@csegarragonz csegarragonz commented Sep 3, 2024

The origin of this PR was a strange munmap_chunk(): invalid_pointer that started appearing in our GHA CI.

This error only appeared during code generation, and after narrowing it down a bit further, it seemed to happen during destruction of the S3 API.

Having AWS C++ SDK as a dependency just to interact with out MinIO S3 server always felt like an overkill. In addition, the SDK's init/destruction lifecycles have always been sketchy and error-prone. We were not using the SDK according to its guided usage neither. All in all, it felt reasonable to ditch such a heavyweight dependency and, instead, use MinIO's native C++ client.

In the process of doing so, a rather gnarly bug appeared in the interplay between libcurl (as used by MinIO's CPP client) and cpprestsdk. Turns out this is a known issue with cpprestsdk.
Alas, the project is EOL-ed, so I also ditch the dependency and make our HTTP servers inherit from faabric's native HTTP handler base class.

Unfortunately there is a cyclic dependency between both contributions that prevent me from breaking them into two PRs:

  • We need to get rid of AWS SDK C++ for the codegen step in the CI to not break.
  • We need to get rid of cpprestsdk to get rid of AWS SDK.
  • We need the CI to not break to get rid of cpprestsdk.

@csegarragonz csegarragonz marked this pull request as ready for review September 4, 2024 11:08
@csegarragonz csegarragonz merged commit 9e7e442 into main Sep 4, 2024
@csegarragonz csegarragonz deleted the minio-cpp branch September 4, 2024 16:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants