-
Notifications
You must be signed in to change notification settings - Fork 718
Open
Description
Describe the bug
When using S3 as state store, with an S3 bucket name that contains a dot (.), the meta-node panics with a ConfigInvalid error. However, S3 bucket names with dots are valid according to naming rules. The same configuration works correctly when using a bucket name without dots.
Error message/log
thread 'rw-standalone-meta' panicked at /risingwave/src/object_store/src/object/mod.rs:887:22:
called `Result::unwrap()` on an `Err` value: ConfigInvalid (permanent) at , context: { service: s3 } => The bucket is misconfigured
stack backtrace:
0: rust_begin_unwind
at ./rustc/f9e0239a7bc813b4aceffc7f069f4797cde3175c/library/std/src/panicking.rs:695:5
1: core::panicking::panic_fmt
at ./rustc/f9e0239a7bc813b4aceffc7f069f4797cde3175c/library/core/src/panicking.rs:75:14
2: core::result::unwrap_failed
at ./rustc/f9e0239a7bc813b4aceffc7f069f4797cde3175c/library/core/src/result.rs:1704:5
3: core::result::Result<T,E>::unwrap
at ./rustc/f9e0239a7bc813b4aceffc7f069f4797cde3175c/library/core/src/result.rs:1109:23
4: risingwave_object_store::object::build_remote_object_store::{{closure}}
at ./risingwave/src/object_store/src/object/mod.rs:882:21
5: risingwave_meta::hummock::manager::HummockManager::new_impl::{{closure}}
at ./risingwave/src/meta/src/hummock/manager/mod.rs:252:14
6: risingwave_meta::hummock::manager::HummockManager::new::{{closure}}
at ./risingwave/src/meta/src/hummock/manager/mod.rs:193:10
7: risingwave_meta_node::server::start_service_as_election_leader::{{closure}}
at ./risingwave/src/meta/node/src/server.rs:378:6
8: risingwave_meta_node::server::rpc_serve_with_store::{{closure}}
at ./risingwave/src/meta/node/src/server.rs:254:6
9: risingwave_meta_node::server::rpc_serve::{{closure}}
at ./risingwave/src/meta/node/src/server.rs:171:6
10: risingwave_meta_node::start::{{closure}}
at ./risingwave/src/meta/node/src/lib.rs:503:10
11: <core::pin::Pin<P> as core::future::future::Future>::poll
at ./rustc/f9e0239a7bc813b4aceffc7f069f4797cde3175c/library/core/src/future/future.rs:124:9
12: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.40/src/instrument.rs:321:9
13: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/core.rs:331:17
14: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/loom/std/unsafe_cell.rs:16:9
15: tokio::runtime::task::core::Core<T,S>::poll
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/core.rs:320:30
16: tokio::runtime::task::harness::poll_future::{{closure}}
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/harness.rs:532:19
17: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at ./rustc/f9e0239a7bc813b4aceffc7f069f4797cde3175c/library/core/src/panic/unwind_safe.rs:272:9
18: std::panicking::try::do_call
at ./rustc/f9e0239a7bc813b4aceffc7f069f4797cde3175c/library/std/src/panicking.rs:587:40
19: std::panicking::try
at ./rustc/f9e0239a7bc813b4aceffc7f069f4797cde3175c/library/std/src/panicking.rs:550:19
20: std::panic::catch_unwind
at ./rustc/f9e0239a7bc813b4aceffc7f069f4797cde3175c/library/std/src/panic.rs:359:14
21: tokio::runtime::task::harness::poll_future
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/harness.rs:520:18
22: tokio::runtime::task::harness::Harness<T,S>::poll_inner
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/harness.rs:209:27
23: tokio::runtime::task::harness::Harness<T,S>::poll
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/harness.rs:154:15
24: tokio::runtime::task::raw::RawTask::poll
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/raw.rs:201:18
25: tokio::runtime::task::LocalNotified<S>::run
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/mod.rs:463:9
26: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/scheduler/multi_thread/worker.rs:674:22
27: tokio::task::coop::with_budget
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/task/coop/mod.rs:167:5
28: tokio::task::coop::budget
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/task/coop/mod.rs:133:5
29: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/scheduler/multi_thread/worker.rs:594:9
30: tokio::runtime::scheduler::multi_thread::worker::Context::run
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/scheduler/multi_thread/worker.rs:542:24
31: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}}
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/scheduler/multi_thread/worker.rs:507:21
32: tokio::runtime::context::scoped::Scoped<T>::set
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/context/scoped.rs:40:9
33: tokio::runtime::context::set_scheduler::{{closure}}
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/context.rs:180:26
34: std::thread::local::LocalKey<T>::try_with
at ./rustc/f9e0239a7bc813b4aceffc7f069f4797cde3175c/library/std/src/thread/local.rs:311:12
35: std::thread::local::LocalKey<T>::with
at ./rustc/f9e0239a7bc813b4aceffc7f069f4797cde3175c/library/std/src/thread/local.rs:275:15
36: tokio::runtime::context::set_scheduler
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/context.rs:180:9
37: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/scheduler/multi_thread/worker.rs:502:9
38: tokio::runtime::context::runtime::enter_runtime
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/context/runtime.rs:65:16
39: tokio::runtime::scheduler::multi_thread::worker::run
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/scheduler/multi_thread/worker.rs:494:5
40: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/scheduler/multi_thread/worker.rs:460:45
41: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/blocking/task.rs:42:21
42: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.40/src/instrument.rs:321:9
43: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/core.rs:331:17
44: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/loom/std/unsafe_cell.rs:16:9
45: tokio::runtime::task::core::Core<T,S>::poll
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/core.rs:320:30
46: tokio::runtime::task::harness::poll_future::{{closure}}
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/harness.rs:532:19
47: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at ./rustc/f9e0239a7bc813b4aceffc7f069f4797cde3175c/library/core/src/panic/unwind_safe.rs:272:9
48: std::panicking::try::do_call
at ./rustc/f9e0239a7bc813b4aceffc7f069f4797cde3175c/library/std/src/panicking.rs:587:40
49: std::panicking::try
at ./rustc/f9e0239a7bc813b4aceffc7f069f4797cde3175c/library/std/src/panicking.rs:550:19
50: std::panic::catch_unwind
at ./rustc/f9e0239a7bc813b4aceffc7f069f4797cde3175c/library/std/src/panic.rs:359:14
51: tokio::runtime::task::harness::poll_future
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/harness.rs:520:18
52: tokio::runtime::task::harness::Harness<T,S>::poll_inner
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/harness.rs:209:27
53: tokio::runtime::task::harness::Harness<T,S>::poll
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/harness.rs:154:15
54: tokio::runtime::task::raw::RawTask::poll
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/raw.rs:201:18
55: tokio::runtime::task::UnownedTask<S>::run
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/task/mod.rs:500:9
56: tokio::runtime::blocking::pool::Task::run
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/blocking/pool.rs:161:9
57: tokio::runtime::blocking::pool::Inner::run
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/blocking/pool.rs:511:17
58: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}
at ./root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.0/src/runtime/blocking/pool.rs:469:13
To Reproduce
services:
risingwave-standalone:
image: risingwavelabs/risingwave:v2.4.0
command: "standalone --meta-opts=\" \
--listen-addr 0.0.0.0:5690 \
--advertise-addr 0.0.0.0:5690 \
--dashboard-host 0.0.0.0:5691 \
--prometheus-host 0.0.0.0:1250 \
--backend sql \
--sql-endpoint sqlite:///meta-data/metadata.db?mode=rwc \
--state-store hummock+s3://risingwave.us-east-1.dev \
--data-directory hummock_001 \
--config-path /risingwave.toml\" \
--compute-opts=\" \
--config-path /risingwave.toml \
--listen-addr 0.0.0.0:5688 \
--prometheus-listener-addr 0.0.0.0:1250 \
--advertise-addr 0.0.0.0:5688 \
--async-stack-trace verbose \
--parallelism 8 \
--total-memory-bytes 21474836480 \
--role both \
--meta-address http://0.0.0.0:5690 \
--memory-manager-target-bytes 22333829939 \" \
--frontend-opts=\" \
--config-path /risingwave.toml \
--listen-addr 0.0.0.0:4566 \
--advertise-addr 0.0.0.0:4566 \
--prometheus-listener-addr 0.0.0.0:1250 \
--health-check-listener-addr 0.0.0.0:6786 \
--meta-addr http://0.0.0.0:5690 \
--frontend-total-memory-bytes=4294967296\" \
--compactor-opts=\" \
--listen-addr 0.0.0.0:6660 \
--prometheus-listener-addr 0.0.0.0:1250 \
--advertise-addr 0.0.0.0:6660 \
--meta-address http://0.0.0.0:5690 \
--compactor-total-memory-bytes=4294967296\""
volumes:
- "./risingwave.toml:/risingwave.toml"
- "meta-0:/meta-data"
environment:
AWS_REGION: us-east-1
AWS_ACCESS_KEY_ID: <redacted>
AWS_SECRET_ACCESS_KEY: <redacted>
container_name: risingwave-standalone
restart: always
volumes:
meta-0:
external: false
If change to a bucket whose name does not contain dot, it works fine.
- --state-store hummock+s3://risingwave.us-east-1.dev
+ --state-store hummock+s3://risingwave-dev
Expected behavior
No response
How did you deploy RisingWave?
No response
The version of RisingWave
risingwavelabs/risingwave:v2.4.0
Additional context
No response
Metadata
Metadata
Assignees
Labels
type/bugType: Bug. Only for issues.Type: Bug. Only for issues.