From 75ea43885ba7fc8a747f2bc9695fc9ba74eb6cd2 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Mon, 17 Sep 2018 23:35:38 -0700 Subject: [PATCH] ircd::m::dbs: Add conf items for column block sizes. --- include/ircd/m/dbs.h | 23 +++++ ircd/m/dbs.cc | 220 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 243 insertions(+) diff --git a/include/ircd/m/dbs.h b/include/ircd/m/dbs.h index 4db14ccb2..cbf033195 100644 --- a/include/ircd/m/dbs.h +++ b/include/ircd/m/dbs.h @@ -96,66 +96,82 @@ namespace ircd::m::dbs::desc // Direct columns // + extern conf::item events__auth_events__block__size; extern conf::item events__auth_events__cache__size; extern conf::item events__auth_events__cache_comp__size; extern const database::descriptor events_auth_events; + extern conf::item events__content__block__size; extern conf::item events__content__cache__size; extern conf::item events__content__cache_comp__size; extern const database::descriptor events_content; + extern conf::item events__depth__block__size; extern conf::item events__depth__cache__size; extern conf::item events__depth__cache_comp__size; extern const database::descriptor events_depth; + extern conf::item events__event_id__block__size; extern conf::item events__event_id__cache__size; extern conf::item events__event_id__cache_comp__size; extern const database::descriptor events_event_id; + extern conf::item events__hashes__block__size; extern conf::item events__hashes__cache__size; extern conf::item events__hashes__cache_comp__size; extern const database::descriptor events_hashes; + extern conf::item events__membership__block__size; extern conf::item events__membership__cache__size; extern conf::item events__membership__cache_comp__size; extern const database::descriptor events_membership; + extern conf::item events__origin__block__size; extern conf::item events__origin__cache__size; extern conf::item events__origin__cache_comp__size; extern const database::descriptor events_origin; + extern conf::item events__origin_server_ts__block__size; extern conf::item events__origin_server_ts__cache__size; extern conf::item events__origin_server_ts__cache_comp__size; extern const database::descriptor events_origin_server_ts; + extern conf::item events__prev_events__block__size; extern conf::item events__prev_events__cache__size; extern conf::item events__prev_events__cache_comp__size; extern const database::descriptor events_prev_events; + extern conf::item events__prev_state__block__size; extern conf::item events__prev_state__cache__size; extern conf::item events__prev_state__cache_comp__size; extern const database::descriptor events_prev_state; + extern conf::item events__redacts__block__size; extern conf::item events__redacts__cache__size; extern conf::item events__redacts__cache_comp__size; extern const database::descriptor events_redacts; + extern conf::item events__room_id__block__size; extern conf::item events__room_id__cache__size; extern conf::item events__room_id__cache_comp__size; extern const database::descriptor events_room_id; + extern conf::item events__sender__block__size; extern conf::item events__sender__cache__size; extern conf::item events__sender__cache_comp__size; extern const database::descriptor events_sender; + extern conf::item events__signatures__block__size; extern conf::item events__signatures__cache__size; extern conf::item events__signatures__cache_comp__size; extern const database::descriptor events_signatures; + extern conf::item events__state_key__block__size; extern conf::item events__state_key__cache__size; extern conf::item events__state_key__cache_comp__size; extern const database::descriptor events_state_key; + extern conf::item events__type__block__size; extern conf::item events__type__cache__size; extern conf::item events__type__cache_comp__size; extern const database::descriptor events_type; @@ -165,21 +181,25 @@ namespace ircd::m::dbs::desc // // events index + extern conf::item events__event_idx__block__size; extern conf::item events__event_idx__cache__size; extern conf::item events__event_idx__cache_comp__size; extern const database::descriptor events__event_idx; // events blacklist + extern conf::item events__event_bad__block__size; extern conf::item events__event_bad__cache__size; extern conf::item events__event_bad__cache_comp__size; extern const database::descriptor events__event_bad; // room head mapping sequence + extern conf::item events__room_head__block__size; extern conf::item events__room_head__cache__size; extern const db::prefix_transform events__room_head__pfx; extern const database::descriptor events__room_head; // room events sequence + extern conf::item events__room_events__block__size; extern conf::item events__room_events__cache__size; extern conf::item events__room_events__cache_comp__size; extern const db::prefix_transform events__room_events__pfx; @@ -187,18 +207,21 @@ namespace ircd::m::dbs::desc extern const database::descriptor events__room_events; // room present joined members sequence + extern conf::item events__room_joined__block__size; extern conf::item events__room_joined__cache__size; extern conf::item events__room_joined__cache_comp__size; extern const db::prefix_transform events__room_joined__pfx; extern const database::descriptor events__room_joined; // room present state mapping sequence + extern conf::item events__room_state__block__size; extern conf::item events__room_state__cache__size; extern conf::item events__room_state__cache_comp__size; extern const db::prefix_transform events__room_state__pfx; extern const database::descriptor events__room_state; // state btree node key-value store + extern conf::item events__state_node__block__size; extern conf::item events__state_node__cache__size; extern conf::item events__state_node__cache_comp__size; extern const database::descriptor events__state_node; diff --git a/ircd/m/dbs.cc b/ircd/m/dbs.cc index 5ee6b195c..e0da30d07 100644 --- a/ircd/m/dbs.cc +++ b/ircd/m/dbs.cc @@ -573,6 +573,13 @@ ircd::m::dbs::state_root(const mutable_buffer &out, // Database descriptors // +decltype(ircd::m::dbs::desc::events__event_idx__block__size) +ircd::m::dbs::desc::events__event_idx__block__size +{ + { "name", "ircd.m.dbs.events._event_idx.block.size" }, + { "default", 512L }, +}; + decltype(ircd::m::dbs::desc::events__event_idx__cache__size) ircd::m::dbs::desc::events__event_idx__cache__size { @@ -638,6 +645,9 @@ ircd::m::dbs::desc::events__event_idx // expect queries hit false, + + // block size + size_t(events__event_idx__block__size), }; decltype(ircd::m::dbs::desc::events__event_bad__cache__size) @@ -721,6 +731,13 @@ ircd::m::dbs::desc::events__event_bad // room_head // +decltype(ircd::m::dbs::desc::events__room_head__block__size) +ircd::m::dbs::desc::events__room_head__block__size +{ + { "name", "ircd.m.dbs.events._room_head.block.size" }, + { "default", 512L }, +}; + decltype(ircd::m::dbs::desc::events__room_head__cache__size) ircd::m::dbs::desc::events__room_head__cache__size { @@ -829,12 +846,22 @@ ircd::m::dbs::desc::events__room_head // expect queries hit false, + + // block size + size_t(events__room_head__block__size), }; // // room_events // +decltype(ircd::m::dbs::desc::events__room_events__block__size) +ircd::m::dbs::desc::events__room_events__block__size +{ + { "name", "ircd.m.dbs.events._room_events.block.size" }, + { "default", 8192L }, +}; + decltype(ircd::m::dbs::desc::events__room_events__cache__size) ircd::m::dbs::desc::events__room_events__cache__size { @@ -1082,12 +1109,22 @@ ircd::m::dbs::desc::events__room_events // expect queries hit true, + + // block size + size_t(events__room_events__block__size), }; // // joined sequential // +decltype(ircd::m::dbs::desc::events__room_joined__block__size) +ircd::m::dbs::desc::events__room_joined__block__size +{ + { "name", "ircd.m.dbs.events._room_joined.block.size" }, + { "default", 4096L }, +}; + decltype(ircd::m::dbs::desc::events__room_joined__cache__size) ircd::m::dbs::desc::events__room_joined__cache__size { @@ -1219,12 +1256,22 @@ ircd::m::dbs::desc::events__room_joined // expect queries hit false, + + // block size + size_t(events__room_joined__block__size), }; // // state sequential // +decltype(ircd::m::dbs::desc::events__room_state__block__size) +ircd::m::dbs::desc::events__room_state__block__size +{ + { "name", "ircd.m.dbs.events._room_state.block.size" }, + { "default", 8192L }, +}; + decltype(ircd::m::dbs::desc::events__room_state__cache__size) ircd::m::dbs::desc::events__room_state__cache__size { @@ -1354,12 +1401,22 @@ ircd::m::dbs::desc::events__room_state // expect queries hit false, + + // block size + size_t(events__room_state__block__size), }; // // state node // +decltype(ircd::m::dbs::desc::events__state_node__block__size) +ircd::m::dbs::desc::events__state_node__block__size +{ + { "name", "ircd.m.dbs.events._state_node.block.size" }, + { "default", 512L }, +}; + decltype(ircd::m::dbs::desc::events__state_node__cache__size) ircd::m::dbs::desc::events__state_node__cache__size { @@ -1426,6 +1483,9 @@ ircd::m::dbs::desc::events__state_node // expect queries hit true, + + // block size + size_t(events__state_node__block__size), }; // @@ -1436,6 +1496,13 @@ ircd::m::dbs::desc::events__state_node // event_id // +decltype(ircd::m::dbs::desc::events__event_id__block__size) +ircd::m::dbs::desc::events__event_id__block__size +{ + { "name", "ircd.m.dbs.events.event_id.block.size" }, + { "default", 512L }, +}; + decltype(ircd::m::dbs::desc::events__event_id__cache__size) ircd::m::dbs::desc::events__event_id__cache__size { @@ -1508,12 +1575,22 @@ ircd::m::dbs::desc::events_event_id // expect queries hit true, + + // block size + size_t(events__event_id__block__size), }; // // type // +decltype(ircd::m::dbs::desc::events__type__block__size) +ircd::m::dbs::desc::events__type__block__size +{ + { "name", "ircd.m.dbs.events.type.block.size" }, + { "default", 512L }, +}; + decltype(ircd::m::dbs::desc::events__type__cache__size) ircd::m::dbs::desc::events__type__cache__size { @@ -1587,12 +1664,22 @@ ircd::m::dbs::desc::events_type // expect queries hit true, + + // block size + size_t(events__type__block__size), }; // // content // +decltype(ircd::m::dbs::desc::events__content__block__size) +ircd::m::dbs::desc::events__content__block__size +{ + { "name", "ircd.m.dbs.events.content.block.size" }, + { "default", 2048L }, +}; + decltype(ircd::m::dbs::desc::events__content__cache__size) ircd::m::dbs::desc::events__content__cache__size { @@ -1666,12 +1753,22 @@ ircd::m::dbs::desc::events_content // expect queries hit true, + + // block size + size_t(events__content__block__size), }; // // redacts // +decltype(ircd::m::dbs::desc::events__redacts__block__size) +ircd::m::dbs::desc::events__redacts__block__size +{ + { "name", "ircd.m.dbs.events.redacts.block.size" }, + { "default", 512L }, +}; + decltype(ircd::m::dbs::desc::events__redacts__cache__size) ircd::m::dbs::desc::events__redacts__cache__size { @@ -1739,12 +1836,22 @@ ircd::m::dbs::desc::events_redacts // expect queries hit false, + + // block size + size_t(events__redacts__block__size), }; // // room_id // +decltype(ircd::m::dbs::desc::events__room_id__block__size) +ircd::m::dbs::desc::events__room_id__block__size +{ + { "name", "ircd.m.dbs.events.room_id.block.size" }, + { "default", 512L }, +}; + decltype(ircd::m::dbs::desc::events__room_id__cache__size) ircd::m::dbs::desc::events__room_id__cache__size { @@ -1817,12 +1924,22 @@ ircd::m::dbs::desc::events_room_id // expect queries hit true, + + // block size + size_t(events__room_id__block__size), }; // // sender // +decltype(ircd::m::dbs::desc::events__sender__block__size) +ircd::m::dbs::desc::events__sender__block__size +{ + { "name", "ircd.m.dbs.events.sender.block.size" }, + { "default", 512L }, +}; + decltype(ircd::m::dbs::desc::events__sender__cache__size) ircd::m::dbs::desc::events__sender__cache__size { @@ -1895,12 +2012,22 @@ ircd::m::dbs::desc::events_sender // expect queries hit true, + + // block size + size_t(events__sender__block__size), }; // // state_key // +decltype(ircd::m::dbs::desc::events__state_key__block__size) +ircd::m::dbs::desc::events__state_key__block__size +{ + { "name", "ircd.m.dbs.events.state_key.block.size" }, + { "default", 512L }, +}; + decltype(ircd::m::dbs::desc::events__state_key__cache__size) ircd::m::dbs::desc::events__state_key__cache__size { @@ -1975,12 +2102,22 @@ ircd::m::dbs::desc::events_state_key // expect queries hit false, + + // block size + size_t(events__state_key__block__size), }; // // origin // +decltype(ircd::m::dbs::desc::events__origin__block__size) +ircd::m::dbs::desc::events__origin__block__size +{ + { "name", "ircd.m.dbs.events.origin.block.size" }, + { "default", 512L }, +}; + decltype(ircd::m::dbs::desc::events__origin__cache__size) ircd::m::dbs::desc::events__origin__cache__size { @@ -2050,12 +2187,22 @@ ircd::m::dbs::desc::events_origin // expect queries hit true, + + // block size + size_t(events__origin__block__size), }; // // origin_server_ts // +decltype(ircd::m::dbs::desc::events__origin_server_ts__block__size) +ircd::m::dbs::desc::events__origin_server_ts__block__size +{ + { "name", "ircd.m.dbs.events.origin_server_ts.block.size" }, + { "default", 256L }, +}; + decltype(ircd::m::dbs::desc::events__origin_server_ts__cache__size) ircd::m::dbs::desc::events__origin_server_ts__cache__size { @@ -2129,12 +2276,22 @@ ircd::m::dbs::desc::events_origin_server_ts // expect queries hit true, + + // block size + size_t(events__origin_server_ts__block__size), }; // // signatures // +decltype(ircd::m::dbs::desc::events__signatures__block__size) +ircd::m::dbs::desc::events__signatures__block__size +{ + { "name", "ircd.m.dbs.events.signatures.block.size" }, + { "default", 512L }, +}; + decltype(ircd::m::dbs::desc::events__signatures__cache__size) ircd::m::dbs::desc::events__signatures__cache__size { @@ -2202,12 +2359,22 @@ ircd::m::dbs::desc::events_signatures // expect queries hit true, + + // block size + size_t(events__signatures__block__size), }; // // auth_events // +decltype(ircd::m::dbs::desc::events__auth_events__block__size) +ircd::m::dbs::desc::events__auth_events__block__size +{ + { "name", "ircd.m.dbs.events.auth_events.block.size" }, + { "default", 512L }, +}; + decltype(ircd::m::dbs::desc::events__auth_events__cache__size) ircd::m::dbs::desc::events__auth_events__cache__size { @@ -2274,12 +2441,22 @@ ircd::m::dbs::desc::events_auth_events // expect queries hit false, + + // block size + size_t(events__auth_events__block__size), }; // // depth // +decltype(ircd::m::dbs::desc::events__depth__block__size) +ircd::m::dbs::desc::events__depth__block__size +{ + { "name", "ircd.m.dbs.events.depth.block.size" }, + { "default", 256L }, +}; + decltype(ircd::m::dbs::desc::events__depth__cache__size) ircd::m::dbs::desc::events__depth__cache__size { @@ -2346,12 +2523,22 @@ ircd::m::dbs::desc::events_depth // expect queries hit true, + + // block size + size_t(events__depth__block__size), }; // // hashes // +decltype(ircd::m::dbs::desc::events__hashes__block__size) +ircd::m::dbs::desc::events__hashes__block__size +{ + { "name", "ircd.m.dbs.events.hashes.block.size" }, + { "default", 512L }, +}; + decltype(ircd::m::dbs::desc::events__hashes__cache__size) ircd::m::dbs::desc::events__hashes__cache__size { @@ -2418,12 +2605,22 @@ ircd::m::dbs::desc::events_hashes // expect queries hit true, + + // block size + size_t(events__hashes__block__size), }; // // membership // +decltype(ircd::m::dbs::desc::events__membership__block__size) +ircd::m::dbs::desc::events__membership__block__size +{ + { "name", "ircd.m.dbs.events.membership.block.size" }, + { "default", 256L }, +}; + decltype(ircd::m::dbs::desc::events__membership__cache__size) ircd::m::dbs::desc::events__membership__cache__size { @@ -2490,12 +2687,22 @@ ircd::m::dbs::desc::events_membership // expect queries hit false, + + // block size + size_t(events__membership__block__size), }; // // prev_events // +decltype(ircd::m::dbs::desc::events__prev_events__block__size) +ircd::m::dbs::desc::events__prev_events__block__size +{ + { "name", "ircd.m.dbs.events.prev_events.block.size" }, + { "default", 512L }, +}; + decltype(ircd::m::dbs::desc::events__prev_events__cache__size) ircd::m::dbs::desc::events__prev_events__cache__size { @@ -2562,12 +2769,22 @@ ircd::m::dbs::desc::events_prev_events // expect queries hit true, + + // block size + size_t(events__prev_events__block__size), }; // // prev_state // +decltype(ircd::m::dbs::desc::events__prev_state__block__size) +ircd::m::dbs::desc::events__prev_state__block__size +{ + { "name", "ircd.m.dbs.events.prev_state.block.size" }, + { "default", 256L }, +}; + decltype(ircd::m::dbs::desc::events__prev_state__cache__size) ircd::m::dbs::desc::events__prev_state__cache__size { @@ -2634,6 +2851,9 @@ ircd::m::dbs::desc::events_prev_state // expect queries hit false, + + // block size + size_t(events__prev_state__block__size), }; namespace ircd::m::dbs::desc