• v1.7.1 e898335b8d

    Release 1.7.1 Stable

    vitalif released this 2024-07-16 00:07:03 +03:00 | 279 commits to master since this release

    Some stupid hotfixes for 1.7.0 :)

    • Fix NFS mount
    • Fix modify-osd
    • Fix use_antietcd not taken from /etc
    Downloads
     
  • v1.7.0 989d73f874

    Release 1.7.0 Stable

    vitalif released this 2024-07-15 11:48:35 +03:00 | 286 commits to master since this release

    Omnidirectional release

    New features:

    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
    Downloads
     
  • v1.6.1 9301c857b1

    Release 1.6.1 Stable

    vitalif released this 2024-04-22 02:01:29 +03:00 | 359 commits to master since this release

    A bunch of monitor fixes

    • Add noout flag for OSDs (/vitastor/config/osd/xx)
    • Fix "effective" size of degraded PGs (and thus "used space") calculation in monitor
    • Fix monitor not clearing PGs of deleted pools
    • Fix incorrect PG generation with hosts with 0 OSDs
    • Fix monitor crashing during primary OSD recheck when pool has no PGs
    • Fix monitor crashing when node_placement included non-existing OSDs
    • Fix possible data movement after removing OSDs reweighted to 0
    • Remove extra empty keys from pool configurations created by vitastor-cli create-pool
    • Fix 32-bit build
    Downloads
     
  • v1.6.0 ff4414d37e

    Release 1.6.0 Stable

    vitalif released this 2024-04-09 16:57:59 +03:00 | 372 commits to master since this release

    New features:

    • Implement "hierarchical failure domains" and other complex distribution rules, for example
      EC 4+2 over 3 DC, with 2 chunks per each DC (documentation)
    • Make OSDs handle ENOSPC - now cluster stays online even if some OSDs fill up
      to 100 %, only writes requiring free space hang
    • Implement Stage/Unstage & volume locking for CSI to prevent parallel mounting
      and/or modifications of the same volume
    • Warn about full and almost full OSDs in vitastor-cli status
    • Add an experimental NBD netlink map mode as an option (documentation)
    • Add --pg parameter to vitastor-cli describe, print objects with 0x in human-readable format too
    • Add administration docs

    Bug fixes:

    • Fix client operation retry timeout - previously the timeout wasn't applied and writes were
      retries almost instantly
    • Fix monitors crashing on invalid pool configurations
    • Fix journaling - make each journal write wait for all previous journal writes
    • Fix monitor thinking that OSD weight is 0 after deleting /osd/config/ key online
    • Fix a write stall caused by flusher possibly not trimming journal on rollback
    • Set 32k csum_block_size for HDD by default in vitastor-disk
    Downloads
     
  • v1.5.0 9ad6822353

    Release 1.5.0 Stable

    vitalif released this 2024-03-16 15:35:10 +03:00 | 401 commits to master since this release

    After half a year of hard work, VitastorFS is finally here ! :-)

    New features:

    • VitastorFS, a full-featured clustered (read-write-many) file system. Documentation: VitastorFS
    • Embedded key-value database implementation based on Parallel Optimistic B-Tree algorithm and used for the metadata of VitastorFS
    • Pool management commands in vitastor-cli (create-pool, list-pools, rm-pool, modify-pool). Thanks MIND Software (https://mindsw.io) for their contribution! Documentation

    Bug fixes:

    • Fix a very rare "infinite loop" in the client library
    • Fix a rare OSD hang on during start when zeroing out bad metadata entries left from the previous run
    Downloads
     
  • v1.4.8 38b8963330

    Release 1.4.8 Stable

    vitalif released this 2024-02-29 09:58:34 +03:00 | 488 commits to master since this release

    • Do not use \r if output is not a terminal (should fix unexpected job output in proxmox)
    • Fix rm/rm-data error return code, add --down-ok option to bypass the error
    • Add EIO retry timeout and allow to disable these retries, rename up_wait_retry_interval to client_retry_interval
    • Add ubuntu jammy build
    • Wait for blockstore initialisation before starting OSD (prevent timeouts when init takes time)
    • Fix a rare use-after-free in automatic sync after delete in blockstore
    Downloads
     
  • v1.4.7 5e934264cf

    Release 1.4.7 Stable

    vitalif released this 2024-02-22 12:45:52 +03:00 | 495 commits to master since this release

    • Fix another old "BUG: Attempt to overwrite used offset" in a very simple
      case: bs=4k rw=write iodepth=16 from OSD start; add this case to tests
    • Fix a rare crash with "unexpected state during flush: 0x51" possible with
      EC since 1.4.2 during rebalance and OSD outages
    • Fix a rare write stall with EC & immediate_commit=none caused by sync
      operations reserving unneeded space in the journal
    • Fix 32-bit build warnings, most in printf/scanf format strings
    Downloads
     
  • v1.4.6 f87964861d

    Release 1.4.6 Stable

    vitalif released this 2024-02-20 17:01:26 +03:00 | 502 commits to master since this release

    Unwavering stabilization of 1.4.x, continued :-)

    • Include the accidentally lost part of 1.4.5 journal trimming fix
    • Fix a possible OSD crash with "BUG: Attempt to overwrite used offset"
      which was probably present for long time, but became apparent after
      fixing flapping tests in CI
    • Fix remaining flapping tests in CI. It was the first time when tests
      actually passed without retries :-)
    Downloads
     
  • v1.4.5 f882c7dd87

    Release 1.4.5 Stable

    vitalif released this 2024-02-16 10:13:33 +03:00 | 508 commits to master since this release

    • Fix a write stall caused by incorrect journal trimming introduced in 1.4.4 :)
    • Fix PGs sometimes hanging in "starting" state on mass OSD restarts
    • Fix a rare crash with "map::at" during OSD pings
    • Use new defaults for non-capacitor (desktop) SSDs - improves T1Q256 random write from ~6k iops to ~45k iops
    • Make journal_trim_interval configurable
    Downloads
     
  • v1.4.4 c777a0041a

    Release 1.4.4 Stable

    vitalif released this 2024-02-11 16:23:08 +03:00 | 515 commits to master since this release

    A couple of fixes for EC pools

    • Fix a segfault possible on partial EC overwrite in 1234 -> 5030 rebalance scenario
    • Fix two problems leading to EC pools stalling on rebalance & parallel sudden stops
      of OSDs, for example during a sudden poweroff of a host:
      • Recovery auto-tuning (1.4.0 feature) could apply too large delays and stall
        the EC journal - fixed by limiting delays with a new recovery_tune_sleep_cutoff_us
        parameter (10 seconds by default) and applying recovery pauses before write
        operations, not after them, to not occupy space in the journal for long time
      • Dynamic journal space reservation (1.3.0 feature) wasn't accounting new writes
        when checking the limit so OSDs could still fill the journal fully and stall -
        fixed by including new writes into the limit
    • Print etcd dbSize instead of dbSizeInUse in status
    Downloads