pedrocarlo
543cdb3e2c
underscoring completions and IOResult to avoid warning messages
2025-07-31 11:51:17 -03:00
PThorpe92
daec8aeb22
impl pwritev for simulator file
2025-07-30 19:42:49 -04:00
PThorpe92
9c75872827
Make writing wal header able to be sync
2025-07-30 14:05:18 +03:00
PThorpe92
dcf346b9b0
Update apparently very old branch to new api
2025-07-30 13:48:05 +03:00
PThorpe92
52f63b2af0
Impl truncate for simulator
2025-07-30 13:48:05 +03:00
pedrocarlo
3831e0db39
convert must_use compile warnings to unused_variables
to track locations where we need to refactor in the future
2025-07-28 16:09:26 -03:00
pedrocarlo
d30c7d54c8
change all Arc<Completion> to Completion
2025-07-28 15:32:45 -03:00
pedrocarlo
6088aa34c2
only add the sync completion after we call sync in the closure
2025-07-17 12:25:31 -03:00
pedrocarlo
46a7d20c12
clippy
2025-07-17 12:24:43 -03:00
pedrocarlo
4a13286d62
modify clock to use simulated time instead
2025-07-17 12:24:43 -03:00
pedrocarlo
d72a7f5d8e
decrease IO latency time as Turso becomes super slow for some reason
2025-07-17 12:24:43 -03:00
pedrocarlo
7b8eec90bd
edit state machine in Btree for freeing pages + Pager state machine for free_page
2025-07-17 12:24:43 -03:00
pedrocarlo
5771d1a00e
disable wal sync timeout on checkpoint
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
Pekka Enberg
99d61aad3c
simulator: Add mention of fsync() issue for disabled fsync faults
2025-07-16 11:15:41 +03:00
Jussi Saurio
bb0cad459e
sim: ignore fsync faults
...
`FaultyQuery` causes frequent false positives in simulator due to
the following chain of events:
- we write rows and flush wal to disk
- inject fault during fsync which fails
- error is returned to caller, simulator thinks those rows dont exist because the query failed
- we reopen the database i.e. read the WAL back to memory from disk, it has those extra rows we think we didn't write
- assertion fails because table has more rows than simulator expected
More discussion about fsync behavior in issue #2091
2025-07-16 11:09:54 +03:00
Pere Diaz Bou
88ff218810
io: assert small I/O
...
Let's assert **for now** that we do not read/write less bytes than
expected. This should be fixed to retrigger several reads/writes if we
couldn't read/write enough but for now let's assert.
2025-07-14 10:19:41 +02:00
Nils Koch
828d4f5016
fix clippy errors for rust 1.88.0 (auto fix)
2025-07-12 18:58:41 +03:00
pedrocarlo
7c8737e292
do not shadow + continue the assertion on injected fault error
2025-07-07 11:53:45 -03: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
ac34928d53
fix delete shadowing + build result rows from fsync query
2025-06-29 12:44:13 -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
9aa733f80c
sleep inside Io completion
2025-06-26 22:17:28 -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
Nils Koch
2827b86917
chore: fix clippy warnings
2025-06-23 19:52:13 +01: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
eca9a5b703
core/io: Switch to Arc<Completion>
2025-05-27 11:28:49 +03:00
Pere Diaz Bou
8daf7666d1
Make database Sync + Send
2025-03-05 14:07:48 +01:00
PThorpe92
75898027a0
Remove unnecessary reference counting from completion io callbacks
2025-02-08 08:20:19 -05:00
Jorge López
86a4714711
syntactic changes: remove unneeded paths when the type is already imported
2025-01-18 18:29:12 +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
PThorpe92
f6cd707544
Add clippy CI, fix or ignore warnings where appropriate
2024-12-29 10:25:41 -05:00
alpaylan
2186b3973b
change the name of the simulator submodule into runner
2024-12-23 16:16:39 -05:00