mirror of
https://github.com/stalwartlabs/mail-server.git
synced 2024-09-20 07:16:18 +08:00
Add sql replicas to stores
This commit is contained in:
parent
d5f356ae6f
commit
e2eb851bfc
|
@ -228,6 +228,12 @@ impl Stores {
|
||||||
#[cfg(feature = "enterprise")]
|
#[cfg(feature = "enterprise")]
|
||||||
for (id, protocol) in composite_stores {
|
for (id, protocol) in composite_stores {
|
||||||
let prefix = ("store", id.as_str());
|
let prefix = ("store", id.as_str());
|
||||||
|
let compression = config
|
||||||
|
.property_or_default::<CompressionAlgo>(
|
||||||
|
("store", id.as_str(), "compression"),
|
||||||
|
"none",
|
||||||
|
)
|
||||||
|
.unwrap_or(CompressionAlgo::None);
|
||||||
match protocol.as_str() {
|
match protocol.as_str() {
|
||||||
"sql-read-replica" => {
|
"sql-read-replica" => {
|
||||||
if let Some(db) = crate::backend::composite::read_replica::SQLReadReplica::open(
|
if let Some(db) = crate::backend::composite::read_replica::SQLReadReplica::open(
|
||||||
|
@ -238,7 +244,14 @@ impl Stores {
|
||||||
)
|
)
|
||||||
.await
|
.await
|
||||||
{
|
{
|
||||||
self.stores.insert(id, Store::SQLReadReplica(db.into()));
|
let db = Store::SQLReadReplica(db.into());
|
||||||
|
self.stores.insert(id.to_string(), db.clone());
|
||||||
|
self.fts_stores.insert(id.to_string(), db.clone().into());
|
||||||
|
self.blob_stores.insert(
|
||||||
|
id.to_string(),
|
||||||
|
BlobStore::from(db.clone()).with_compression(compression),
|
||||||
|
);
|
||||||
|
self.lookup_stores.insert(id.to_string(), db.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"composite-blob" => {
|
"composite-blob" => {
|
||||||
|
@ -249,12 +262,7 @@ impl Stores {
|
||||||
{
|
{
|
||||||
let store = BlobStore {
|
let store = BlobStore {
|
||||||
backend: crate::BlobBackend::Composite(db.into()),
|
backend: crate::BlobBackend::Composite(db.into()),
|
||||||
compression: config
|
compression,
|
||||||
.property_or_default::<CompressionAlgo>(
|
|
||||||
("store", id.as_str(), "compression"),
|
|
||||||
"none",
|
|
||||||
)
|
|
||||||
.unwrap_or(CompressionAlgo::None),
|
|
||||||
};
|
};
|
||||||
self.blob_stores.insert(id, store);
|
self.blob_stores.insert(id, store);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue