Skip to content

3.0

Compare
Choose a tag to compare
@alex-aizman alex-aizman released this 25 Feb 06:15

Highlights

  • new on-disk layout optimized for per-bucket management policies, namespace partitioning, and cloud provider isolation
    • in addition to checksum, all metadata is now versioned to support backward compatibility when (and if) there are any future changes
    • global (cluster-wide) control structures - cluster map and bucket metadata - are now uniformly GUID-protected and compressed
    • bucket metadata, in particular, exists in multiple protected copies on data drives of all storage targets
  • added AIS as the 3rd fully supported Cloud Provider (in addition to Amazon S3 and Google Cloud)
  • global (cluster-wide) rebalancing:
    • improved, optimized, and enhanced rebalancing logic
    • revised to run stage by (enumerated) stage whereby the stages get synchronized across all targets
    • added support for erasure-coded buckets
    • stabilized long-running operation in the presence of network failures, drive faults, cluster partitioning, administrative restarts
    • will retransmit any migrating object (or EC slice of an object) that didn't get acknowledged
  • resilvering: support erasure-coded buckets
  • CLI: usability improvements, APPEND, dSort configuration
  • AIS FS: namespace caching, config reload/refresh at runtime

Core

  • new on-disk layout (#580, #578, #594)
  • LOM on-disk (#604)
  • bucket groups and namespaces (!1616, !1608, !1607, !1598, !1597, !1593)
  • AIS cluster to cluster connectivity, AIS as a new Cloud Provider (#584)
  • Smap and BMD cluster-wide consistency (#542, !1159, !1154, !1549)
  • rebalance erasure coded buckets (#577, !1651)
  • erasure coding: improve and optimize on-disk metadata representation (!1468)
  • configuration changes: versioning (!1461), Cloud Provider (!1572, !1594)
  • reliable register (join)/unregister node (!1648)
  • improve AWS versioning support (!1471)
  • better and more reliable out-of-space handling (!1696)
  • memory management and Slab allocation; small-size allocator and its usage for LOM (!1685)
  • rebalance/intra-cluster transport: optimize-out heap allocations (!1650)

CLI

  • usability improvements (!1163)
  • new bucket summary (!1505)
  • APPEND API (#612, !1701)
  • allow to override dSort configuration (!1692)
  • revise show xaction (!1704)

AIS FS: FUSE-based mountable filesystem to access objects as files

  • directory caching to optimize POSIX lookups (#563, #566, !1469)
  • config reload/refresh without unmounting (#568)

Rebalance

  • ACK and retransmit (#583)
  • support containerized deployments (#570)
  • recommence interrupted rebalance upon startup (!1661)

API/SDK

  • HEAD object request will now return erasure coding info as well (!1550)
  • fast bucket list (ls) now supports paging (!1475)
  • (bucket, provider, namespace) triplet structure used across numerous API calls (!1598, !1608, !1616)

Development

  • make and build: enhancements and improvements to consolidate most of (and most often used) build, run, and test operations (#564, !1466, !1483, !1498, !1512)
  • add support for Darwin (OSX/Mac) (!1526)

Kubernetes; containerized deployments

  • revise node labeling; fix aisnode container start script (!1725)
  • demo infrastructure for GTC; assorted fixes (!1699)
  • single-node-aistore: docker image for easy and fast turn-key single-host deployments

Documentation

  • on-disk layout
  • multiple corrections and additions