Skip to content

Releases: open-io/oio-sds

4.2.10

03 Jul 06:51
4.2.10
Compare
Choose a tag to compare

Bug fixes

  • sqliterepo: prevent unneeded loop at election start #1819
  • sqliterepo: accept slow callbacks of deleted elections #1819
  • Python API: allow to encode fullpath with UTF-8 args #1820

4.6.0

02 Jul 14:41
Compare
Choose a tag to compare

New features

  • Set container versioning mode with an object operation #1804 #1813
  • Allow to configure event-agent connection pool #1810
  • Send event when changing container properties #1817
  • oio-blob-mover: implement concurrency #1822

Improvements

  • CI: allow to configure event-agent for asynchronous object replication #1812
  • Retry failed rebuild jobs, with a delay #1824

Bug fixes

  • Python API: propagate logger instance #1818
  • conf: fix second-wide (epoch) time variables parsing #1821
  • All bug fixes from 4.2.10

4.5.3

21 Jun 17:01
Compare
Choose a tag to compare

Bug fixes

  • Python API: fix logger initialization #1815
  • Python API: report EC chunks errors only once #1816

4.5.2

20 Jun 15:29
Compare
Choose a tag to compare

Bug fixes

  • Fix annoying or ambiguous logs #1809
  • Python API: rework EC upload code #1814

4.5.1

11 Jun 13:48
Compare
Choose a tag to compare

Bug fixes

  • proxy: Fix the location comparison #1805
  • rawx: Fix the program exit and the enforcement of timeouts #1806
  • Python API: close all EC writers, whatever happens #1807

4.2.9

11 Jun 13:34
4.2.9
Compare
Choose a tag to compare

Bug fixes

  • blob-indexer: do not warn on pending or just deleted chunks #1692
  • Load old xattr when deleting chunk #1705
  • No dump if database is corrupt #1710
  • Make sure that meta1 are started before assigning rdir services #1715
  • oio-reset.sh: Fix openio command #1719
  • Fix container snapshot feature #1721
  • Python API: do not use the legacy 'meta1_digits' parameter #1730
  • Prevent installation of urllib3 1.25 #1764
  • Do not lock/unlock meta1 scores before bootstrap #1773
  • C API: Use the same retry policy as the Python API #1796
  • Take precautions to prevent "double master" situations #1801

4.5.0

05 Jun 16:03
4.5.0
d28fa41
Compare
Choose a tag to compare

Improvements:

  • Investigate load-balancing issues #1762
  • Improve the service resolver #1776
  • Wait for events when testing the account service #1783
  • Python API: enable TCP_CORK, avoid buffer copies #1785
  • meta1: resolve account and cname only when asked #1786
  • Python API: better eventlet coordination #1787
  • Enrich performance data display #1790
  • Python API: ramp up upload buffer size #1791
  • Python API: replace Queue class by LightQueue #1792
  • Set appropriate TCP flags (and other small improvements) #1793

Bug fixes:

  • Do not read conscience persistence file if a hub is running #1778
  • sqliterepo: reset MASTER elections on ZOO_SESSION_EVENT #1782
  • Python API: fix get_pool_manager parameters #1794
  • C API: Use the same retry policy as the Python API #1796 (from 4.2.x branch)
  • Python API: fix exception reraise function #1797
  • Take precautions to prevent "double master" situations #1801 (from 4.2.x branch)

5.0.0

05 Jun 09:47
Compare
Choose a tag to compare

New features

  • Python API: Add hour-based rate limiting policies utilities #1632
  • core: allow to send logs to syslog via UDP port 514 #1649
  • Multi-Tube: specialize the queues of events per event kind #1659 #1763
  • Move openio election commands to openio-admin election commands #1679
  • Register oioproxy and beanstalkd services into conscience #1691 #1720
  • CLI: implement openio-admin <item_type> check commands #1697
  • CLI: implement openio-admin <item_type> locate commands #1704
  • CLI: implement openio-admin container repair command #1716 #1743 #1760
  • CLI: implement openio-admin <service_type> decache commands #1717
  • rawx: allow to check chunk hash with HEAD requests #1724
  • CLI: list containers that would be affected by the loss of a rawx or meta2 service #1729
  • Python API: allow to dispatch tasks locally or across the platform #1736
  • CLI: implement directory services checks #1737
  • CLI: implement 'openio-admin object repair' command #1739
  • CLI: implement 'openio-admin rebuild' commands #1740 #1748
  • CLI: implement get-config and set-config commands #1744
  • CLI: implement 'openio-admin account-service rebuild' command #1745
  • CLI: implement 'openio-admin check rawx' command #1747
  • CLI: implement 'openio-admin info' #1753
  • CLI: implement 'openio-admin chunk [distributed-]rebuild' #1779

