Skip to content
This repository has been archived by the owner on Oct 18, 2023. It is now read-only.

Multi tenancy #503

Draft
wants to merge 84 commits into
base: main
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
825939c
introduce libsqlx crate
MarinPostma Jun 29, 2023
ce02662
Merge pull request #485 from libsql/libsqlx
MarinPostma Jul 6, 2023
e25ea8f
setup logging
MarinPostma Jul 6, 2023
e301b80
admin server boilerplate
MarinPostma Jul 6, 2023
92c1836
introduce allocation type to manages a single database
MarinPostma Jul 7, 2023
110c5fa
sketch meta store
MarinPostma Jul 7, 2023
09f7f09
changes to libsqlx
MarinPostma Jul 7, 2023
19c8f4f
bare bone allocation manager/store
MarinPostma Jul 7, 2023
52c566c
user API & database extractor
MarinPostma Jul 10, 2023
c2fed59
port hrana for libsqlx server
MarinPostma Jul 10, 2023
1c59c65
Merge pull request #511 from libsql/libsqlx-server
MarinPostma Jul 10, 2023
6cefe75
LINC protocol spec
MarinPostma Jun 27, 2023
da0f743
implement LINC protocol
MarinPostma Jun 27, 2023
b40d8b9
Merge pull request #478 from libsql/sinc-proto
MarinPostma Jul 10, 2023
4dad85e
base configuration
MarinPostma Jul 11, 2023
5433c75
load config
MarinPostma Jul 11, 2023
23ca93f
add config defaults
MarinPostma Jul 11, 2023
4cab1b0
peer config
MarinPostma Jul 11, 2023
1d5aa26
Merge pull request #520 from libsql/config
MarinPostma Jul 11, 2023
c40482d
peer config
MarinPostma Jul 11, 2023
198ed75
changes to proto
MarinPostma Jul 11, 2023
58b3aaf
deliver message to allocations
MarinPostma Jul 12, 2023
20dc440
replica: send replication request to primary
MarinPostma Jul 12, 2023
1989ae8
replica sends replicate request to primary
MarinPostma Jul 13, 2023
cc9c2c1
primary replicate to replica
MarinPostma Jul 13, 2023
0ba8ba1
Merge pull request #525 from libsql/basic-replication
MarinPostma Jul 13, 2023
d1e9845
fully async result builder
MarinPostma Jul 18, 2023
b23ec73
Merge pull request #532 from libsql/full-async-builder
MarinPostma Jul 18, 2023
95a2858
proxy writes
MarinPostma Jul 13, 2023
26f781d
Merge pull request #535 from libsql/proxy-writes
MarinPostma Jul 19, 2023
b68a3c9
fix tests
MarinPostma Jul 20, 2023
0c56e87
Merge pull request #536 from libsql/fix-mt-test
MarinPostma Jul 20, 2023
06d5d64
set connection state to unknown before sending proxy request
MarinPostma Jul 20, 2023
1010a68
proxy request timeout
MarinPostma Jul 20, 2023
9fea306
Merge pull request #538 from libsql/proxy-response-timeout
MarinPostma Jul 20, 2023
a65f771
eager database schedule on allocate
MarinPostma Jul 20, 2023
5d16027
deallocate database
MarinPostma Jul 20, 2023
dd455cd
Merge pull request #539 from libsql/deallocate
MarinPostma Jul 20, 2023
b587be5
reorganize allocation file
MarinPostma Jul 20, 2023
eb729b7
Merge pull request #540 from libsql/clean-allocation-file
MarinPostma Jul 20, 2023
8997c3f
add compact method to LibsqlDatabase<PrimaryType>
MarinPostma Jul 20, 2023
2b3316e
implement should_compact
MarinPostma Jul 21, 2023
b9cb88e
periodic compaction
MarinPostma Jul 21, 2023
3d8c5e7
add log compaction config to primary config
MarinPostma Jul 21, 2023
773bd73
move Compactor to own file
MarinPostma Jul 21, 2023
ebb8829
Merge pull request #541 from libsql/mt-log-compaction
MarinPostma Jul 21, 2023
74a39e8
migrate to lmdb for meta storage
MarinPostma Jul 24, 2023
2f27a77
remove sled
MarinPostma Jul 24, 2023
5aa463d
Merge pull request #546 from libsql/lmdb-meta-storage
MarinPostma Jul 24, 2023
0f11e30
compaction queue
MarinPostma Jul 26, 2023
4617dc5
add locate method to SnapshotStore
MarinPostma Jul 26, 2023
898974e
add test for locate method
MarinPostma Jul 26, 2023
9922568
add compactor test
MarinPostma Jul 26, 2023
884b2c8
remove snapshot for libsqlx
MarinPostma Jul 26, 2023
c987f5c
add missing Poll::Ready for Database::Poll
MarinPostma Jul 26, 2023
6337d9c
fix periodic compaction
MarinPostma Jul 26, 2023
c05dc09
spawn compactor loop
MarinPostma Jul 26, 2023
f86954c
changes to compactor trait
MarinPostma Jul 26, 2023
abace0d
Merge pull request #553 from libsql/mt-log-compactor
MarinPostma Jul 26, 2023
c815ea8
intoduce SnapshotFrame
MarinPostma Jul 26, 2023
e10d2f3
add missing test assets
MarinPostma Jul 26, 2023
03187a4
replicate from snapshot
MarinPostma Jul 27, 2023
a528e9e
Merge pull request #554 from libsql/mt-read-from-snapshot
MarinPostma Jul 27, 2023
4594545
add txn status change callback to libsql connection
MarinPostma Jul 27, 2023
d0fb111
add method to register txn status cahnge callback
MarinPostma Jul 27, 2023
c8f095f
set on txn status change callback for allocation connection
MarinPostma Jul 27, 2023
734f7cc
connection monitor txn timeout
MarinPostma Jul 27, 2023
dbe2520
notify on transaction status change
MarinPostma Jul 27, 2023
96e52d4
move timeout_notifier to own module
MarinPostma Jul 27, 2023
14b098f
test txn timeout
MarinPostma Jul 27, 2023
0d8d86c
Merge pull request #557 from libsql/mt-txn-timeout
MarinPostma Jul 27, 2023
9cd8c1a
replace commit handler with commit callback
MarinPostma Jul 28, 2023
7031828
record replica commit index
MarinPostma Jul 28, 2023
e6aaeb4
fix replication bootstrap bug
MarinPostma Jul 28, 2023
855a0e8
Merge pull request #561 from libsql/mt-store-replica-applied-frameno
MarinPostma Jul 28, 2023
5955679
add missing block_in_place
MarinPostma Jul 28, 2023
8c4e2d5
Merge pull request #562 from libsql/mt-fix-replication-not-starting
MarinPostma Jul 28, 2023
75f77a0
handle allocation errors
MarinPostma Jul 28, 2023
0d6005c
wip
MarinPostma Jul 28, 2023
88433f9
shared hrana server
MarinPostma Jul 30, 2023
f1e5fad
improve error handling
MarinPostma Jul 31, 2023
7c93d7e
Merge pull request #569 from libsql/mt-error-handling
MarinPostma Jul 31, 2023
137051c
allocation response payload
MarinPostma Jul 31, 2023
1f8de3f
Merge pull request #570 from libsql/alloc-response-message
MarinPostma Jul 31, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
add config defaults
  • Loading branch information
MarinPostma committed Jul 11, 2023
commit 23ca93feab6fe7fb84e7bc7c86f6d73ba16360af
15 changes: 15 additions & 0 deletions libsqlx-server/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ use serde::Deserialize;

#[derive(Deserialize, Debug, Clone)]
pub struct Config {
#[serde(default = "default_db_path")]
pub db_path: PathBuf,
pub cluster_config: ClusterConfig,
pub user_api_config: UserApiConfig,
Expand All @@ -26,10 +27,24 @@ pub struct ClusterConfig {

#[derive(Deserialize, Debug, Clone)]
pub struct UserApiConfig {
#[serde(default = "default_user_addr")]
pub addr: SocketAddr,
}

#[derive(Deserialize, Debug, Clone)]
pub struct AdminApiConfig {
#[serde(default = "default_admin_addr")]
pub addr: SocketAddr,
}

fn default_db_path() -> PathBuf {
PathBuf::from("data.sqld")
}

fn default_admin_addr() -> SocketAddr {
"0.0.0.0:8081".parse().unwrap()
}

fn default_user_addr() -> SocketAddr {
"0.0.0.0:8080".parse().unwrap()
}