Skip to content

Commit 81c96e6

Browse files
Merge pull request redpanda-data#31381 from redpanda-data/stephan/seastar-263
Upgrade to seastar 26.3.x
2 parents 0ef0843 + 318aef6 commit 81c96e6

30 files changed

Lines changed: 143 additions & 346 deletions

File tree

MODULE.bazel.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bazel/BUILD

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
load("@bazel_skylib//lib:selects.bzl", "selects")
22
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag", "string_flag")
3-
load("@rules_cc//cc:cc_import.bzl", "cc_import")
43

54
bool_flag(
65
name = "gofips",
@@ -95,31 +94,3 @@ config_setting(
9594
":antithesis": "true",
9695
},
9796
)
98-
99-
# libFuzzer without its main(), so that a fuzz target can bring up a seastar
100-
# reactor first and run the fuzzing loop inside it (see
101-
# //src/v/test_utils:seastar_fuzz). The archive's path depends on the clang
102-
# version and the target triple, so ask the compiler for it rather than spelling
103-
# it out.
104-
genrule(
105-
name = "libfuzzer_no_main_archive",
106-
outs = ["libclang_rt.fuzzer_no_main.a"],
107-
cmd = "cp \"$$($(CC) -print-file-name=libclang_rt.fuzzer_no_main.a)\" $@",
108-
target_compatible_with = select({
109-
":enable_fuzz_testing": [],
110-
"//conditions:default": ["@platforms//:incompatible"],
111-
}),
112-
toolchains = ["@bazel_tools//tools/cpp:current_cc_toolchain"],
113-
visibility = ["//visibility:public"],
114-
)
115-
116-
cc_import(
117-
name = "libfuzzer_no_main",
118-
static_library = ":libfuzzer_no_main_archive",
119-
target_compatible_with = select({
120-
":enable_fuzz_testing": [],
121-
"//conditions:default": ["@platforms//:incompatible"],
122-
}),
123-
visibility = ["//visibility:public"],
124-
alwayslink = True,
125-
)

bazel/repositories.bzl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,13 +161,13 @@ def data_dependency():
161161
url = "https://github.com/redpanda-data/CRoaring/archive/c433d1c70c10fb2e40f049e019e2abbcafa6e69d.tar.gz",
162162
)
163163

164-
# branch: v26.2.x
164+
# branch: v26.3.x
165165
http_archive(
166166
name = "seastar",
167167
build_file = "//bazel/thirdparty:seastar.BUILD",
168-
sha256 = "0b8f08bb0fc971dfee675707b0119653a18fe5e42274b069bdb1f36b2d18dabd",
169-
strip_prefix = "seastar-39dfd216bac408133110edf83c087be322d0256f",
170-
url = "https://github.com/redpanda-data/seastar/archive/39dfd216bac408133110edf83c087be322d0256f.tar.gz",
168+
sha256 = "5918f72ec59c159a8d2fe36870e7d30c6e61426fde766d7dd6853fa7f9871f7f",
169+
strip_prefix = "seastar-a6ac2ff6190a4a9dce5059991355703e1073d11f",
170+
url = "https://github.com/redpanda-data/seastar/archive/a6ac2ff6190a4a9dce5059991355703e1073d11f.tar.gz",
171171
)
172172

