Skip to content

Commit 1660c72

Browse files
committed
Rename persistence namespace/key constants to be more concise
The constants in `lightning::util::persist` are sufficiently long that its often difficult eyeball their correctness which nearly led to several bugs when adding async support. Here we take a further step towards condensing them by making them somewhat more concise, dropping words which are obvious from context. Importantly, this changes the prefix for monitor *update* persistence namespaces from monitor persistence namespaces so that they are visually distinct. This runs the following replacements: * s/_PERSISTENCE_/_/g * s/CHANNEL_MONITOR_UPDATE/MONITOR_UPDATE/g * s/ARCHIVED_CHANNEL_MONITOR/ARCHIVED_MONITOR/g
1 parent c08ea1d commit 1660c72

File tree

4 files changed

+141
-178
lines changed

4 files changed

+141
-178
lines changed

lightning-background-processor/src/lib.rs

Lines changed: 59 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,10 @@ use lightning::sign::{
5353
};
5454
use lightning::util::logger::Logger;
5555
use lightning::util::persist::{
56-
KVStore, KVStoreSync, KVStoreSyncWrapper, CHANNEL_MANAGER_PERSISTENCE_KEY,
57-
CHANNEL_MANAGER_PERSISTENCE_PRIMARY_NAMESPACE, CHANNEL_MANAGER_PERSISTENCE_SECONDARY_NAMESPACE,
58-
NETWORK_GRAPH_PERSISTENCE_KEY, NETWORK_GRAPH_PERSISTENCE_PRIMARY_NAMESPACE,
59-
NETWORK_GRAPH_PERSISTENCE_SECONDARY_NAMESPACE, SCORER_PERSISTENCE_KEY,
60-
SCORER_PERSISTENCE_PRIMARY_NAMESPACE, SCORER_PERSISTENCE_SECONDARY_NAMESPACE,
56+
KVStore, KVStoreSync, KVStoreSyncWrapper, CHANNEL_MANAGER_KEY,
57+
CHANNEL_MANAGER_PRIMARY_NAMESPACE, CHANNEL_MANAGER_SECONDARY_NAMESPACE, NETWORK_GRAPH_KEY,
58+
NETWORK_GRAPH_PRIMARY_NAMESPACE, NETWORK_GRAPH_SECONDARY_NAMESPACE, SCORER_KEY,
59+
SCORER_PRIMARY_NAMESPACE, SCORER_SECONDARY_NAMESPACE,
6160
};
6261
use lightning::util::sweep::{OutputSweeper, OutputSweeperSync};
6362
#[cfg(feature = "std")]
@@ -944,9 +943,9 @@ where
944943
log_trace!(logger, "Persisting scorer after update");
945944
if let Err(e) = kv_store
946945
.write(
947-
SCORER_PERSISTENCE_PRIMARY_NAMESPACE,
948-
SCORER_PERSISTENCE_SECONDARY_NAMESPACE,
949-
SCORER_PERSISTENCE_KEY,
946+
SCORER_PRIMARY_NAMESPACE,
947+
SCORER_SECONDARY_NAMESPACE,
948+
SCORER_KEY,
950949
scorer.encode(),
951950
)
952951
.await
@@ -1080,9 +1079,9 @@ where
10801079
let fut = async {
10811080
kv_store
10821081
.write(
1083-
CHANNEL_MANAGER_PERSISTENCE_PRIMARY_NAMESPACE,
1084-
CHANNEL_MANAGER_PERSISTENCE_SECONDARY_NAMESPACE,
1085-
CHANNEL_MANAGER_PERSISTENCE_KEY,
1082+
CHANNEL_MANAGER_PRIMARY_NAMESPACE,
1083+
CHANNEL_MANAGER_SECONDARY_NAMESPACE,
1084+
CHANNEL_MANAGER_KEY,
10861085
channel_manager.get_cm().encode(),
10871086
)
10881087
.await
@@ -1143,9 +1142,9 @@ where
11431142
let fut = async {
11441143
if let Err(e) = kv_store
11451144
.write(
1146-
NETWORK_GRAPH_PERSISTENCE_PRIMARY_NAMESPACE,
1147-
NETWORK_GRAPH_PERSISTENCE_SECONDARY_NAMESPACE,
1148-
NETWORK_GRAPH_PERSISTENCE_KEY,
1145+
NETWORK_GRAPH_PRIMARY_NAMESPACE,
1146+
NETWORK_GRAPH_SECONDARY_NAMESPACE,
1147+
NETWORK_GRAPH_KEY,
11491148
network_graph.encode(),
11501149
)
11511150
.await
@@ -1185,9 +1184,9 @@ where
11851184
let fut = async {
11861185
if let Err(e) = kv_store
11871186
.write(
1188-
SCORER_PERSISTENCE_PRIMARY_NAMESPACE,
1189-
SCORER_PERSISTENCE_SECONDARY_NAMESPACE,
1190-
SCORER_PERSISTENCE_KEY,
1187+
SCORER_PRIMARY_NAMESPACE,
1188+
SCORER_SECONDARY_NAMESPACE,
1189+
SCORER_KEY,
11911190
scorer.encode(),
11921191
)
11931192
.await
@@ -1301,28 +1300,28 @@ where
13011300
// ChannelMonitor update(s) persisted without a corresponding ChannelManager update.
13021301
kv_store
13031302
.write(
1304-
CHANNEL_MANAGER_PERSISTENCE_PRIMARY_NAMESPACE,
1305-
CHANNEL_MANAGER_PERSISTENCE_SECONDARY_NAMESPACE,
1306-
CHANNEL_MANAGER_PERSISTENCE_KEY,
1303+
CHANNEL_MANAGER_PRIMARY_NAMESPACE,
1304+
CHANNEL_MANAGER_SECONDARY_NAMESPACE,
1305+
CHANNEL_MANAGER_KEY,
13071306
channel_manager.get_cm().encode(),
13081307
)
13091308
.await?;
13101309
if let Some(ref scorer) = scorer {
13111310
kv_store
13121311
.write(
1313-
SCORER_PERSISTENCE_PRIMARY_NAMESPACE,
1314-
SCORER_PERSISTENCE_SECONDARY_NAMESPACE,
1315-
SCORER_PERSISTENCE_KEY,
1312+
SCORER_PRIMARY_NAMESPACE,
1313+
SCORER_SECONDARY_NAMESPACE,
1314+
SCORER_KEY,
13161315
scorer.encode(),
13171316
)
13181317
.await?;
13191318
}
13201319
if let Some(network_graph) = gossip_sync.network_graph() {
13211320
kv_store
13221321
.write(
1323-
NETWORK_GRAPH_PERSISTENCE_PRIMARY_NAMESPACE,
1324-
NETWORK_GRAPH_PERSISTENCE_SECONDARY_NAMESPACE,
1325-
NETWORK_GRAPH_PERSISTENCE_KEY,
1322+
NETWORK_GRAPH_PRIMARY_NAMESPACE,
1323+
NETWORK_GRAPH_SECONDARY_NAMESPACE,
1324+
NETWORK_GRAPH_KEY,
13261325
network_graph.encode(),
13271326
)
13281327
.await?;
@@ -1527,9 +1526,9 @@ impl BackgroundProcessor {
15271526
if update_scorer(scorer, &event, duration_since_epoch) {
15281527
log_trace!(logger, "Persisting scorer after update");
15291528
if let Err(e) = kv_store.write(
1530-
SCORER_PERSISTENCE_PRIMARY_NAMESPACE,
1531-
SCORER_PERSISTENCE_SECONDARY_NAMESPACE,
1532-
SCORER_PERSISTENCE_KEY,
1529+
SCORER_PRIMARY_NAMESPACE,
1530+
SCORER_SECONDARY_NAMESPACE,
1531+
SCORER_KEY,
15331532
scorer.encode(),
15341533
) {
15351534
log_error!(logger, "Error: Failed to persist scorer, check your disk and permissions {}", e)
@@ -1627,9 +1626,9 @@ impl BackgroundProcessor {
16271626
if channel_manager.get_cm().get_and_clear_needs_persistence() {
16281627
log_trace!(logger, "Persisting ChannelManager...");
16291628
(kv_store.write(
1630-
CHANNEL_MANAGER_PERSISTENCE_PRIMARY_NAMESPACE,
1631-
CHANNEL_MANAGER_PERSISTENCE_SECONDARY_NAMESPACE,
1632-
CHANNEL_MANAGER_PERSISTENCE_KEY,
1629+
CHANNEL_MANAGER_PRIMARY_NAMESPACE,
1630+
CHANNEL_MANAGER_SECONDARY_NAMESPACE,
1631+
CHANNEL_MANAGER_KEY,
16331632
channel_manager.get_cm().encode(),
16341633
))?;
16351634
log_trace!(logger, "Done persisting ChannelManager.");
@@ -1666,9 +1665,9 @@ impl BackgroundProcessor {
16661665
duration_since_epoch.as_secs(),
16671666
);
16681667
if let Err(e) = kv_store.write(
1669-
NETWORK_GRAPH_PERSISTENCE_PRIMARY_NAMESPACE,
1670-
NETWORK_GRAPH_PERSISTENCE_SECONDARY_NAMESPACE,
1671-
NETWORK_GRAPH_PERSISTENCE_KEY,
1668+
NETWORK_GRAPH_PRIMARY_NAMESPACE,
1669+
NETWORK_GRAPH_SECONDARY_NAMESPACE,
1670+
NETWORK_GRAPH_KEY,
16721671
network_graph.encode(),
16731672
) {
16741673
log_error!(logger, "Error: Failed to persist network graph, check your disk and permissions {}", e);
@@ -1695,9 +1694,9 @@ impl BackgroundProcessor {
16951694
log_trace!(logger, "Calling time_passed and persisting scorer");
16961695
scorer.write_lock().time_passed(duration_since_epoch);
16971696
if let Err(e) = kv_store.write(
1698-
SCORER_PERSISTENCE_PRIMARY_NAMESPACE,
1699-
SCORER_PERSISTENCE_SECONDARY_NAMESPACE,
1700-
SCORER_PERSISTENCE_KEY,
1697+
SCORER_PRIMARY_NAMESPACE,
1698+
SCORER_SECONDARY_NAMESPACE,
1699+
SCORER_KEY,
17011700
scorer.encode(),
17021701
) {
17031702
log_error!(logger, "Error: Failed to persist scorer, check your disk and permissions {}", e);
@@ -1735,24 +1734,24 @@ impl BackgroundProcessor {
17351734
// some races where users quit while channel updates were in-flight, with
17361735
// ChannelMonitor update(s) persisted without a corresponding ChannelManager update.
17371736
kv_store.write(
1738-
CHANNEL_MANAGER_PERSISTENCE_PRIMARY_NAMESPACE,
1739-
CHANNEL_MANAGER_PERSISTENCE_SECONDARY_NAMESPACE,
1740-
CHANNEL_MANAGER_PERSISTENCE_KEY,
1737+
CHANNEL_MANAGER_PRIMARY_NAMESPACE,
1738+
CHANNEL_MANAGER_SECONDARY_NAMESPACE,
1739+
CHANNEL_MANAGER_KEY,
17411740
channel_manager.get_cm().encode(),
17421741
)?;
17431742
if let Some(ref scorer) = scorer {
17441743
kv_store.write(
1745-
SCORER_PERSISTENCE_PRIMARY_NAMESPACE,
1746-
SCORER_PERSISTENCE_SECONDARY_NAMESPACE,
1747-
SCORER_PERSISTENCE_KEY,
1744+
SCORER_PRIMARY_NAMESPACE,
1745+
SCORER_SECONDARY_NAMESPACE,
1746+
SCORER_KEY,
17481747
scorer.encode(),
17491748
)?;
17501749
}
17511750
if let Some(network_graph) = gossip_sync.network_graph() {
17521751
kv_store.write(
1753-
NETWORK_GRAPH_PERSISTENCE_PRIMARY_NAMESPACE,
1754-
NETWORK_GRAPH_PERSISTENCE_SECONDARY_NAMESPACE,
1755-
NETWORK_GRAPH_PERSISTENCE_KEY,
1752+
NETWORK_GRAPH_PRIMARY_NAMESPACE,
1753+
NETWORK_GRAPH_SECONDARY_NAMESPACE,
1754+
NETWORK_GRAPH_KEY,
17561755
network_graph.encode(),
17571756
)?;
17581757
}
@@ -1844,12 +1843,10 @@ mod tests {
18441843
use lightning::types::payment::PaymentHash;
18451844
use lightning::util::config::UserConfig;
18461845
use lightning::util::persist::{
1847-
KVStoreSync, KVStoreSyncWrapper, CHANNEL_MANAGER_PERSISTENCE_KEY,
1848-
CHANNEL_MANAGER_PERSISTENCE_PRIMARY_NAMESPACE,
1849-
CHANNEL_MANAGER_PERSISTENCE_SECONDARY_NAMESPACE, NETWORK_GRAPH_PERSISTENCE_KEY,
1850-
NETWORK_GRAPH_PERSISTENCE_PRIMARY_NAMESPACE, NETWORK_GRAPH_PERSISTENCE_SECONDARY_NAMESPACE,
1851-
SCORER_PERSISTENCE_KEY, SCORER_PERSISTENCE_PRIMARY_NAMESPACE,
1852-
SCORER_PERSISTENCE_SECONDARY_NAMESPACE,
1846+
KVStoreSync, KVStoreSyncWrapper, CHANNEL_MANAGER_KEY, CHANNEL_MANAGER_PRIMARY_NAMESPACE,
1847+
CHANNEL_MANAGER_SECONDARY_NAMESPACE, NETWORK_GRAPH_KEY, NETWORK_GRAPH_PRIMARY_NAMESPACE,
1848+
NETWORK_GRAPH_SECONDARY_NAMESPACE, SCORER_KEY, SCORER_PRIMARY_NAMESPACE,
1849+
SCORER_SECONDARY_NAMESPACE,
18531850
};
18541851
use lightning::util::ser::Writeable;
18551852
use lightning::util::sweep::{
@@ -2104,18 +2101,18 @@ mod tests {
21042101
fn write(
21052102
&self, primary_namespace: &str, secondary_namespace: &str, key: &str, buf: Vec<u8>,
21062103
) -> lightning::io::Result<()> {
2107-
if primary_namespace == CHANNEL_MANAGER_PERSISTENCE_PRIMARY_NAMESPACE
2108-
&& secondary_namespace == CHANNEL_MANAGER_PERSISTENCE_SECONDARY_NAMESPACE
2109-
&& key == CHANNEL_MANAGER_PERSISTENCE_KEY
2104+
if primary_namespace == CHANNEL_MANAGER_PRIMARY_NAMESPACE
2105+
&& secondary_namespace == CHANNEL_MANAGER_SECONDARY_NAMESPACE
2106+
&& key == CHANNEL_MANAGER_KEY
21102107
{
21112108
if let Some((error, message)) = self.manager_error {
21122109
return Err(std::io::Error::new(error, message).into());
21132110
}
21142111
}
21152112

2116-
if primary_namespace == NETWORK_GRAPH_PERSISTENCE_PRIMARY_NAMESPACE
2117-
&& secondary_namespace == NETWORK_GRAPH_PERSISTENCE_SECONDARY_NAMESPACE
2118-
&& key == NETWORK_GRAPH_PERSISTENCE_KEY
2113+
if primary_namespace == NETWORK_GRAPH_PRIMARY_NAMESPACE
2114+
&& secondary_namespace == NETWORK_GRAPH_SECONDARY_NAMESPACE
2115+
&& key == NETWORK_GRAPH_KEY
21192116
{
21202117
if let Some(sender) = &self.graph_persistence_notifier {
21212118
match sender.send(()) {
@@ -2131,9 +2128,9 @@ mod tests {
21312128
}
21322129
}
21332130

2134-
if primary_namespace == SCORER_PERSISTENCE_PRIMARY_NAMESPACE
2135-
&& secondary_namespace == SCORER_PERSISTENCE_SECONDARY_NAMESPACE
2136-
&& key == SCORER_PERSISTENCE_KEY
2131+
if primary_namespace == SCORER_PRIMARY_NAMESPACE
2132+
&& secondary_namespace == SCORER_SECONDARY_NAMESPACE
2133+
&& key == SCORER_KEY
21372134
{
21382135
if let Some((error, message)) = self.scorer_error {
21392136
return Err(std::io::Error::new(error, message).into());

lightning/src/ln/chanmon_update_fail_tests.rs

Lines changed: 16 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,8 @@ use crate::ln::types::ChannelId;
2828
use crate::sign::NodeSigner;
2929
use crate::util::native_async::FutureQueue;
3030
use crate::util::persist::{
31-
MonitorName, MonitorUpdatingPersisterAsync, CHANNEL_MONITOR_PERSISTENCE_PRIMARY_NAMESPACE,
32-
CHANNEL_MONITOR_PERSISTENCE_SECONDARY_NAMESPACE,
33-
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
31+
MonitorName, MonitorUpdatingPersisterAsync, CHANNEL_MONITOR_PRIMARY_NAMESPACE,
32+
CHANNEL_MONITOR_SECONDARY_NAMESPACE, MONITOR_UPDATE_PRIMARY_NAMESPACE,
3433
};
3534
use crate::util::ser::{ReadableArgs, Writeable};
3635
use crate::util::test_channel_signer::TestChannelSigner;
@@ -4940,8 +4939,8 @@ fn native_async_persist() {
49404939
let funding_txo = OutPoint { txid: funding_tx.compute_txid(), index: 0 };
49414940
let key = MonitorName::V1Channel(funding_txo).to_string();
49424941
let pending_writes = kv_store.list_pending_async_writes(
4943-
CHANNEL_MONITOR_PERSISTENCE_PRIMARY_NAMESPACE,
4944-
CHANNEL_MONITOR_PERSISTENCE_SECONDARY_NAMESPACE,
4942+
CHANNEL_MONITOR_PRIMARY_NAMESPACE,
4943+
CHANNEL_MONITOR_SECONDARY_NAMESPACE,
49454944
&key,
49464945
);
49474946
assert_eq!(pending_writes.len(), 1);
@@ -4971,37 +4970,21 @@ fn native_async_persist() {
49714970
persist_futures.poll_futures();
49724971
assert_eq!(async_chain_monitor.release_pending_monitor_events().len(), 0);
49734972

4974-
let pending_writes = kv_store.list_pending_async_writes(
4975-
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
4976-
&key,
4977-
"1",
4978-
);
4973+
let pending_writes =
4974+
kv_store.list_pending_async_writes(MONITOR_UPDATE_PRIMARY_NAMESPACE, &key, "1");
49794975
assert_eq!(pending_writes.len(), 1);
4980-
let pending_writes = kv_store.list_pending_async_writes(
4981-
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
4982-
&key,
4983-
"2",
4984-
);
4976+
let pending_writes =
4977+
kv_store.list_pending_async_writes(MONITOR_UPDATE_PRIMARY_NAMESPACE, &key, "2");
49854978
assert_eq!(pending_writes.len(), 1);
49864979

4987-
kv_store.complete_async_writes_through(
4988-
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
4989-
&key,
4990-
"1",
4991-
usize::MAX,
4992-
);
4980+
kv_store.complete_async_writes_through(MONITOR_UPDATE_PRIMARY_NAMESPACE, &key, "1", usize::MAX);
49934981
persist_futures.poll_futures();
49944982
// While the `ChainMonitor` could return a `MonitorEvent::Completed` here, it currently
49954983
// doesn't. If that ever changes we should validate that the `Completed` event has the correct
49964984
// `monitor_update_id` (1).
49974985
assert!(async_chain_monitor.release_pending_monitor_events().is_empty());
49984986

4999-
kv_store.complete_async_writes_through(
5000-
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
5001-
&key,
5002-
"2",
5003-
usize::MAX,
5004-
);
4987+
kv_store.complete_async_writes_through(MONITOR_UPDATE_PRIMARY_NAMESPACE, &key, "2", usize::MAX);
50054988
persist_futures.poll_futures();
50064989
let completed_persist = async_chain_monitor.release_pending_monitor_events();
50074990
assert_eq!(completed_persist.len(), 1);
@@ -5020,34 +5003,18 @@ fn native_async_persist() {
50205003
persist_futures.poll_futures();
50215004
assert_eq!(async_chain_monitor.release_pending_monitor_events().len(), 0);
50225005

5023-
let pending_writes = kv_store.list_pending_async_writes(
5024-
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
5025-
&key,
5026-
"3",
5027-
);
5006+
let pending_writes =
5007+
kv_store.list_pending_async_writes(MONITOR_UPDATE_PRIMARY_NAMESPACE, &key, "3");
50285008
assert_eq!(pending_writes.len(), 1);
5029-
let pending_writes = kv_store.list_pending_async_writes(
5030-
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
5031-
&key,
5032-
"4",
5033-
);
5009+
let pending_writes =
5010+
kv_store.list_pending_async_writes(MONITOR_UPDATE_PRIMARY_NAMESPACE, &key, "4");
50345011
assert_eq!(pending_writes.len(), 1);
50355012

5036-
kv_store.complete_async_writes_through(
5037-
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
5038-
&key,
5039-
"4",
5040-
usize::MAX,
5041-
);
5013+
kv_store.complete_async_writes_through(MONITOR_UPDATE_PRIMARY_NAMESPACE, &key, "4", usize::MAX);
50425014
persist_futures.poll_futures();
50435015
assert_eq!(async_chain_monitor.release_pending_monitor_events().len(), 0);
50445016

5045-
kv_store.complete_async_writes_through(
5046-
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
5047-
&key,
5048-
"3",
5049-
usize::MAX,
5050-
);
5017+
kv_store.complete_async_writes_through(MONITOR_UPDATE_PRIMARY_NAMESPACE, &key, "3", usize::MAX);
50515018
persist_futures.poll_futures();
50525019
let completed_persist = async_chain_monitor.release_pending_monitor_events();
50535020
assert_eq!(completed_persist.len(), 1);

0 commit comments

Comments
 (0)