Skip to content

Commit 458002e

Browse files
committed
Address @rozbb's comments and use const generics for serde default fns
* Change disable_dedup -> enable_dedup * Use const generics to supply default values in config * Fix comment for sequence_skip_threshold_millis, as setting it to 0 makes it Some(0) in the code, while not specifying makes it None
1 parent cd3f536 commit 458002e

File tree

5 files changed

+25
-33
lines changed

5 files changed

+25
-33
lines changed

crates/ct_worker/config.schema.json

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,7 @@
8181
},
8282
"sequence_skip_threshold_millis": {
8383
"type": "integer",
84-
"default": 0,
85-
"description": "If non-zero, entries will only be skipped by sequencing (when max_sequenced_skips is non-zero) if they have been in the pool for less than this timeout."
84+
"description": "If provided, entries will only be skipped by sequencing (when max_sequenced_skips is non-zero) if they have been in the pool for less than this timeout."
8685
},
8786
"num_batchers": {
8887
"type": "integer",
@@ -103,10 +102,10 @@
103102
"default": 1000,
104103
"description": "The maximum number of entries per batch."
105104
},
106-
"disable_dedup": {
105+
"enable_dedup": {
107106
"type": "boolean",
108-
"default": false,
109-
"description": "Disable checking the deduplication cache for add-(pre-)chain requests (e.g., for tests or benchmarks)."
107+
"default": true,
108+
"description": "Enables checking the deduplication cache for add-(pre-)chain requests. Can be disable for tests and benchmarks."
110109
}
111110
},
112111
"required": [

crates/ct_worker/config/src/lib.rs

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -27,37 +27,30 @@ pub struct LogParams {
2727
pub submission_url: String,
2828
pub temporal_interval: TemporalInterval,
2929
pub location_hint: Option<String>,
30-
#[serde(default = "default_sequence_interval_millis")]
30+
#[serde(default = "default_u64::<1000>")]
3131
pub sequence_interval_millis: u64,
32-
#[serde(default = "default_max_sequence_skips")]
32+
#[serde(default = "default_usize::<0>")]
3333
pub max_sequence_skips: usize,
3434
pub sequence_skip_threshold_millis: Option<u64>,
35-
#[serde(default = "default_num_batchers")]
35+
#[serde(default = "default_u8::<8>")]
3636
pub num_batchers: u8,
37-
#[serde(default = "default_batch_timeout_millis")]
37+
#[serde(default = "default_u64::<1000>")]
3838
pub batch_timeout_millis: u64,
39-
#[serde(default = "default_max_batch_entries")]
39+
#[serde(default = "default_usize::<100>")]
4040
pub max_batch_entries: usize,
41-
#[serde(default)]
42-
pub disable_dedup: bool,
43-
}
44-
45-
fn default_sequence_interval_millis() -> u64 {
46-
1000
41+
#[serde(default = "default_bool::<true>")]
42+
pub enable_dedup: bool,
4743
}
4844

49-
fn default_max_sequence_skips() -> usize {
50-
0
45+
fn default_bool<const V: bool>() -> bool {
46+
V
5147
}
52-
53-
fn default_num_batchers() -> u8 {
54-
8
48+
fn default_u8<const V: u8>() -> u8 {
49+
V
5550
}
56-
57-
fn default_batch_timeout_millis() -> u64 {
58-
1000
51+
fn default_u64<const V: u64>() -> u64 {
52+
V
5953
}
60-
61-
fn default_max_batch_entries() -> usize {
62-
100
54+
fn default_usize<const V: usize>() -> usize {
55+
V
6356
}

crates/ct_worker/src/ctlog.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ pub(crate) struct LogConfig {
6363
pub(crate) sequence_interval: Duration,
6464
pub(crate) max_sequence_skips: usize,
6565
pub(crate) sequence_skip_threshold_millis: Option<u64>,
66-
pub(crate) disable_dedup: bool,
66+
pub(crate) enable_dedup: bool,
6767
}
6868

6969
#[cfg(test)]
@@ -77,7 +77,7 @@ impl LogConfig {
7777
sequence_interval: self.sequence_interval,
7878
max_sequence_skips: self.max_sequence_skips,
7979
sequence_skip_threshold_millis: None,
80-
disable_dedup: false,
80+
enable_dedup: true,
8181
}
8282
}
8383
}
@@ -506,7 +506,7 @@ pub(crate) fn add_leaf_to_pool<E: PendingLogEntryTrait>(
506506
) -> AddLeafResult {
507507
let hash = entry.lookup_key();
508508

509-
if config.disable_dedup {
509+
if !config.enable_dedup {
510510
// Bypass deduplication and rate limit checks.
511511
state.add(hash, entry)
512512
} else if let Some(result) = state.check(&hash) {
@@ -2126,7 +2126,7 @@ mod tests {
21262126
checkpoint_signers,
21272127
sequence_interval: Duration::from_secs(1),
21282128
max_sequence_skips: 0,
2129-
disable_dedup: false,
2129+
enable_dedup: true,
21302130
sequence_skip_threshold_millis: None,
21312131
};
21322132
let pool_state = PoolState::default();

crates/ct_worker/src/frontend_worker.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ async fn add_chain_or_pre_chain(
205205

206206
// Check if entry is cached and return right away if so.
207207
let kv = load_cache_kv(env, name)?;
208-
if !params.disable_dedup {
208+
if params.enable_dedup {
209209
if let Some(metadata) = kv
210210
.get(&BASE64_STANDARD.encode(lookup_key))
211211
.bytes_with_metadata::<SequenceMetadata>()

crates/ct_worker/src/sequencer_do.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ impl<E: PendingLogEntryTrait> GenericSequencer<E> {
215215
checkpoint_signers,
216216
sequence_interval,
217217
max_sequence_skips: params.max_sequence_skips,
218-
disable_dedup: params.disable_dedup,
218+
enable_dedup: params.enable_dedup,
219219
sequence_skip_threshold_millis: params.sequence_skip_threshold_millis,
220220
});
221221
self.public_bucket = Some(ObjectBucket {

0 commit comments

Comments
 (0)