Skip to content

bazel: switch seastar pin to rebased v26.2.x branch#30428

Draft
travisdowns wants to merge 6 commits intoredpanda-data:devfrom
travisdowns:td-seastar-rebase-26.2
Draft

bazel: switch seastar pin to rebased v26.2.x branch#30428
travisdowns wants to merge 6 commits intoredpanda-data:devfrom
travisdowns:td-seastar-rebase-26.2

Conversation

@travisdowns
Copy link
Copy Markdown
Member

This is the RP-side change to swap over to the rebased seastar branch
(still in review upstream — see
redpanda-data/seastar#277).

The final commit (bazel: update seastar to 097536ff) is the actual pin
flip; the rest are local source-side adjustments needed to keep the
tree compiling on top of the rebased seastar. Several closely related
fixups already landed on dev separately and are not included here:

  • 1966ded1d8 seastar: drop SEASTAR_DEPRECATED_OSTREAM_FORMATTERS define
    • new test_utils/container_ostream.h
  • 36e53c39d1 admin: convert uuid_t to sstring for json_return_type
  • 7fa117202e net/connection: declare TLS reconnect error codes locally
    (net/connection: declare TLS reconnect error codes locally #30391)
  • 628c6060e2 bazel/seastar: bump API level to 9

Commits on this branch:

  1. ss-rebase-26.2: add hugetlbfs to to_string — small enum addition
    the rebased seastar surfaces in the redpanda tree.
  2. treewide: replace deprecated ss::smp::count — mechanical migration
    to ss::this_smp_shard_count(); ss::smp::count is deprecated in
    the rebase.
  3. bazel/seastar: sync source list with v26.2.x-rebase — refreshes
    bazel/thirdparty/seastar.BUILD srcs/hdrs lists to match the rebased
    tree (added/removed files, the SEASTAR_HAVE_OPENSSL / OpenSSL
    provider wiring, etc.).
  4. raft/rpc: replace deprecated ss::smp::all_cpus — analogue of (2)
    for smp::all_cpusthis_smp_all_shards().
  5. treewide: replace deprecated http::reply::done() — drops the
    no-op done() calls and replaces done(content_type) with
    set_content_type(). Also open standalone as treewide: replace deprecated http::reply::done() #30395; if that
    merges first I'll drop it from this branch.
  6. bazel: update seastar to 097536ff — the pin flip itself, pointing
    at the rebased seastar branch (PR #277).

Backports Required

  • none - not a bug fix
  • none - this is a backport
  • none - issue does not exist in previous branches
  • none - papercut/not impactful enough to backport
  • v25.3.x
  • v25.2.x
  • v25.1.x

Release Notes

  • none

Add the new enum value to to_string.
Seastar v26.2 deprecates smp::count in favor of smp::shard_count(),
exposed at top-level via this_smp_shard_count(). Unlike the static
variable, the new accessor reads from the per-shard smp instance and
is only valid on a reactor thread; all replaced call sites already
run on reactor threads.
Update bazel/thirdparty/seastar.BUILD to match the file layout of the
seastar-rebase tree (used by --config=localssr). Without these
additions the seastar library cannot compile.

New feature areas:
  + src/core/crypto.{cc,hh}, src/core/crypto_openssl.cc
    f860454a7 "crypto: introduce crypto provider abstraction"
  + include/seastar/core/internal/md5.hh
    cfdf47740 "net/tcp: use crypto provider for md5 calculation"
  + src/websocket/client.cc, include/seastar/websocket/client.hh
    fe77940e6 "websocket: impl client side websocket function"
  + include/seastar/util/integrated-length.hh
    d0ccb7d4b "util: Introduce gauge integrator helper"

Header-extraction refactors:
  + include/seastar/util/memory-data-sink.hh
    801b1566f "util: Generalize memory_data_sink"

Renames:
  - src/net/ossl.cc  ->  src/net/tls_openssl.cc (+ tls_openssl.hh)
    952a19ec3 "net/tls: add openssl tls backend"
Seastar v26.2 deprecates smp::all_cpus() in favor of smp::all_shards(),
exposed at top-level via this_smp_all_shards(). Unlike the static, the
new accessor reads from the per-shard smp instance and is only valid on
a reactor thread; both replaced call sites already run on reactor
threads. Same pattern as b6d168bad8.
Seastar v26.2 deprecates reply::done() and reply::done(content_type).
The bare done() cached _response_line, which write_reply() never read,
so it was always dead. The done(content_type) overload is equivalent
to set_content_type(content_type). Replace each call site accordingly:
drop bare done() and use set_content_type() where a content type was
being passed. Also valid against the prior pinned seastar SHA, where
_response_line is similarly write-only.
Point at the rebased v26.2.x branch
(redpanda-data/seastar#277). Replaces the prior
v26.2.x-pre snapshot at a0b4f2a6.
@travisdowns
Copy link
Copy Markdown
Member Author

/dt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant