[MDEV-30432] Refactor connect to use libcurl instead of cpprestsdk/curl Created: 2023-01-19  Updated: 2024-02-08

Status: In Review
Project: MariaDB Server
Component/s: Storage Engine - Connect
Fix Version/s: 11.5

Type: Task Priority: Minor
Reporter: Anel Husakovic Assignee: Daniel Black
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Blocks
is blocked by MDBF-644 install libcurl on amd64-builder In Progress
Relates
relates to MDEV-26727 REST API from CONNECT SE doesn't work... In Review
relates to MDEV-24357 Connect REST API is not working for u... Closed

 Description   

Current status and problem description
Starting from 10.2.37 Connect SE uses curl, introduced by Olivier Bertrand, commit 8c617e99015c.
Connect SE is also able to run using cpprestsdk.

Neither these options are preferable because:

  • cpprestsdk that has to be built by the user as a separate library.
  • curl shouldn't have to be exec'ed. There is a dedicated libcurl library that we can link to.

We should make use of libcurl, just like the S3 Storage Engine does, via libmarias3.

Task:

  • Remove cpprest, curl exec calls and optimize code to use libcurl only.
  • Remove the use of exec(curl) binary and use the library call directly.
  • Mark new package dependency of libcurl in RPM/DEB files.
  • Identify how Windows binaries are impacted
  • Ensure connect.rest test case passes.

After task is implemented, update documentation pages:
[1] https://mariadb.com/kb/en/connect-files-retrieved-using-rest-queries/
[2] https://mariadb.com/kb/en/connect-making-the-getrest-library/ [deprecate]



 Comments   
Comment by Daniel Black [ 2023-01-31 ]

Using libcurl wil fix MDEV-26727 and need to revert MDEV-30509 / pr2466

Generated at Thu Feb 08 10:16:13 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.