pedrocarlo
72baf48863
add random generation in simulator IO
2025-10-21 14:10:38 -03:00
pedrocarlo
fafbdbfa9d
persist files in sim memory io for integrity check
2025-10-11 15:03:22 -03:00
bit-aloo
46fab87634
Replaced manual validation in SimulatorCLI::validate with Clap features:
...
- Added `conflicts_with` for mutually exclusive flags
- Removed redundant default values for bool flags.
- Dropped manual validation checks in favor of Clap's built-in parsing guarantees.
2025-10-02 19:18:38 +05:30
Pekka Enberg
2131a04b7d
core: Rename IO::run_once() to IO::step()
...
The `run_once()` name is just a historical accident. Furthermore, it now
started to appear elsewhere as well, so let's just call it IO::step() as we
should have from the beginning.
2025-09-10 14:36:02 +03:00
pedrocarlo
1eb1171f55
do not fault on Fsync until we correctly define the expected behaviour in the simulator
2025-09-01 14:12:11 -03:00
pedrocarlo
8c7da3a704
impl SimIO for SimulatorIO
2025-09-01 11:11:03 -03:00
pedrocarlo
962666831b
read Profile file from path or use predefined profiles
2025-08-30 11:31:52 -03:00
Jussi Saurio
cc643362a4
sim: remove "run_once faults"
...
This kind of fault does not semantically represent anything real,
since we already have fault injection for every concrete IO operation
like reading, writing, syncing and so forth.
Moreover, having this feature is the direct cause of the false positive
simulator failure as reported in issue #2727 . There, a "run_once fault"
happened immediately after we fsynced following an INSERT, which caused
the simulator to think the INSERT failed, and later a sim assertion failed
because the on-disk database had 1 more row than it thought it would.
2025-08-22 10:13:06 +03:00
Nikita Sivukhin
c771487933
add remove_file method to the IO
2025-08-21 14:51:02 +04:00
pedrocarlo
7bc0545442
default impl for get_memory_io
2025-08-19 10:48:21 -03:00
pedrocarlo
f72bcbc5da
default impl for wait_for_completion + check for errors in completion there
2025-08-19 10:48:21 -03:00
pedrocarlo
7fb14cfc76
add File path to SimulatorFile
2025-08-18 11:52:10 -03:00
pedrocarlo
d30c7d54c8
change all Arc<Completion> to Completion
2025-07-28 15:32:45 -03:00
pedrocarlo
0ab2f2b951
cli options for max and min tick + adjust github action to run with faster clock so no timeouts happen
2025-07-17 12:25:31 -03:00
pedrocarlo
4a13286d62
modify clock to use simulated time instead
2025-07-17 12:24:43 -03:00
pedrocarlo
b292e08d2b
inject latency with queuing system
2025-07-17 12:24:43 -03:00
pedrocarlo
dc5f73887e
refactor to require Arc<Completion> in file traits so that we can delay IO calls correctly
2025-07-17 12:24:43 -03:00
alpaylan
8f46bbc77e
Merge branch 'main' of https://github.com/tursodatabase/limbo
2025-07-11 01:33:50 -04:00
pedrocarlo
7c8737e292
do not shadow + continue the assertion on injected fault error
2025-07-07 11:53:45 -03:00
alpaylan
ea9c67a950
generate joins and unions
2025-07-07 02:54:48 -04:00
pedrocarlo
119c537334
add FaultyQuery Property to inject fault in a query and then assert that it did not modify the database
2025-06-29 15:54:27 -03:00
pedrocarlo
f806d97d0f
keep track when fsync is called
2025-06-29 12:40:23 -03:00
Pekka Enberg
53ba3ff926
Rename limbo_core crate to turso_core
2025-06-29 09:59:17 +03:00
pedrocarlo
e2aafacbb4
add cli option to adjust latency probability
2025-06-26 22:17:27 -03:00
pedrocarlo
c8937976e5
generate_latency for each io operation on the file
2025-06-26 22:17:27 -03:00
pedrocarlo
56547f7127
change refcell values to cell
2025-06-26 22:17:27 -03:00
pedrocarlo
83d72db901
better error messages + cleaner printing of file stats + tracing
...
instrumentation in `execute_interaction`
2025-06-11 11:32:45 -03:00
Pere Diaz Bou
8ec7e616b4
simulator: switch to tracing, run io.run_once and add update queries
...
* Without tracing crate we cannot log anything that happens in
limbo_core
* IO never ran in step loop inside simulator.
* Added update queries (which currently loop forever for some reason I'm
debugging).
2025-05-30 10:57:13 +02:00
Pekka Enberg
05df548b10
core/io: Add wait_for_completion() to I/O dispatcher
2025-05-27 13:47:40 +03:00
Diego Reis
d9bf383507
core/io: Untie MemoryIO's lifetime of the IO layer
2025-04-13 11:10:06 -03:00
Diego Reis
79f8b83cbe
Fix dumb clippy errors
2025-04-13 11:10:06 -03:00
Avinash Sajjanshetty
3543e83b91
Impl Clock trait in bindings
2025-04-06 23:34:15 +05:30
Pere Diaz Bou
8daf7666d1
Make database Sync + Send
2025-03-05 14:07:48 +01:00
Jorge López
f160206cdd
syntactic changes: replace unwrap() with ? in functions that return Result<...>
2025-01-18 18:33:43 +01:00
Pekka Enberg
a9ffa72151
simulator: Replace println() calls with log::info()
2025-01-14 18:40:03 +02:00
Pekka Enberg
14ec057a34
simulator: Make stats printout prettier
...
```
op calls faults
--------- -------- --------
pread 3 0
pwrite 1 0
sync 0 0
--------- -------- --------
total 4 0
```
2025-01-14 17:32:31 +02:00
Pekka Enberg
5b4c7ec7f5
simulator: Rename stats in SimulatorFile
2025-01-14 17:24:14 +02:00
alpaylan
2186b3973b
change the name of the simulator submodule into runner
2024-12-23 16:16:39 -05:00