Skip to content

v0.35.0 - Sindo (신도, 信島)

Compare
Choose a tag to compare
@sami-nspcc sami-nspcc released this 18 Jan 13:20
· 1111 commits to master since this release

Added

  • morph list-containers in neofs-adm (#1689)
  • --binary flag in neofs-cli object put/get/delete commands (#1338)
  • session flag support to neofs-cli object hash (#2029)
  • Shard can now change mode when encountering background disk errors (#2035)
  • Background workers and object service now use separate client caches (#2048)
  • replicator.pool_size config field to tune replicator pool size (#2049)
  • Fix NNS hash parsing in morph client (#2063)
  • neofs-cli neofs-cli acl basic/extended print commands (#2012)
  • neofs_node_object_*_req_count_success prometheus metrics for tracking successfully executed requests (#1984)
  • Metric 'readonly' to get shards mode (#2022)
  • Tree service replication timeout (#2159)
  • apiclient.reconnect_timeout setting allowing to ignore failed clients for some time (#2164)

Changed

  • object lock command reads CID and OID the same way other commands do (#1971)
  • LOCK object are stored on every container node (#1502)
  • neofs-cli container get-eacl print ACL table in json format only with arg `--json' (#2012)
  • Side chain notary deposits use max uint32 as till parameter (#1486)
  • Allow object removal without linking object (#2100)
  • neofs-cli container delete command pre-checks container ownership (#2106)
  • Policer cache size is now 1024 (#2158)
  • Tree service now synchronizes with container nodes in a random order (#2127)
  • Pilorama no longer tries to apply already applied operations (#2161)
  • Use sync.Pool in Object.PUT service (#2139)
  • Shard uses metabase for HEAD requests by default, not write-cache (#2167)
  • Clarify help for --expire-at parameter for commands object lock/put and bearer create (#2097)
  • Node spawns GETRANGE requests signed with the node's key if session key was not found for RANGEHASH (#2144)

Fixed

  • Open FSTree in sync mode by default (#1992)
  • neofs-cli container nodes's output (#1991)
  • Increase error counter for write-cache flush errors (#1818)
  • Correctly select the shard for applying tree service operations (#1996)
  • Do not panic and return correct errors for bad inputs in GET_RANGE (#2007, #2024)
  • Physical child object removal by GC (#1699)
  • Broadcasting helper objects (#1972)
  • neofs-cli lock object's lifetime flag handling (#1972)
  • Do not move write-cache in read-only mode for flushing (#1906)
  • Child object collection on CLI side with a bearer token (#2000)
  • Fix concurrent map writes in Object.Put service (#2037)
  • Malformed request errors' reasons in the responses (#2028)
  • Session token's IAT and NBF checks in ACL service (#2028)
  • Losing meta information on request forwarding (#2040)
  • Assembly process triggered by a request with a bearer token (#2040)
  • Losing locking context after metabase resync (#1502)
  • Removing all trees by container ID if tree ID is empty in pilorama.Forest.TreeDrop (#1940)
  • Concurrent mode changes in the metabase and blobstor (#2057)
  • Panic in IR when performing HEAD requests (#2069)
  • Write-cache flush duplication (#2074)
  • Ignore error if a transaction already exists in a morph client (#2075)
  • ObjectID signature output in the CLI (#2104)
  • Pack arguments of setPrice invocation during contract update (#2078)
  • neofs-cli object hash panic (#2079)
  • Closing neo-go WS clients on shutdown and switch processes (#2080)
  • Making notary deposits with a zero GAS balance (#2080)
  • Notary requests on shutdown (#2075)
  • neofs-cli container create check the sufficiency of the number of nodes in the selector for replicas (#2038)
  • Data duplication during request forwarding (#2047)
  • Tree service panic on TreeMove operation (#2140)
  • Panic in GETRANGE with zero length (#2095)
  • Spawning useless GETRANGE with zero length for a big object (#2101)
  • Incomplete object put errors do contain the deepest error's message (#2092)
  • Prioritize internal addresses for clients (#2156)
  • Force object removal via control service (#2145)
  • Synchronizing a tree now longer reports an error for a single-node container (#2154)
  • Prevent leaking goroutines in the tree service (#2162)
  • Do not search for LOCK objects when delete container when session provided (#2152)
  • Race conditions on shard's mode switch (#1956)
  • Returning expired/removed objects from write-cache (#2016)

Removed

  • -g option from neofs-cli control ... and neofs-cli container create commands (#2089)
  • --header from neofs-cli object get (#2090)

Updated

  • neo-go to v0.100.0
  • spf13/cobra to v1.6.1
  • spf13/viper to v1.8.0
  • google.golang.org/grpc to v1.50.1

Updating from v0.34.0

Pass CID and OID parameters via the --cid and --oid flags, not as the command arguments.
Replicator pool size can now be fine-tuned with replicator.pool_size config field.The default value is taken from object.put.pool_size_remote as in earlier versions.
Added neofs_node_object_*_req_count_success metrics for tracking successfully executed requests.
neofs-cli container delete command now requires given account or session issuerto match the container owner. Use --force (-f) flag to bypass this requirement.
Tree service network replication can now be fine-tuned with tree.replication_timeout config field.