diff options
author | Igor Zinkovsky <igor@deno.com> | 2023-11-02 11:57:11 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-02 11:57:11 -0700 |
commit | 1d0856a4f1ef54ada163f1336100c45058e293d8 (patch) | |
tree | fe6e97f32805762fcf1ad618bd207fa744d61bb9 /ext | |
parent | 41877a0b3735d52db8b4f5047b1d4d61e37ba585 (diff) |
feat(ext/kv): increase checks limit (#21055)
Diffstat (limited to 'ext')
-rw-r--r-- | ext/kv/lib.rs | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/ext/kv/lib.rs b/ext/kv/lib.rs index d357a2927..c0091d75d 100644 --- a/ext/kv/lib.rs +++ b/ext/kv/lib.rs @@ -60,7 +60,7 @@ const MAX_READ_KEY_SIZE_BYTES: usize = MAX_WRITE_KEY_SIZE_BYTES + 1; const MAX_VALUE_SIZE_BYTES: usize = 65536; const MAX_READ_RANGES: usize = 10; const MAX_READ_ENTRIES: usize = 1000; -const MAX_CHECKS: usize = 10; +const MAX_CHECKS: usize = 100; const MAX_MUTATIONS: usize = 1000; const MAX_TOTAL_MUTATION_SIZE_BYTES: usize = 800 * 1024; const MAX_TOTAL_KEY_SIZE_BYTES: usize = 80 * 1024; @@ -669,13 +669,16 @@ where return Err(type_error("key cannot be empty")); } - let checked_size = check_write_key_size(key)?; - total_payload_size += checked_size; - total_key_size += checked_size; + total_payload_size += check_write_key_size(key)?; } - for value in mutations.iter().flat_map(|m| m.kind.value()) { - total_payload_size += check_value_size(value)?; + for (key, value) in mutations + .iter() + .flat_map(|m| m.kind.value().map(|x| (&m.key, x))) + { + let key_size = check_write_key_size(key)?; + total_payload_size += check_value_size(value)? + key_size; + total_key_size += key_size; } for enqueue in &enqueues { |