2
0
mirror of synced 2025-02-24 06:38:14 +00:00

215 Commits

Author SHA1 Message Date
Matt Joiner
9feb85d0d1 Remove unused method 2021-05-14 15:40:38 +10:00
Matt Joiner
627b75c8b4 Merge branch 'sqlite-direct' 2021-05-14 15:36:35 +10:00
gitpubber
b8e1c95399
Allows one to use Custom PieceCompletion (#486)
* Change ClientImpl to ClientImplCloser

We cannot close underlying Boltdb PieceCompletion if it is not closable

* Update file.go
2021-05-09 19:34:41 +10:00
gitpubber
5e53f35b72 Change ClientImpl to ClientImplCloser
We cannot close underlying Boltdb PieceCompletion if it is not closable
2021-05-09 11:04:43 +10:00
Matt Joiner
8dcc52ccf9 Don't set the page size by default 2021-05-06 15:25:01 +10:00
Matt Joiner
96574468c5 Expose a variety of blob cleanup styles 2021-05-06 15:17:31 +10:00
Matt Joiner
abe003b6b3 Benchmark different mmap sizes and journal modes 2021-05-06 12:00:20 +10:00
Matt Joiner
20c00dedc0 Rework lots of option handling 2021-05-05 21:36:36 +10:00
Matt Joiner
acfe0ba87e Rename new.go 2021-05-05 15:55:08 +10:00
Matt Joiner
b583fe3d47 Use bench timer more effectively, and use Piece.WriteTo 2021-05-05 15:53:43 +10:00
Matt Joiner
c3768da38c Use sync.Map in map piece completion 2021-05-05 12:38:26 +10:00
Matt Joiner
cf8bd49abe Big rename of files and types in storage 2021-05-05 12:05:02 +10:00
Matt Joiner
745a34b43e Handle expired blobs as they occur 2021-05-05 11:47:39 +10:00
Matt Joiner
675a0ab0dc Rework to use a pool of blobs 2021-05-05 10:02:15 +10:00
Matt Joiner
855144212c Get benchmarks working 2021-05-04 22:56:43 +10:00
Matt Joiner
afea28091f Implement sqlite directly without using piece resources 2021-05-04 19:51:42 +10:00
Matt Joiner
256101768e piece resource storage: Do sized puts for WriteAts if possible 2021-05-04 12:44:51 +10:00
Matt Joiner
0021c2a70c Use BenchmarkMarkComplete for non-sqlite storages too 2021-05-04 12:44:51 +10:00
Matt Joiner
f00f513706 Add missing closeMu use in ReadConsecutiveChunks 2021-02-22 16:39:21 +11:00
Matt Joiner
ac05b69e11 Only write update bolt piece completion if the existing value differs 2021-02-22 14:51:34 +11:00
Matt Joiner
86a2b71c47 Code comment 2021-02-19 12:37:26 +11:00
Matt Joiner
579925fa94 Fix panic in benchmark 2021-02-05 10:01:33 +11:00
Matt Joiner
bc0936c44a Use locks on piece per resource pieces to prevent races in reading incomplete data 2021-02-04 19:18:59 +11:00
Matt Joiner
78c77c0b45 Expose mmap_size in sqlite storage, and change default to 8 MiB 2021-02-04 18:29:40 +11:00
Matt Joiner
371d54ab76 Fix Close race in sqlite storage when batch writes disabled 2021-02-03 19:27:26 +11:00
Matt Joiner
6f9c2fed61 Add batch writes cases to sqlite storage benchmarks 2021-02-03 18:55:14 +11:00
Matt Joiner
48843c0b87 Fix for go<1.16 2021-02-02 10:41:39 +11:00
Matt Joiner
15ccbc95c6 Fix sqlite storage for numconns 1 2021-02-02 10:41:39 +11:00
Matt Joiner
270a2ba1ae Switch to reading consecutive incomplete chunks
This fixes a race where a sqlite conn isn't reserved for the read part of a MarkComplete operation after the write has already begun.
2021-02-02 10:41:38 +11:00
Matt Joiner
fbc9a77cd8 Escape URI path 2021-01-26 21:49:53 +11:00
Matt Joiner
9d6bf7a4f0 Remove cast(data as blob) workaround
Upstream merged the fix. Good performance boost.
2021-01-25 15:54:37 +11:00
Matt Joiner
c424a2510e Create index on blob(last_used) 2021-01-25 15:54:37 +11:00
Matt Joiner
3e34763678 Add sqlite-storage-cli 2021-01-25 15:54:37 +11:00
Matt Joiner
5920bcae89 Remove obsolete reference to piece storage opts 2021-01-25 15:54:37 +11:00
Matt Joiner
25c60b72eb Fix race in writes to closed provider 2021-01-25 15:54:37 +11:00
Matt Joiner
beb9ec8ffe Fix transfer tests involving sqlite memory storage 2021-01-25 15:54:37 +11:00
Matt Joiner
b69bb34eaf Rejig some storage options 2021-01-25 15:54:37 +11:00
Matt Joiner
28682f6ae6 Fix unused opts param 2021-01-25 15:54:37 +11:00
Matt Joiner
19f5984aec Include context.Context and pprof label in withConn 2021-01-25 15:54:37 +11:00
Matt Joiner
2ddd3169ef Move storage piece benchmarks to storage/test and add a lot more dials 2021-01-25 15:54:37 +11:00
Matt Joiner
cb5f80ec11 Improve configurability and add PutSized to sqlite storage 2021-01-25 15:54:37 +11:00
Matt Joiner
434dfdf6e0 Add MarkComplete benchmark for sqlite 2021-01-25 15:54:37 +11:00
Matt Joiner
cb1d6bfc8f Fix boundary conditions trimming sqlite3 storage cache 2021-01-18 14:48:30 +11:00
Matt Joiner
388e6899a1 piece resource storage: Delete incomplete chunks concurrently after writing complete piece 2020-11-21 13:44:23 +11:00
Matt Joiner
b35c204238 Use ConsecutiveChunkWriter in MarkComplete for piece resource storage if available 2020-11-21 13:44:23 +11:00
Matt Joiner
41ef267c1b sqlite storage: Ensure that chunks are consecutive 2020-11-21 13:44:23 +11:00
Matt Joiner
8ef37cb2e6 sqlite storage: Remove num batched write queries log message 2020-11-16 16:37:11 +11:00
Matt Joiner
d84367c9a6 Update to race fixes in filecache and sqlite 2020-11-16 16:37:11 +11:00
Matt Joiner
258585fd8b sqlite storage: Buffer write requests 2020-11-16 16:37:11 +11:00
Matt Joiner
b0ebc856d9 sqlite storage: Add some expvars 2020-11-16 16:37:11 +11:00