Release preparation v1.157

For internal reason we’ve skipped v1.156
So new release candidate v1.157 is already deployed on QA Satellite

Changelog

General

  • 03ffa7b shared/dbutil: make database connection parameters configurable per database
  • 7781bdb build: add storagenode-modular and satellite-modular to the release binaries
  • 5733dc6 scripts/release: fix glob matching storagenode-modular in storagenode upload

Satellite

  • 03f43d7 satellite: trigger large inv event for open invoices
  • a93ab0f satellite/metabase: implement TiDBAdapter IterateExpiredObjects and IterateZombieObjects
  • e0a878b satellite/metabase: implement (*TiDBAdapter).BucketEmpty
  • 939d74d satellite/metabase: implement (TiDBAdapter).DeleteObjectExact
  • e6ca73e satellite/metabase: implement (TiDBAdapter).DeleteObjectLastCommitted
  • 22c43ec satellite/metabase: implement (*TiDBAdapter).DeleteObjectLastCommittedVersioned
  • 6a07d99 satellite/metabase: implement (*TiDBAdapter).DeletePendingObject
  • 8b8d464 satellite/metabase: implement (*TiDBAdapter).DeleteAllBucketObjects
  • 88df661 web/satellite: fixed several UX issues
  • 5ad1fff satellite/console: override opt-in status in SetUserSettings
  • 95d2dd4 web/satellite: added more info about the new pricing
  • 77a12f8 satellite/admin: fix some permission issues
  • 863f004 web/satellite: updated wording in the opt-in popup
  • 0105ae3 web/satellite: add ‘how to close your account link’ to opt out email
  • d9dba7f cmd/satellite: implement migrate-pricing phase 2
  • ee6cb07 satellite/metabase: implement (*TiDBAdapter).DeleteInactiveObjectsAndSegments
  • 062247b satellite/metabase: implement (*TiDBAdapter).IterateLoopSegments
  • f5c348e satellite/metabase: implement (*TiDBAdapter).ListObjects
  • b884ffa satellite/metabase: implement (*TiDBAdapter).ListSegments
  • fc74d8f satellite/metabase: implement (*TiDBAdapter).ListStreamPositions
  • e72f912 satellite/metainfo: update BeginObject to accept checksum options
  • 59fbcdc web/satellite: fix missing segment item
  • 4c55575 satellite/metabase: implement (*TiDBAdapter).ListBucketStreamIDs
  • 1532b5c satellite/metabase: implement (*TiDBAdapter).ListVerifySegments
  • 3bbb1c6 satellite/console: skip city validation for UAE billing addresses
  • 67980c6 satellite/metabase: implement (*TiDBAdapter).FinishCopyObject utils
  • 684821b satellite/metabase: implement (*tidbTransactionAdapter).ObjectMove utils
  • 0defe96 satellite/metabase: implement (*TiDBAdapter).UpdateObjectLastCommittedMetadata
  • 374932f satellite/metabase: implement (*TiDBAdapter).UpdateSegmentPieces
  • f3714ae satellite/metabase: implement *TiDBAdapter ObjectLock
  • 111cef5 satellite/metabase: implement (*TiDBAdapter).CollectBucketTallies
  • 3b85389 satellite/metabase: implement (*TiDBAdapter).CountSegments
  • 9419b46 satellite/metabase: implement (*TiDBAdapter) TableStats
  • 4107495 satellite/metabase: implement (*TiDBAdapter).CheckSegmentPiecesAlteration
  • 3aa60f1 satellite/metabase: implement (*TiDBAdapter).GetSegmentsByPosition
  • fae801f satellite/metabase: implement (*TiDBAdapter).BatchUpdateSegmentPieces
  • 9717456 satellite/metabase: add bucket_eventing_outbox table to TiDB schema
  • d225656 satellite/admin: fix cross-tenant usage report access
  • 4cbe449 satellite/eventing: add CombinedPendingResult
  • d6c061f satellite/metainfo: add ProjectToAdapter config
  • 2677d86 web/satellite: create buckets via the satellite API
  • d8461f5 satellite/payments/stripe: Simplify conditional logic
  • 02b2168 web/satellite: collect billing address via native stripe elements
  • 9e0888e web/satellite: add a ‘decide later’ option to the opt-in popup
  • 8c917e9 satellite/metabase: simplify Delete*ObjectsAndSegments
  • ec6fed8 satellite/metabase: simplify and optimize DeleteAllBucketObjects
  • 1461731 satellite/metabase: simplify DeleteObjectLastCommittedPlain
  • 90c17ca satellite/metabase: enable TestMigration for TiDB
  • 497c4ac satellite/metabase: enable TiDB tests by default
  • a1a22aa satellite/metabase: run go fix -any
  • c86c9e3 satellite/{metabase,metainfo}: record retention remainder charge on object overwrite
  • c6f377a satellite/entitlements: add ProductID and seat Count to AccountLicense
  • 62d3b07 satellite/admin: allow Support team to update user opt-in status
  • 437594c satellite/core: add OptOutFreezeChore to the modular core runner
  • 66826f2 satellite/payments: add early ‘mustSkipUser’ check to ‘pay-invoices’ command
  • 8cce162 satellite/console: handle context cancellation during invoice payment
  • 13a522f satellite/payments: another try to fix invoice usage dates
  • f3a34a3 satellite/console: rename previous pricing update config flag
  • 1c415f3 satellite/console: grant 2 free OM licenses upon registration
  • b891642 satellite/metainfo: enable DeleteObjects by default
  • 3b0ca56 satellite/accountfreeze: send pre-freeze reminder email before opt-out freeze date
  • 9d02acb satellite/metabase: call rows.Err() before Close() in object iterator
  • 0136fd5 satellite/{console,payments,admin}: fix account deletion edge cases
  • 410bde1 web/satellite: resolve dependency vulnerabilities and deprecations
  • 58cc260 web/satellite: added more info to opt-in popup
  • d054260 satellite/{db,dbcleanup}: expand pending deletion criteria
  • 7865c1b cmd/satellite: migrate single-tier NBP to matching replacement in migrate-pricing
  • 22d750b web/satellite/emails: update opt out freeze reminder wording

Storagenode

  • e4bcc99 storagenode/piecestore: fix isCongested
  • 655c7f6 storagenode/monitor: fix broken minimum space check
    (and it’s going to be another tag with fixes for SN storjlings reported here)

It seems there are not so many information about it. May be someone can explain what is it and what advantages it brings?

For the regular SNO on a Public network I believe it gives nothing, except a more complicated configuration. It was initially designed for Select.

Also some help from AI: Google Search

There will be a way to disable compactions and call it by cron if i understand it. How can i achive it? )

I don’t think this is planned. It made sense for piecestore because operations like the bloom filter application were slow, and it was possible because the file system operations in piecestore were chosen in a way to allow multiple processes to operate on a single piece store.

But hashstore keeps a lot of its state in RAM. It would be much more difficult and make things much slower to synchronize the state across processes. Thankfully, separate process should also not be necessary given how fast hashstore is.

You can do it with scripting - change the alive fraction to 0 or 0.1 and rerun the node, then return your current value when you need and rerun the node. Not sure that it will start to act immediately though. Perhaps you would also need to increase a probability.

$ storagenode setup --help | grep alive-fraction

      --hashstore.compaction.alive-fraction float                if the log file is not this alive, compact it
(default 0.25)
$ storagenode setup --help | grep probability
      --hashstore.compaction.probability-power float             power to raise the rewrite probability to. >1 means
must be closer to the alive fraction to be compacted, <1 means the opposite (default 2)