-
Notifications
You must be signed in to change notification settings - Fork 133
Description
The master is configured with semisync mode
[root@localhost][(none)]> select version();
+-----------+
| version() |
+-----------+
| 8.0.41 |
+-----------+
1 row in set (0.00 sec)
[root@localhost][(none)]> SHOW variables LIKE 'rpl_semi_sync_%';
+-------------------------------------------+------------+
| Variable_name | Value |
+-------------------------------------------+------------+
| rpl_semi_sync_master_enabled | ON |
| rpl_semi_sync_master_timeout | 10000 |
| rpl_semi_sync_master_trace_level | 32 |
| rpl_semi_sync_master_wait_for_slave_count | 1 |
| rpl_semi_sync_master_wait_no_slave | ON |
| rpl_semi_sync_master_wait_point | AFTER_SYNC |
+-------------------------------------------+------------+
6 rows in set (0.00 sec)
let opts = OptsBuilder::default()
.ip_or_hostname("localhost")
.user(Some("root"))
.pass(Some("123456"))
.db_name(Some("test"))
.init(vec!["SET @rpl_semi_sync_replica = 1, @rpl_semi_sync_slave = 1"]);
let pool = Pool::new(opts);
let mut conn = pool.get_conn().await?;
println!("conn: {:?}", conn);
//conn.query_drop("SET @rpl_semi_sync_replica = 1, @rpl_semi_sync_slave = 1").await?;
let request = BinlogStreamRequest::new(3000)
.with_filename(b"mysql-bin.000001")
.with_pos(157);
let mut binlog_stream = conn.get_binlog_stream(request).await?;
let mut events_num = 0;
while let Some(event) = binlog_stream.next().await {
let event = event.unwrap();
events_num += 1;
// assert that event type is known
event.header().event_type().unwrap();
println!("event: {:?}", event);
// iterate over rows of an event
if let EventData::RowsEvent(re) = event.read_data()?.unwrap() {
let tme = binlog_stream.get_tme(re.table_id());
for row in re.rows(tme.unwrap()) {
row.unwrap();
}
}
}
thread 'main' panicked at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/mysql_common-0.35.5/src/binlog/events/mod.rs:126:37:
called Result::unwrap()
on an Err
value: Error { kind: UnexpectedEof, message: "failed to fill whole buffer" }
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:697:5
1: core::panicking::panic_fmt
at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/panicking.rs:75:14
2: core::result::unwrap_failed
at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/result.rs:1732:5
3: core::result::Result<T,E>::unwrap
at /Users/lbk/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/result.rs:1137:23
4: mysql_common::binlog::events::Event::read
at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/mysql_common-0.35.5/src/binlog/events/mod.rs:126:9
5: mysql_common::binlog::EventStreamReader::read
at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/mysql_common-0.35.5/src/binlog/mod.rs:160:21
6: <mysql_async::conn::binlog_stream::BinlogStream as futures_core::stream::Stream>::poll_next
at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/mysql_async-0.36.1/src/conn/binlog_stream/mod.rs:165:19
7: futures_util::stream::stream::StreamExt::poll_next_unpin
at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/mod.rs:1638:9
8: <futures_util::stream::stream::next::Next as core::future::future::Future>::poll
at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/next.rs:32:9
9: mysqltest::main::{{closure}}
at ./src/main.rs:39:50
10: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:60
11: tokio::task::coop::with_budget
at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
12: tokio::task::coop::budget
at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
13: tokio::runtime::park::CachedParkThread::block_on
at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:31
14: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/blocking.rs:66:9
15: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:87:13
16: tokio::runtime::context::runtime::enter_runtime
at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
17: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
18: tokio::runtime::runtime::Runtime::block_on_inner
at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:358:45
19: tokio::runtime::runtime::Runtime::block_on
at /Users/lbk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:13
20: mysqltest::main
at ./src/main.rs:64:5
21: core::ops::function::FnOnce::call_once
at /Users/lbk/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with RUST_BACKTRACE=full
for a verbose backtrace.