173173
http_archive(

bazel/test.bzl

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,7 @@ def _redpanda_cc_fuzz_test(
186186
deps = [],
187187
custom_args = [],
188188
env = {},
189-
data = [],
190-
reactor = False):
189+
data = []):
191190
"""
192191
Helper to define a Redpanda C++ fuzzing test.
193192
@@ -200,19 +199,14 @@ def _redpanda_cc_fuzz_test(
200199
custom_args: arguments from cc_test users
201200
env: environment variables
202201
data: data file dependencies
203-
reactor: true if the target fuzzes code that needs a seastar reactor, in
204-
which case it expands RP_SEASTAR_FUZZ to define main and libFuzzer is linked
205-
without one of its own. Otherwise libFuzzer's main is used and the target
206-
just defines LLVMFuzzerTestOneInput.
207202
"""
208203
test_data, test_env, test_deps = _test_options()
209-
reactor_deps = ["//bazel:libfuzzer_no_main", "//src/v/test_utils:seastar_fuzz"]
210204
cc_test(
211205
name = name,
212206
timeout = timeout,
213207
srcs = srcs,
214208
defines = defines,
215-
deps = deps + test_deps + (reactor_deps if reactor else []),
209+
deps = deps + test_deps,
216210
copts = redpanda_copts(),
217211
args = custom_args,
218212
features = [
@@ -224,7 +218,7 @@ def _redpanda_cc_fuzz_test(
224218
env = test_env | env,
225219
data = data + test_data,
226220
linkopts = [
227-
"-fsanitize=fuzzer-no-link" if reactor else "-fsanitize=fuzzer",
221+
"-fsanitize=fuzzer",
228222
],
229223
target_compatible_with = select({
230224
"//bazel:enable_fuzz_testing": [],
@@ -324,8 +318,7 @@ def redpanda_cc_fuzz_test(
324318
deps = [],
325319
args = [],
326320
env = {},
327-
data = [],
328-
reactor = False):
321+
data = []):
329322
_redpanda_cc_fuzz_test(
330323
data = data,
331324
env = env,
@@ -335,7 +328,6 @@ def redpanda_cc_fuzz_test(
335328
defines = defines,
336329
deps = deps,
337330
custom_args = args,
338-
reactor = reactor,
339331
)
340332

341333
def redpanda_cc_btest_no_seastar(

bazel/thirdparty/seastar.BUILD

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,7 @@ cc_library(
306306
"src/rpc/rpc.cc",
307307
"src/util/alloc_failure_injector.cc",
308308
"src/util/backtrace.cc",
309+
"src/util/build_id.cc",
309310
"src/util/conversions.cc",
310311
"src/util/exceptions.cc",
311312
"src/util/file.cc",
@@ -372,9 +373,11 @@ cc_library(
372373
"include/seastar/core/internal/io_intent.hh",
373374
"include/seastar/core/internal/io_request.hh",
374375
"include/seastar/core/internal/io_sink.hh",
376+
"include/seastar/core/internal/io_trace.hh",
375377
"include/seastar/core/internal/linux-aio.hh",
376378
"include/seastar/core/internal/poll.hh",
377379
"include/seastar/core/internal/pollable_fd.hh",
380+
"include/seastar/core/internal/reactor_trace.hh",
378381
"include/seastar/core/internal/run_in_background.hh",
379382
"include/seastar/core/internal/signal_mutex.hh",
380383
"include/seastar/core/internal/stall_detector.hh",
@@ -482,7 +485,6 @@ cc_library(
482485
"include/seastar/http/response_parser.hh",
483486
"include/seastar/http/retry_strategy.hh",
484487
"include/seastar/http/routes.hh",
485-
"include/seastar/http/short_streams.hh",
486488
"include/seastar/http/transformers.hh",
487489
"include/seastar/http/types.hh",
488490
"include/seastar/http/url.hh",
@@ -534,6 +536,7 @@ cc_library(
534536
"include/seastar/util/indirect.hh",
535537
"include/seastar/util/integrated-length.hh",
536538
"include/seastar/util/internal/array_map.hh",
539+
"include/seastar/util/internal/build_id.hh",
537540
"include/seastar/util/internal/iovec_utils.hh",
538541
"include/seastar/util/internal/magic.hh",
539542
"include/seastar/util/iostream.hh",
@@ -597,6 +600,9 @@ cc_library(
597600
}) + select({
598601
":use_system_allocator": ["SEASTAR_DEFAULT_ALLOCATOR"],
599602
"//conditions:default": [],
603+
}) + select({
604+
":use_io_uring": ["SEASTAR_HAVE_URING"],
605+
"//conditions:default": [],
600606
}) + select({
601607
":with_debug": [
602608
"SEASTAR_DEBUG",
@@ -638,9 +644,6 @@ cc_library(
638644
}) + select({
639645
":use_hwloc": ["SEASTAR_HAVE_HWLOC"],
640646
"//conditions:default": [],
641-
}) + select({
642-
":use_io_uring": ["SEASTAR_HAVE_URING"],
643-
"//conditions:default": [],
644647
}) + select({
645648
# this only needs to be applied to memory.cc and reactor.cc. could be
646649
# split out into a separate cc_library, but we'd need to inherit all the

lsan_suppressions.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,8 @@ leak:fips/self_test.c
66
# This suppression should be revisited/removed once both OpenSSL
77
# versions have been updated.
88
leak:crypto/mem.c
9+
10+
# alien::message_queue::_pending is a boost::lockfree::queue<work_item*>,
11+
# where tagged pointers are used to mask addresses. LSan interprets memory
12+
# (which are pointed to by these tagged pointers) as leaked.
13+
leak:seastar::alien::message_queue

src/v/cloud_topics/tests/BUILD

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,9 @@ redpanda_cc_gtest(
9292
"//src/v/kafka/server/tests:kafka_test_utils",
9393
"//src/v/test_utils:gtest",
9494
"//src/v/test_utils:scoped_config",
95+
"@fmt",
9596
"@googletest//:gtest",
97+
"@seastar",
9698
],
9799
)
98100

src/v/cloud_topics/tests/leader_epoch_test.cc

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
#include "test_utils/async.h"
1515
#include "test_utils/scoped_config.h"
1616

17+
#include <seastar/util/log.hh>
18+
19+
#include <fmt/format.h>
1720
#include <gtest/gtest.h>
1821

1922
using tests::kv_t;
@@ -269,9 +272,11 @@ TEST_F(LeaderEpochTest, TestGetLeaderEpochWhileReconciling) {
269272
gate_fut.get();
270273

271274
ASSERT_FALSE(producer_error.has_value())
272-
<< "Producer fiber failed with exception " << *producer_error;
275+
<< "Producer fiber failed with exception "
276+
<< fmt::format("{}", *producer_error);
273277
ASSERT_FALSE(validator_error.has_value())
274-
<< "Validator fiber failed with exception " << *validator_error;
278+
<< "Validator fiber failed with exception "
279+
<< fmt::format("{}", *validator_error);
275280

276281
// One more validation.
277282
auto p = wait_for_leadership().get();

src/v/cluster/tests/partition_balancer_bench.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ PERF_TEST_C(partition_balancer_planner_fixture, unavailable_nodes) {
3434
auto planner = make_planner(
3535
model::partition_autobalancing_mode::continuous, max_concurrent_actions);
3636

37-
abort_source as;
37+
ss::abort_source as;
3838
perf_tests::start_measuring_time();
3939
auto plan_data = co_await planner.plan_actions(hr, as);
4040
perf_tests::stop_measuring_time();
@@ -89,7 +89,7 @@ PERF_TEST_C(partition_balancer_planner_fixture, counts_rebalancing) {
8989

9090
auto planner = make_planner();
9191

92-
abort_source as;
92+
ss::abort_source as;
9393
perf_tests::start_measuring_time();
9494
auto plan_data = co_await planner.plan_actions(hr, as);
9595
perf_tests::stop_measuring_time();

src/v/crash_tracker/tests/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ redpanda_cc_binary(
6060
"//src/v/model",
6161
"//src/v/utils:file_io",
6262
"@boost//:program_options",
63+
"@fmt",
6364
"@seastar",
6465
],
6566
)

0 commit comments

Comments
 (0)