• Stable v0.6.12 c1929cabe0

    Release 0.6.12

    vitalif released this 5 months ago | 0 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