Ihor Andrianov
2d41791f3d
clippy
2025-07-09 00:07:33 +03:00
Ihor Andrianov
f81bfa3daf
use pread and pwrite for unix io
2025-07-09 00:07:25 +03:00
pedrocarlo
b85687658d
change instrumentation level to INFO
2025-07-07 11:53:45 -03:00
pedrocarlo
46f59e4f0f
add more instrumentation + add faults to shrunk plan
2025-07-07 11:53:45 -03:00
pedrocarlo
5559c45011
more instrumentation + write counter should decrement if pwrite fails
2025-07-07 11:50:21 -03:00
pedrocarlo
bac5e4b563
refactor File and Database Storage to remove Arc<Connection> and return Arc<Connection> for caller to wait for completion
2025-06-26 22:17:28 -03:00
Pekka Enberg
05df548b10
core/io: Add wait_for_completion() to I/O dispatcher
2025-05-27 13:47:40 +03:00
Pekka Enberg
eca9a5b703
core/io: Switch to Arc<Completion>
2025-05-27 11:28:49 +03:00
pedrocarlo
0c22382f3c
shared lock on file and throw ReadOnly error in transaction
2025-05-02 16:30:48 -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
b519509349
core/io: Add internal in-memory MemoryIO to all IO layers
...
Honestly I don't have 100% sure if this is a good idea, the reasoning is that in any IO we'll want to do memory only operations like creating tables etc, so may want a common way to access it
2025-04-13 11:10:05 -03:00
Avinash Sajjanshetty
2873c36b31
Implement trait Clock for implemented IOs
...
Replace `chrono::Local::now()` to return `Instant` but containing
same info
2025-04-06 23:34:13 +05:30
Pere Diaz Bou
ab2fc3fb13
fix clippy arc warnings for now
2025-03-05 14:07:48 +01:00
Pere Diaz Bou
8daf7666d1
Make database Sync + Send
2025-03-05 14:07:48 +01:00
Pekka Enberg
01671d1d1e
Merge 'Performance improvements for Unix I/O backend' from Preston Thorpe
...
This PR reworks the unix I/O backend, removing runtime reference
counting/borrow checking and optimizing away the hashmap in favor of a
static array, with an unlikely fallback vec.
The only reason the fallback vec is there is because unlike the
`io_uring` module, we cannot simply index into the array with the fd as
the OS could theoretically give us a fd up to I believe 1024 so keeping
an array of that size for a few elements is unnecessary.
Closes #940
2025-02-12 09:29:41 +02:00
PThorpe92
e3ab80ae28
Replace Option with MaybeUninit in unix IO
2025-02-11 09:09:49 -05:00
PThorpe92
9098237a12
Add as_read method to completion enum
2025-02-11 09:09:47 -05:00
PThorpe92
975cf95c37
Reformat unix io with wrappers for unsafecell
2025-02-11 09:06:49 -05:00
PThorpe92
159e2fbd71
Remove rc refcell in unix io module
2025-02-11 09:01:57 -05:00
Doug Anderson444
0aa5de6d9f
rm log, switch all to tracing
2025-02-11 09:03:36 -04:00
Pekka Enberg
0638550be7
Merge 'Remove unnecessary reference counting from completion I/O callbacks' from Preston Thorpe
...
I am on a bit of a mission to revisit a lot of the ref counting, this
was an easy first win.
It seems to be a linear path of function calls or hashmaps which can own
the completions directly, no cloning needed.
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #912
2025-02-10 12:11:30 +02:00
Jorge López
83b158fb3a
core: silence some unused warnings when building without default features
2025-02-09 01:13:12 +01:00
PThorpe92
75898027a0
Remove unnecessary reference counting from completion io callbacks
2025-02-08 08:20:19 -05:00
Jorge López
55e06b0c72
core/io: make file locks non-blocking so they fail right away
2025-01-14 11:01:11 +01:00
Jorge López
2f90a06533
core/io/unix: replace O_NONBLOCK flag from libc with equivalent from rustix
2025-01-13 21:03:05 +01:00
Jorge López
b1e8f2da73
core/io/unix: minor formatting
2025-01-13 20:21:37 +01:00
Jorge López
7b5e5efd14
core/io/unix: replace libc calls and types with their rustix counterparts
2025-01-13 20:21:37 +01:00
Jorge López
5a45df84db
core: add debug line when an IO backend is created. A user can check that the correct one has been selected.
2025-01-11 16:08:41 +01:00
Jorge López
e5a12bdf01
Rename linux backend to io_uring and darwin to unix. Add new feature flag to IO backend selection
2025-01-07 15:19:29 +01:00