Skip to content

Commit 59868b9

Browse files
committed
DROPME try
1 parent ef5e5a2 commit 59868b9

File tree

6 files changed

+40
-8
lines changed

6 files changed

+40
-8
lines changed

.github/workflows/vss-integration.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ jobs:
7575
cd ldk-node
7676
export TEST_VSS_BASE_URL="http://localhost:8080/vss"
7777
RUSTFLAGS="--cfg vss_test" cargo build --verbose --color always
78-
RUSTFLAGS="--cfg vss_test" cargo test --test integration_tests_vss
78+
RUSTFLAGS="--cfg vss_test --cfg tokio_unstable" cargo test --test integration_tests_vss -- --nocapture
7979
8080
- name: Cleanup
8181
run: |

src/io/vss_store.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,8 @@ impl KVStore for VssStore {
136136
store_id: self.store_id.clone(),
137137
key: self.build_key(primary_namespace, secondary_namespace, key)?,
138138
};
139+
140+
println!("READ: {}/{}/{}", primary_namespace, secondary_namespace, key);
139141
let resp = self.runtime.block_on(self.client.get_object(&request)).map_err(|e| {
140142
let msg = format!(
141143
"Failed to read from key {}/{}/{}: {}",
@@ -146,6 +148,7 @@ impl KVStore for VssStore {
146148
_ => Error::new(ErrorKind::Other, msg),
147149
}
148150
})?;
151+
println!("READ DONE: {}/{}/{}", primary_namespace, secondary_namespace, key);
149152
// unwrap safety: resp.value must be always present for a non-erroneous VSS response, otherwise
150153
// it is an API-violation which is converted to [`VssError::InternalServerError`] in [`VssClient`]
151154
let storable = Storable::decode(&resp.value.unwrap().value[..]).map_err(|e| {
@@ -176,13 +179,15 @@ impl KVStore for VssStore {
176179
delete_items: vec![],
177180
};
178181

182+
println!("WRITE: {}/{}/{}", primary_namespace, secondary_namespace, key);
179183
self.runtime.block_on(self.client.put_object(&request)).map_err(|e| {
180184
let msg = format!(
181185
"Failed to write to key {}/{}/{}: {}",
182186
primary_namespace, secondary_namespace, key, e
183187
);
184188
Error::new(ErrorKind::Other, msg)
185189
})?;
190+
println!("WRITE DONE: {}/{}/{}", primary_namespace, secondary_namespace, key);
186191

187192
Ok(())
188193
}
@@ -200,19 +205,22 @@ impl KVStore for VssStore {
200205
}),
201206
};
202207

208+
println!("REMOVE: {}/{}/{}", primary_namespace, secondary_namespace, key);
203209
self.runtime.block_on(self.client.delete_object(&request)).map_err(|e| {
204210
let msg = format!(
205211
"Failed to delete key {}/{}/{}: {}",
206212
primary_namespace, secondary_namespace, key, e
207213
);
208214
Error::new(ErrorKind::Other, msg)
209215
})?;
216+
println!("REMOVE DONE: {}/{}/{}", primary_namespace, secondary_namespace, key);
210217
Ok(())
211218
}
212219

213220
fn list(&self, primary_namespace: &str, secondary_namespace: &str) -> io::Result<Vec<String>> {
214221
check_namespace_key_validity(primary_namespace, secondary_namespace, None, "list")?;
215222

223+
println!("LIST: {}/{}", primary_namespace, secondary_namespace);
216224
let keys = self
217225
.runtime
218226
.block_on(self.list_all_keys(primary_namespace, secondary_namespace))
@@ -223,6 +231,7 @@ impl KVStore for VssStore {
223231
);
224232
Error::new(ErrorKind::Other, msg)
225233
})?;
234+
println!("LIST DONE: {}/{}", primary_namespace, secondary_namespace);
226235

227236
Ok(keys)
228237
}

src/runtime.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,15 @@ impl Runtime {
5555
// to detect the outer context here, and otherwise use whatever was set during
5656
// initialization.
5757
let handle = tokio::runtime::Handle::try_current().unwrap_or(self.handle());
58+
#[cfg(tokio_unstable)]
59+
{
60+
println!("Tokio blocking queue depth: {}", handle.metrics().blocking_queue_depth());
61+
println!(
62+
"Tokio num_blocking_threads {} / idle_blocking_threads {}",
63+
handle.metrics().num_blocking_threads(),
64+
handle.metrics().num_idle_blocking_threads()
65+
);
66+
}
5867
tokio::task::block_in_place(move || handle.block_on(future))
5968
}
6069

