Skip to content

Commit 70db721

Browse files
authored
Revert breaking PRs (#4881)
# Description of Changes Revert the following PRs that have caused some breakage: ``` a32cffa Finish refactoring out replay (#4850) d639be0 Replay: some code motion & reuse `ReplayCommittedState` (#4849) 78d6b6f Update NativeAOT-LLVM infrastructure to current ABI (#4515) d5c1738 Better module backtraces for panics and whatnot (#577) 6f23b19 Wait for database update to become durable (#4846) 81c9eab Add `spacetime lock/unlock` to prevent accidental database deletion (#4502) 809aebd Move field `replay_table_updated` to `ReplayCommittedState` (#4807) 21b58ef Update axum (#2713) b5cadff Extract replay stuff out of `CommittedState`, part 1 (#4804) ``` I also updated the Python smoketests for breakage introduced in #4502. Reverting that PR caused conflicts, so this fix is more straightforward. # API and ABI breaking changes Maybe kind of, but we haven't released any of these. # Expected complexity level and risk 1 # Testing Ask @bfops about testing --------- Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
1 parent adbe22b commit 70db721

91 files changed

Lines changed: 1317 additions & 4833 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,6 @@ jobs:
102102
cd $env:USERPROFILE\emsdk
103103
.\emsdk install 4.0.21
104104
.\emsdk activate 4.0.21
105-
# Add emscripten to PATH for subsequent steps and subprocesses
106-
$emsdkPath = "$env:USERPROFILE\emsdk\upstream\emscripten"
107-
Add-Content -Path $env:GITHUB_PATH -Value $emsdkPath
108-
Write-Host "Added $emsdkPath to PATH"
109105
110106
- name: Install psql (Windows)
111107
if: runner.os == 'Windows'

Cargo.lock

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

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,8 @@ arrayvec = "0.7.2"
156156
async-channel = "2.5"
157157
async-stream = "0.3.6"
158158
async-trait = "0.1.68"
159-
axum = { version = "0.8.4", features = ["tracing"] }
160-
axum-extra = { version = "0.10", features = ["typed-header"] }
159+
axum = { version = "0.7", features = ["tracing"] }
160+
axum-extra = { version = "0.9", features = ["typed-header"] }
161161
backtrace = "0.3.66"
162162
base64 = "0.21.2"
163163
bigdecimal = "0.4.7"

crates/bindings-cpp/include/spacetimedb/internal/runtime_registration.h

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
#ifndef SPACETIMEDB_RUNTIME_REGISTRATION_H
22
#define SPACETIMEDB_RUNTIME_REGISTRATION_H
33

4-
#include <atomic>
54
#include <functional>
65
#include <optional>
76
#include <string>
8-
#include <type_traits>
9-
#include <utility>
107
#include <vector>
118
#include "../abi/opaque_types.h"
129
#include "autogen/Lifecycle.g.h"
@@ -36,18 +33,6 @@ std::vector<uint8_t> ConsumeBytes(BytesSource source);
3633
void SetMultiplePrimaryKeyError(const std::string& table_name);
3734
void SetConstraintRegistrationError(const std::string& code, const std::string& details);
3835

39-
template <typename F>
40-
__attribute__((noinline)) decltype(auto) __spacetimedb_begin_short_backtrace(F&& f) {
41-
if constexpr (std::is_void_v<std::invoke_result_t<F>>) {
42-
std::forward<F>(f)();
43-
std::atomic_signal_fence(std::memory_order_seq_cst);
44-
} else {
45-
decltype(auto) result = std::forward<F>(f)();
46-
std::atomic_signal_fence(std::memory_order_seq_cst);
47-
return result;
48-
}
49-
}
50-
5136
} // namespace Internal
5237
} // namespace SpacetimeDB
5338

