Skip to content

Commit

Permalink
refactor(risedev): split the steps for building and running playground (
Browse files Browse the repository at this point in the history
#12279)

Signed-off-by: Bugen Zhao <[email protected]>
Co-authored-by: xxchan <[email protected]>
  • Loading branch information
BugenZhao and xxchan authored Sep 14, 2023
1 parent ae4b1f8 commit 1ecea63
Show file tree
Hide file tree
Showing 7 changed files with 69 additions and 27 deletions.
1 change: 0 additions & 1 deletion .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ rustflags = [
]

[target.aarch64-apple-darwin]
runner = "scripts/coredump/sign-and-run"
rustflags = [
# neon is enabled by default
"-Clink-arg=-fuse-ld=/opt/homebrew/opt/llvm/bin/ld64.lld",
Expand Down
10 changes: 10 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

69 changes: 53 additions & 16 deletions Makefile.toml
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,23 @@ ln -s "$(pwd)/target/${RISEDEV_BUILD_TARGET_DIR}${BUILD_MODE_DIR}/risingwave" "$
ln -s "$(pwd)/target/${RISEDEV_BUILD_TARGET_DIR}${BUILD_MODE_DIR}/risingwave" "${PREFIX_BIN}/risingwave/standalone"
'''

[tasks.codesign-playground]
private = true
category = "RiseDev - Build"
description = "Codesign playground binary to support coredump"
# If core dump is enabled by RiseDev and we're on an Apple Silicon platform,
# codesign the binary before running.
# https://developer.apple.com/forums/thread/694233?answerId=695943022#695943022
condition = { env_set = [
"ENABLE_COREDUMP",
], env = { "SYSTEM" = "darwin-arm64" } }
script = '''
#!/usr/bin/env bash
set -ex
codesign -s - -f --entitlements scripts/coredump/coredump.entitlements "target/${RISEDEV_BUILD_TARGET_DIR}${BUILD_MODE_DIR}/risingwave"
'''

[tasks.codesign-binaries]
private = true
category = "RiseDev - Build"
Expand All @@ -303,6 +320,7 @@ else
binaries=("meta-node" "compute-node" "frontend" "compactor")
fi
set -ex
echo -n "${binaries[*]}" | parallel -d ' ' \
"codesign -s - -f --entitlements scripts/coredump/coredump.entitlements \"target/${RISEDEV_BUILD_TARGET_DIR}${BUILD_MODE_DIR}/{}\""
'''
Expand Down Expand Up @@ -393,6 +411,24 @@ ${BUILD_HUMMOCK_TRACE_CMD}\
${RISEDEV_CARGO_BUILD_EXTRA_ARGS}
'''

[tasks.build-risingwave-playground]
category = "RiseDev - Build"
description = "Build RisingWave playground"
condition = { env_true = ["ENABLE_BUILD_RUST"] }
script = '''
#!/usr/bin/env bash
set -e
[[ -z "${RISEDEV_RUSTFLAGS}" ]] || export RUSTFLAGS="${RISEDEV_RUSTFLAGS}"
echo + RUSTFLAGS="${RUSTFLAGS:-<not set>}"
set -xe
cargo build -p risingwave_cmd_all \
--profile "${RISINGWAVE_BUILD_PROFILE}" \
${RISINGWAVE_FEATURE_FLAGS} \
${RISEDEV_CARGO_BUILD_EXTRA_ARGS}
'''

[tasks.clean]
private = true
category = "RiseDev - Build"
Expand Down Expand Up @@ -508,7 +544,11 @@ dependencies = [
[tasks.pre-start-playground]
category = "RiseDev - Prepare"
description = "Preparation steps for playground"
dependencies = ["build-connector-node"]
dependencies = [
"build-risingwave-playground",
"codesign-playground",
"build-connector-node",
]

[tasks.check-risedev-env-file]
private = true
Expand Down Expand Up @@ -557,35 +597,31 @@ dependencies = ["pre-start-playground"]
script = '''
#!/usr/bin/env bash
set -ex
set -e
if [[ $ENABLE_COREDUMP == "true" ]]; then
echo "+ ulimit -c unlimited"
ulimit -c unlimited
fi
cargo run -p risingwave_cmd_all \
--profile "${RISINGWAVE_BUILD_PROFILE}" \
${RISINGWAVE_FEATURE_FLAGS} \
-- playground
set -x
target/${RISEDEV_BUILD_TARGET_DIR}${BUILD_MODE_DIR}/risingwave playground $@
'''

[tasks.standalone]
category = "RiseDev - Start/Stop"
description = "🌟 Start a RisingWave standalone instance"
dependencies = ["build"]
dependencies = ["pre-start-playground"]
script = '''
#!/usr/bin/env bash
set -euo pipefail
set -e
if [[ $ENABLE_COREDUMP == "true" ]]; then
echo "+ ulimit -c unlimited"
ulimit -c unlimited
fi
cargo run -p risingwave_cmd_all \
--profile "${RISINGWAVE_BUILD_PROFILE}" \
${RISINGWAVE_FEATURE_FLAGS} \
-- standalone $@
set -x
target/${RISEDEV_BUILD_TARGET_DIR}${BUILD_MODE_DIR}/risingwave standalone $@
'''

# TODO(kwannoel): Support `tasks.standalone-dev` as well.
Expand All @@ -612,12 +648,13 @@ description = "🌟 Start a full RisingWave dev cluster using risedev-dev"
script = '''
#!/usr/bin/env bash
set -ex
set -e
if [[ $ENABLE_COREDUMP == "true" ]]; then
echo "+ ulimit -c unlimited"
ulimit -c unlimited
fi
set -x
target/${BUILD_MODE_DIR}/risedev-dev ${@}
'''

Expand Down
10 changes: 0 additions & 10 deletions scripts/coredump/sign-and-run

This file was deleted.

1 change: 1 addition & 0 deletions src/risedevtool/common.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[env]
RISEDEV = "1"
RUST_BACKTRACE = "1"
OS = { source = "${CARGO_MAKE_RUST_TARGET_OS}", mapping = { linux = "linux", macos = "darwin" } }
ARCH = { source = "${CARGO_MAKE_RUST_TARGET_ARCH}", mapping = { x86_64 = "amd64", aarch64 = "arm64" } }
SYSTEM = "${OS}-${ARCH}"
Expand Down
1 change: 1 addition & 0 deletions src/utils/runtime/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ pprof = { version = "0.12", features = ["flamegraph"] }
prometheus = { version = "0.13" }
risingwave_common = { workspace = true }
risingwave_variables = { workspace = true }
rlimit = "0.10"
time = { version = "0.3", features = ["formatting", "local-offset"] }
tokio = { version = "0.2", package = "madsim-tokio", features = [
"rt",
Expand Down
4 changes: 4 additions & 0 deletions src/utils/runtime/src/panic_hook.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@
/// Set panic hook to abort the process if we're not catching unwind, without losing the information
/// of stack trace and await-tree.
pub fn set_panic_hook() {
if let Ok(limit) = rlimit::Resource::CORE.get_soft() && limit > 0 {
tracing::info!(limit, "coredump on panic is likely to be enabled");
};

std::panic::update_hook(|default_hook, info| {
default_hook(info);

Expand Down

0 comments on commit 1ecea63

Please sign in to comment.