Vitaliy Filippov
f8edfb4a71
No need to check for PG intersection if a history set is smaller than EC data part count
2024-07-18 19:29:05 +03:00
Vitaliy Filippov
8239ea2356
Do not try to purge the same OSD multiple times if its multiple devices are passed to purge
2024-07-16 16:48:16 +03:00
Vitaliy Filippov
e898335b8d
Release 1.7.1
...
Some stupid hotfixes for 1.7.0 :)
- Fix NFS mount
- Fix modify-osd
- Fix use_antietcd not taken from /etc
v1.7.1
2024-07-16 00:07:03 +03:00
Vitaliy Filippov
e7869611fa
Another stupid fix for NFS (no idea how it worked for me)
2024-07-16 00:05:51 +03:00
Vitaliy Filippov
e1c2500b60
Use modify-osd in the disk removal instruction
2024-07-16 00:01:42 +03:00
Vitaliy Filippov
42cf3a11df
Oops, fix reweight :)
2024-07-16 00:01:11 +03:00
Vitaliy Filippov
4d9293f0e9
Fix QEMU 8.2 and 9.0 patches (add @location comments)
2024-07-15 16:30:14 +03:00
Vitaliy Filippov
7a13f85ae2
Fix mon config merge
2024-07-15 16:25:22 +03:00
Vitaliy Filippov
fc219b8602
Add pg-list to docs
2024-07-15 13:29:22 +03:00
Vitaliy Filippov
989d73f874
Release 1.7.0
...
Omnidirectional release
New features:
- Support handling TCP I/O in simple separate io_uring-based [I/O threads](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/config/client.en.md#client_iothread_count ) - may increase linear performance to 7-8 GB/s
- Experimental internal etcd replacement - [antietcd](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/config/monitor.en.md#use_antietcd )
- Monitor now has a [built-in Prometheus exporter](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/config/monitor.en.md#enable_prometheus )
- Added a reference [Grafana dashboard](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/mon/scripts/Vitastor-Grafana-6+.json )
- Implement vitastor-cli [osd-tree](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/usage/cli.en.md#osd-tree ) and [ls-osd](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/usage/cli.en.md#ls-osd ) commands
- Implement vitastor-cli [modify-osd](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/usage/cli.en.md#modify-osd ) command
- Implement vitastor-cli [pg-list](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/usage/cli.en.md#pg-list ) command
- Implement [VitastorFS defragmentation](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/usage/nfs.en.md#defrag )
- Implement basic node.js binding (not published on npm yet)
Changes:
- Make immediate_commit=all the default everywhere to match default vitastor-disk behaviour
- Make pool-create error message more obvious and add details to it
- Set default etcd_ws_keepalive_interval to 5 seconds (speedup client etcd failover)
- Support OpenStack 2023.2 in Nova and Cinder drivers/patches
- Add patches for libvirt 10.x
- Add patches for QEMU 8.2 and 9.0
- Implement internal restart / run_forever in monitor
- Some source tree refactoring - sources are now moved into subdirectories, monitor is now split into multiple files
- Add vitastor_c_inode_get_immediate_commit in vitastor_c client library
- Make vitastor_kv.h header public
Bug fixes:
- Fix total statistics usec/count/bytes not being reported when delta (bps/iops/lat) is zero
- Prevent infinite loop in NFS on files with incorrect metadata pointing to an empty volume
- Fix READDIR offsets (cookies) in VitastorFS sometimes leading to client infinite loops when reading a directory
- Fix a rare infinite loop during OSD journal flushing (OSD hanging and eating 100 % CPU)
- Fix several bugs which could lead to lost writes in setups without immediate_commit:
- Client library treated writes as completed before actually completing them, thus missing them in a subsequent fsync
- Client library didn't repeat writes on the new PG primary when it changed
- OSDs didn't drop peer connections with dirty writes when stopping PG
- Fix Block Pseudo-FS initialization leading to ENOENTs some time after start
- Fix vitastor-cli merge-based commands (merge/flatten/rm snapshot) slowing down and finally failing when using CAS optimistic locks
- Fix pool create/modify --block_size validation
- Fix TTL comparison for determining failed lease/keepalive requests in OSD
- Add support for size suffixes in pool-create --block_size and --immediate_commit values
v1.7.0
2024-07-15 11:48:35 +03:00
Vitaliy Filippov
f0630722ce
Make pool-create error message more obvious, add details
2024-07-15 11:47:49 +03:00
Vitaliy Filippov
93b0947720
Support size suffixes in pool-create --block_size / --bitmap_granularity
2024-07-15 11:47:05 +03:00
Vitaliy Filippov
9c628646fa
Remove bullseye-backports from build, remove buster-backports from docs
2024-07-15 11:47:05 +03:00
Vitaliy Filippov
cf476a3b95
Add mkdir /var/lib/vitastor
2024-07-15 11:47:05 +03:00
Vitaliy Filippov
23f9273ba3
Take use_antietcd setting from /etc/vitastor/vitastor.conf too
2024-07-15 02:02:56 +03:00
Vitaliy Filippov
74b88bf8ba
Use own repo instead of buster-backports as it is EOL
2024-07-14 20:25:44 +03:00
Vitaliy Filippov
1254d5a0de
Fix delta stats when counters may be hypothetically reset
2024-07-14 13:11:00 +03:00
Vitaliy Filippov
f87bece253
Fix build with antietcd & tinyraft, remove some version hardcode
2024-07-14 13:04:25 +03:00
Vitaliy Filippov
ba85d0ef16
Add vitastor_kv.h to RPM specs
2024-07-14 11:20:37 +03:00
Vitaliy Filippov
17a909ea3a
Stop metrics/future API HTTP server when closing Monitor instance
2024-07-14 11:16:41 +03:00
Vitaliy Filippov
a4dfc220ab
Implement basic node.js binding (not published on npm yet)
2024-07-14 10:58:38 +03:00
Vitaliy Filippov
26426dd95e
Return it back, but fix stats in another way
2024-07-13 19:14:34 +03:00
Vitaliy Filippov
9f38b7e5c1
Fix osd_ping_time_remaining reset from 990c3ba7eb, leading to osd disconnections
2024-07-13 16:09:56 +03:00
Vitaliy Filippov
20057defbe
Revert 8ad63465cd
2024-07-13 15:34:34 +03:00
Vitaliy Filippov
b4e9140755
Add defrag docs, fix trace message
2024-07-13 00:45:53 +03:00
Vitaliy Filippov
413959e75a
Prevent infinite loop in NFS - return EIO when an inode points to an incorrect volume position
2024-07-12 20:53:54 +03:00
Vitaliy Filippov
8973982570
Delete keys from internal state instead of setting them to null on DELETE event in mon
2024-07-12 16:42:21 +03:00
Vitaliy Filippov
990c3ba7eb
Implement FS defragmentation
2024-07-12 16:11:35 +03:00
Vitaliy Filippov
1771d2ef36
Fix READDIR cookie/offset bug
2024-07-12 16:11:35 +03:00
Vitaliy Filippov
d88ab76636
Fix active mon stat
2024-07-11 01:34:59 +03:00
Vitaliy Filippov
c010a0aa54
Fix OSD "local write" latency sum
2024-07-11 01:30:03 +03:00
Vitaliy Filippov
0d42712d29
Fix refresh in dashboard variable
2024-07-11 01:13:02 +03:00
Vitaliy Filippov
66b438106a
Add vitastor-cli pg-list command
2024-07-10 02:27:41 +03:00
Vitaliy Filippov
3aef6682fb
Add vitastor-cli modify-osd command
2024-07-09 16:52:19 +03:00
Vitaliy Filippov
8535bccf4c
Add a note about antietcd dump/load
2024-07-09 15:58:03 +03:00
Vitaliy Filippov
0487b3b239
Add clusterid to Grafana dashboard
2024-07-09 15:58:03 +03:00
Vitaliy Filippov
a54ef97f5d
Add Grafana dashboard link
2024-07-09 15:37:25 +03:00
Vitaliy Filippov
10434a9b2b
Add notes about antietcd to documentation
2024-07-09 15:01:41 +03:00
Vitaliy Filippov
c6be194508
Implement experimental antietcd-based version of monitor
2024-07-09 13:54:58 +03:00
Vitaliy Filippov
df668286fb
Add Grafana dashboard
2024-07-09 02:39:36 +03:00
Vitaliy Filippov
667c5999c9
Report all PG states
2024-07-08 19:52:56 +03:00
Vitaliy Filippov
8ad63465cd
Do not wipe previous metrics at moments when difference is 0
2024-07-08 02:20:12 +03:00
Vitaliy Filippov
976290e6a9
Implement built-in Prometheus exporter in monitor
2024-07-08 02:20:12 +03:00
Vitaliy Filippov
79f1d1969b
Make immediate_commit=all the default
2024-07-07 11:45:18 +03:00
Vitaliy Filippov
918e1f83b0
Add JSON output for ls-osd
2024-07-07 02:24:36 +03:00
Vitaliy Filippov
abbba6ade4
Support handling TCP I/O in simple separate io_uring-based I/O threads
...
Required mainly for clients, allows to scale parallel client I/O with TCP
from 100-150k iops to ~400k iops and from 2-3 GB/s to at least 7-8 GB/s
with 4 I/O threads, at the same time increasing Q=1 latency by 2x thread
switching delay, which is ~10 us when CPU powersaving is disabled and may
be as high as 200 us when it's enabled.
2024-07-04 13:29:20 +03:00
Vitaliy Filippov
21d1171ba4
Fix parsing after "slightly decopypasting" :)
2024-06-29 00:09:30 +03:00
ace and Vitaliy Filippov
8f83086889
Nova and cinder driver patches for OpenStack 2023.2
2024-06-28 00:04:57 +03:00
Vitaliy Filippov
ceb18f25db
Add libvirt 10.0 patch (same as 9.10 and 10.4 actually)
2024-06-28 00:03:46 +03:00
Vitaliy Filippov
ed51a89f70
Add QEMU 8.2 and 9.0 patches
2024-06-27 12:33:16 +03:00