tests/common/logging.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,12 @@ impl Default for TestLogWriter {
2222

2323
pub(crate) struct MockLogFacadeLogger {
2424
logs: Arc<Mutex<Vec<String>>>,
25+
prefix: String,
2526
}
2627

2728
impl MockLogFacadeLogger {
28-
pub fn new() -> Self {
29-
Self { logs: Arc::new(Mutex::new(Vec::new())) }
29+
pub fn new(prefix: String) -> Self {
30+
Self { prefix, logs: Arc::new(Mutex::new(Vec::new())) }
3031
}
3132

3233
pub fn retrieve_logs(&self) -> Vec<String> {
@@ -48,6 +49,7 @@ impl LogFacadeLog for MockLogFacadeLogger {
4849
record.line().unwrap(),
4950
record.args()
5051
);
52+
println!("{}: {}", self.prefix, message);
5153
self.logs.lock().unwrap().push(message);
5254
}
5355

@@ -95,8 +97,10 @@ impl<'a> From<MockLogRecord<'a>> for LogFacadeRecord<'a> {
9597
}
9698
}
9799

98-
pub(crate) fn init_log_logger(level: LogFacadeLevelFilter) -> Arc<MockLogFacadeLogger> {
99-
let logger = Arc::new(MockLogFacadeLogger::new());
100+
pub(crate) fn init_log_logger(
101+
prefix: String, level: LogFacadeLevelFilter,
102+
) -> Arc<MockLogFacadeLogger> {
103+
let logger = Arc::new(MockLogFacadeLogger::new(prefix));
100104
log::set_boxed_logger(Box::new(logger.clone())).unwrap();
101105
log::set_max_level(level);
102106

tests/integration_tests_rust.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1275,7 +1275,7 @@ fn facade_logging() {
12751275
let (_bitcoind, electrsd) = setup_bitcoind_and_electrsd();
12761276
let chain_source = TestChainSource::Esplora(&electrsd);
12771277

1278-
let logger = init_log_logger(LevelFilter::Trace);
1278+
let logger = init_log_logger("".to_owned(), LevelFilter::Trace);
12791279
let mut config = random_config(false);
12801280
config.log_writer = TestLogWriter::LogFacade;
12811281

tests/integration_tests_vss.rs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,23 @@
99

1010
mod common;
1111

12+
use common::logging::{init_log_logger, TestLogWriter};
1213
use ldk_node::Builder;
14+
use log::LevelFilter;
1315
use std::collections::HashMap;
1416

1517
#[test]
1618
fn channel_full_cycle_with_vss_store() {
1719
let (bitcoind, electrsd) = common::setup_bitcoind_and_electrsd();
1820
println!("== Node A ==");
1921
let esplora_url = format!("http://{}", electrsd.esplora_url.as_ref().unwrap());
20-
let config_a = common::random_config(true);
22+
let mut config_a = common::random_config(true);
23+
let prefix_a = "A".to_string();
24+
let logger_a = init_log_logger(prefix_a, LevelFilter::Trace);
25+
config_a.log_writer = TestLogWriter::LogFacade;
2126
let mut builder_a = Builder::from_config(config_a.node_config);
2227
builder_a.set_chain_source_esplora(esplora_url.clone(), None);
28+
builder_a.set_log_facade_logger();
2329
let vss_base_url = std::env::var("TEST_VSS_BASE_URL").unwrap();
2430
let node_a = builder_a
2531
.build_with_vss_store_and_fixed_headers(
@@ -31,9 +37,13 @@ fn channel_full_cycle_with_vss_store() {
3137
node_a.start().unwrap();
3238

3339
println!("\n== Node B ==");
34-
let config_b = common::random_config(true);
40+
let mut config_b = common::random_config(true);
41+
//let prefix_b = "B".to_string();
42+
//let logger_b = init_log_logger(prefix_b, LevelFilter::Trace);
43+
//config_a.log_writer = TestLogWriter::LogFacade;
3544
let mut builder_b = Builder::from_config(config_b.node_config);
3645
builder_b.set_chain_source_esplora(esplora_url.clone(), None);
46+
//builder_b.set_log_facade_logger();
3747
let node_b = builder_b
3848
.build_with_vss_store_and_fixed_headers(
3949
vss_base_url,

0 commit comments

Comments
 (0)