Improvements

  • tools: deduplicate code from bootstrap scripts #1650 (see Breaking changes)
  • Limit length of request IDs to 63 characters #1653
  • Remove the user_is_a_service verruca #1656
  • sqliterepo: faster exit of services #1661
  • oio-reset: stop calling zk-reset.py #1695
  • sqliterepo: be more consistent with sharded/multiplied ZK #1696
  • Simplify the management of metrics #1698
  • Replicate container snapshots #1722
  • CLI: display nicer KeyError messages #1725
  • rawx: performance improvements #1746
  • CI: make curl silent when there is no error #1749
  • CI: use a travis pipeline #1750
  • tests: accelerate some shell scripts #1752
  • Improve Admin CLI #1755
  • Remove obsolete legacy tools | BREAKING CHANGE #1759
  • crawler: provide informations from rdir to integrity crawler #1768
  • Integrity crawler improvements #1761
  • CLI: Repair corrupted chunk #1772

Bug fixes

  • Workaround and fix flaky tests #1672
  • sqliterepo: fix an ugly but harmless memory management #1694
  • CI: enhance wait_for_event #1756
  • Rdir: Free error on missing options #1766
  • Few fixes around x-oio-req-id #1767
  • Do not use stdout within the commands #1789
  • Python API: fix import of eventlet.Semaphore #1798
  • Revert "Admin CLI: Set the default verbose level to INFO" #1799
  • event-agent: Always spawn workers #1800

Tests

  • Add some more tests to check chunk hash #1765
  • Test 'openio-admin check' #1774
  • Add tests to container repair #1777
  • CLI: test 'meta2 list containers' and 'rawx list containers' #1781
  • Add some tests for 'openio-admin account-service rebuild' #1784

Miscellaneous

  • Rename all-requirements.txt to requirements.txt #1758
  • Revert "Rename all-requirements.txt to requirements.txt" #1795

Breaking changes

Integration of Zookeeper and election commands

  • zk-bootstrap.py becomes openio zk bootstrap;
  • zk-reset.py becomes openio zk armageddon;
  • oio-election-dump.py and oio-election-stat.py become openio zk stat;
  • oio-election-reset.py becomes openio zk reset;
  • oio-election-smudge.py becomes openio zk smudge.

Other tools replaced by CLI subcommands

  • oio-check-directory replaced by openio-admin directory check.
  • oio-cluster replaced by openio cluster list.
  • oio-unlock-all replaced by openio cluster unlockall.

New dependencies

  • The golang implementation of rawx has a build requirement on golang.org/x/sys/unix.

Upgrade procedure

  • beanstalkd and oioproxy service type must be declared in conscience configuration file. Example:
[type:beanstalkd]
# 1000000 ready jobs -> score = 0
score_expr=root(3, (num stat.cpu) * (num stat.space) * (100 - root(3, (num stat.jobs_ready))))
score_timeout=120
lock_at_first_register=false

[type:oioproxy]
score_expr=(num stat.cpu)
score_timeout=120
lock_at_first_register=false
  • beanstalkd and oioproxy services must be watched by conscience-agent. Refer to the sample configuration file for the available options. Examples:
[...]
checks:
    - {type: tcp}
stats:
    - {type: beanstalkd}
    - {type: system}
    - {type: volume, path: /var/lib/oio/OPENIO/beanstalkd-1}
[...]
checks:
    - {type: tcp}
stats:
    - {type: oioproxy}
    - {type: system}

4.4.3

17 May 09:43
Compare
Choose a tag to compare

Improvements

  • m2, events: emit a warning before retrying to send an event #1738
  • tests: implement a facility to wait for a specific event #1741

Bug fixes

  • Drop old event when updating account #1751
  • Python API: recompute deadline after data upload success #1771

4.4.1

26 Mar 13:53
4.4.1
Compare
Choose a tag to compare

Bug fixes

  • account: fix container filtering when there are more than 1000 containers #1711