Skip to content

fix(rest): support libcurl versions before 7.49 - #237

Merged
SteNicholas merged 1 commit into
apache:mainfrom
wangyong9999:fix/rest-libcurl-pre-749-20260822
Aug 24, 2026
Merged

fix(rest): support libcurl versions before 7.49#237
SteNicholas merged 1 commit into
apache:mainfrom
wangyong9999:fix/rest-libcurl-pre-749-20260822

Conversation

@wangyong9999

@wangyong9999 wangyong9999 commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Purpose

Linked issue: #164 .

Paimon enables REST with find_package(CURL REQUIRED) and does not declare a minimum libcurl version. However, IsRetriableTransportError unconditionally references CURLE_HTTP2_STREAM, which was added in libcurl 7.49.0. Building REST support with an older supported libcurl, such as 7.46.0, therefore fails at compile time.

Guard the enum case with CURL_AT_LEAST_VERSION(7, 49, 0). Builds using libcurl 7.49 or newer retain the existing retry classification; older libcurl versions cannot return an error code they do not define.

Tests

  • git diff --check passes.
  • The same source change builds in an x86 downstream Blade configuration against libcurl 7.46.0.
  • Downstream core_test: 1809/1809 passed.
  • Downstream RestHttpClientTest.*: 26/26 passed.

Coverage

The curl 7.46.0 build validates the pre-7.49 compile-time branch. Existing builds with newer libcurl retain the CURLE_HTTP2_STREAM case. No separate line or branch coverage report was generated.

API and Format

This change does not affect public APIs, storage formats, or protocols.

Documentation

This change does not introduce a user-visible feature; no documentation update is required.

Generative AI tooling

Generated-by: Codex (GPT-5)

@SteNicholas SteNicholas left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM. Thanks for contribution.

@SteNicholas
SteNicholas merged commit 3b93d6a into apache:main Aug 24, 2026
28 of 29 checks passed
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