crates/bindings-cpp/include/spacetimedb/internal/v10_builder.h

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -337,9 +337,7 @@ class V10Builder {
337337
std::function<void(ReducerContext&, BytesSource)> handler;
338338
if constexpr (traits::arity == 1) {
339339
handler = [func](ReducerContext& ctx, BytesSource) {
340-
auto result = __spacetimedb_begin_short_backtrace([&] {
341-
return func(ctx);
342-
});
340+
auto result = func(ctx);
343341
if (result.is_err()) {
344342
::SpacetimeDB::fail_reducer(result.error());
345343
}
@@ -351,9 +349,7 @@ class V10Builder {
351349
bsatn::Reader reader(bytes.data(), bytes.size());
352350
auto args = std::make_tuple(bsatn::deserialize<typename traits::template arg_t<Js + 1>>(reader)...);
353351
std::apply([&ctx_inner, fn](auto&&... unpacked) {
354-
auto result = __spacetimedb_begin_short_backtrace([&] {
355-
return fn(ctx_inner, std::forward<decltype(unpacked)>(unpacked)...);
356-
});
352+
auto result = fn(ctx_inner, std::forward<decltype(unpacked)>(unpacked)...);
357353
if (result.is_err()) {
358354
::SpacetimeDB::fail_reducer(result.error());
359355
}
@@ -410,9 +406,7 @@ class V10Builder {
410406
std::function<void(ReducerContext&, BytesSource)> handler;
411407
if constexpr (traits::arity == 1) {
412408
handler = [func](ReducerContext& ctx, BytesSource) {
413-
auto result = __spacetimedb_begin_short_backtrace([&] {
414-
return func(ctx);
415-
});
409+
auto result = func(ctx);
416410
if (result.is_err()) {
417411
::SpacetimeDB::fail_reducer(result.error());
418412
}
@@ -424,9 +418,7 @@ class V10Builder {
424418
bsatn::Reader reader(bytes.data(), bytes.size());
425419
auto args = std::make_tuple(bsatn::deserialize<typename traits::template arg_t<Js + 1>>(reader)...);
426420
std::apply([&ctx_inner, fn](auto&&... unpacked) {
427-
auto result = __spacetimedb_begin_short_backtrace([&] {
428-
return fn(ctx_inner, std::forward<decltype(unpacked)>(unpacked)...);
429-
});
421+
auto result = fn(ctx_inner, std::forward<decltype(unpacked)>(unpacked)...);
430422
if (result.is_err()) {
431423
::SpacetimeDB::fail_reducer(result.error());
432424
}
@@ -469,9 +461,7 @@ class V10Builder {
469461
std::function<std::vector<uint8_t>(ViewContext&, BytesSource)> handler =
470462
[func](ViewContext& ctx, BytesSource args_source) -> std::vector<uint8_t> {
471463
(void)args_source;
472-
auto result = __spacetimedb_begin_short_backtrace([&] {
473-
return func(ctx);
474-
});
464+
auto result = func(ctx);
475465
auto result_vec = view_result_to_vec(std::move(result));
476466
IterBuf buf = IterBuf::take();
477467
{
@@ -485,9 +475,7 @@ class V10Builder {
485475
std::function<std::vector<uint8_t>(AnonymousViewContext&, BytesSource)> handler =
486476
[func](AnonymousViewContext& ctx, BytesSource args_source) -> std::vector<uint8_t> {
487477
(void)args_source;
488-
auto result = __spacetimedb_begin_short_backtrace([&] {
489-
return func(ctx);
490-
});
478+
auto result = func(ctx);
491479
auto result_vec = view_result_to_vec(std::move(result));
492480
IterBuf buf = IterBuf::take();
493481
{
@@ -537,9 +525,7 @@ class V10Builder {
537525
std::function<std::vector<uint8_t>(ProcedureContext&, BytesSource)> handler;
538526
if constexpr (traits::arity == 1) {
539527
handler = [func](ProcedureContext& ctx, BytesSource) -> std::vector<uint8_t> {
540-
auto result = __spacetimedb_begin_short_backtrace([&] {
541-
return func(ctx);
542-
});
528+
auto result = func(ctx);
543529
IterBuf buf = IterBuf::take();
544530
{
545531
bsatn::Writer writer(buf.get());
@@ -553,11 +539,9 @@ class V10Builder {
553539
return []<std::size_t... Js>(std::index_sequence<Js...>, Func fn, ProcedureContext& ctx_inner, const std::vector<uint8_t>& bytes) -> std::vector<uint8_t> {
554540
bsatn::Reader reader(bytes.data(), bytes.size());
555541
auto args = std::make_tuple(bsatn::deserialize<typename traits::template arg_t<Js + 1>>(reader)...);
556-
auto result = __spacetimedb_begin_short_backtrace([&] {
557-
return std::apply([&ctx_inner, fn](auto&&... unpacked) {
558-
return fn(ctx_inner, std::forward<decltype(unpacked)>(unpacked)...);
559-
}, args);
560-
});
542+
auto result = std::apply([&ctx_inner, fn](auto&&... unpacked) {
543+
return fn(ctx_inner, std::forward<decltype(unpacked)>(unpacked)...);
544+
}, args);
561545
IterBuf buf = IterBuf::take();
562546
{
563547
bsatn::Writer writer(buf.get());

0 commit comments

Comments
 (0)