• v0.8.0 11ec9ad874

    Release 0.8.0 Stable

    vitalif released this 2022-09-05 13:51:20 +03:00 | 538 commits to master since this release

    • Implement automatic OSD activation via udev and simple on-disk superblock storage
    • Add a new vitastor-disk tool and merge all disk-related functionality there.
      Now it can prepare new OSD disks, upgrade plain old systemd units to the new scheme,
      resize OSD data area, manage OSD services by disk paths, manage superblocks,
      automatically check and disable disk cache, dump and write back journal and metadata.
    • Add a documentation section about vitastor-disk (read it if you want details!)
    • Install systemd services during package installation instead of the older method
      of manually creating them via separate shell scripts
    • Add a new make-etcd script that reuses /etc/vitastor/vitastor.conf to configure etcd
    • Allow to configure block_size, bitmap_granularity and immediate_commit per-pool
    • Fix "fatal error: tried to overwrite non-zero metadata entry" which was possible
      in some cases after unclean OSD shutdown (caused by old metadata entries not being zeroed)
  • v0.7.1 101592bbff

    Release 0.7.1 Stable

    vitalif released this 2022-06-05 00:07:24 +03:00 | 604 commits to master since this release

    • Add ISA-L erasure code implementation, now used automatically instead of jerasure when available
    • Fix listings sending too many parallel requests to OSDs
    • Fix rm-data crashing with --wait-list
    • Remove empty inodes from statistics and ls output, after <inode_vanish_time> seconds after deletion
    • Make monitor delete pool statistics when the pool is deleted and thus remove them from df output
    • Log multiple etcd addresses in OSD logs correctly
    • Fix true/false parsing in json configs like no_recovery/no_rebalance
    • Show no_recovery, no_rebalance, readonly flags in status
  • v0.7.0 d8313e939a

    Release 0.7.0 Stable

    vitalif released this 2022-05-29 23:39:53 +03:00 | 618 commits to master since this release

    • Add documentation! :-) in Russian and English
    • Implement an NFS proxy for file-based access emulation to Vitastor
      images for non-QEMU based hypervisors like VMWare, as a better way
      than iSCSI
    • Implement "primary affinity tags"
    • Add a patch for libvirt 6.0
    • Fix free_down_raw in cli status
    • Fix a rare bug where OSDs could drop unrelated connections on errors
  • v0.6.17 bb84379db6

    vitalif released this 2022-05-06 02:18:01 +03:00 | 633 commits to master since this release

    • Fix incorrect reading of extra metadata block leading to extra unknown objects in stats
    • Fix CSI driver volumeMode: Block support
    • Add block PVC and pod examples
    • Fix build under 32 bit architectures
    • Fix slow connection ramp-up caused by up_wait_retry_interval
  • v0.6.16 340a4b4f27

    vitalif released this 2022-04-09 01:16:52 +03:00 | 643 commits to master since this release

    • Implement vitastor-cli status (print cluster status) command
    • Add a new make-osd-hybrid.js script to quickly prepare a lot of hybrid (HDD+SSD) OSDs
    • Implement snapshot deletion for Cinder driver (only works in a healthy cluster)
    • Fix a huge :) bug causing reads to return all zeroes during rebalance. Add a test to prevent it in the future
    • Disconnect NBD proxy correctly without leaving a zombie [vitastor-nbd] process in D state
    • Fix a rare write hang appearing with small write throttling enabled
  • v0.6.15 85298ddae2

    vitalif released this 2022-03-06 19:16:34 +03:00 | 661 commits to master since this release

    • Make peering much faster in medium to large clusters
    • Fix a reenterability issue which could rarely lead to peering process hangs
  • v0.6.14 117d6f0612

    vitalif released this 2022-02-17 14:43:44 +03:00 | 671 commits to master since this release

    • Fix IPv6 address parsing
    • Fix "cannot read bytes of undefined" in the monitor on a fresh DB
    • Fix possible hangs of read requests on OSD restarts without immediate_commit=all mode
    • Fix OSDs skipping misplaced recovery in some cases
    • Fix OSDs possibly dying with "map::at" errors when other OSDs are stopped
    • Fix division by zero in ls if all pool OSDs are down
  • v0.6.13 36f352f06f

    vitalif released this 2022-02-03 01:50:30 +03:00 | 681 commits to master since this release

    • Fix client hangs possible on OSD restarts (bug affected versions from 0.5.11)
    • Fix "Assertion `sqe != NULL' failed" io_uring-related crashes possible
      on some kernels (0.6.11 increased probability of this bug)
    • Fix timeout=0 in NBD proxy
    • Fix build under centos 7
  • v0.6.12 c1929cabe0

    vitalif released this 2022-01-24 01:15:25 +03:00 | 702 commits to master since this release

    etcd connection stability, clang & elbrus support

    • Fix build under CLang and Elbrus LCC compilers, making Vitastor compatible
      with Elbrus CPUs :)
    • Completely fix the bug where OSDs didn't connect to peers and incorrectly marked
      PGs as incomplete
    • Limit I/O depth for deletes the same way as for small writes. Makes OSD crashes
      with "Assertion failed: sqe != NULL" during image deletion go away
    • Fix a very old, but rare, journaling bug (credits to https://github.com/mirrorll)
    • Fix flushing of unclean journaled objects leading to OSDs sometimes hanging
      after failover in EC setups (bug was introduced in 0.6.7)
    • Fix several problems that could prevent smooth operation of a Vitastor cluster
      under the condition of partial etcd failure:
      • OSDs could randomly fail due to too strict error handling
      • New clients and OSDs could be unable to start because of the lack of retries
      • CLI could fail some commands because of the lack of retries
      • Monitor could stop receiving state updates because of the lack of websocket pings
    • Fix monitor being unable to rebalance PGs after a downscale of pool pg_size (3->2)
    • Exit with failure when trying to nbd map or benchmark a non-existing image
    • Use HTTP keep-alive for etcd connections
    • Allow to configure etcd request timeouts and retries
    • Allow to configure NBD timeout, max devices and partitions, and set default to
      up to 64 devices with up to 3 partitions each
  • v0.6.11 0785bdf8b3

    vitalif released this 2021-12-26 21:11:24 +03:00 | 737 commits to master since this release

    • Slightly reduce journaling write amplification (requires no_same_sector_overwrites=false)
    • Fix listen_backlog (it was 0) because it could more than halve OSD socket send speed
    • Support IPv6 OSD addresses
    • Do not try to initialize client in simple-offsets
    • Fix OSDs sometimes marking PGs incomplete instead of trying to connect with peers
    • Allow to configure OSD placement in node_placement
    • Allow to run with 4k sector size block devices. Natural, but it was forbidden