Release preparation v1.47

In the next release we testing following changes:



  • [+ 8e80a51b] Makefile: Set NodeJS version to use in var
  • [+ 35113634] Makefile: do not remove files to keep state clean
  • [+ 606a73a8] docs/testplan: Adding a testplan for Project Dashboard (#4318)


  • [+ 0e985c96] storagenode: check if QUIC is properly configured
  • [+ 4be321ad] storagenode: display quic status on SNO dashboard
  • [+ 44a73b01] cmd/storagenode: use contact address instead of server address


  • [+ 51c787d6] satellite/console/consoleweb: Only replace some kinds of characters in name
  • [+ db2f5666] satellite/console: Filter special characters out of name
  • [+ 8192c0b8] satellite/contact: add PingMe endpoint (#4393)
  • [+ 228f465d] satellite/metainfo: сombine checks for storage and segment limit
  • [+ 270c6e24] satellite/console: fix default limit for free-tier segment usage limit
  • [+ a81af282] web/satellite: error while adding credit card handled
  • [+ 309ac41b] satellite/satellitedb/dbx: add schema for oauth tokens
  • [+ 83f7d3e0] satellite/satellitedb/dbx: add schema for oauth clients
  • [+ 36c07720] satellite/metainfo: bound user agent metrics
  • [+ 1007e630] web/satellite: Distinguish between file and folder upload buttons
  • [+ cf462fcf] satellite/admin: update geofence endpoints to follow response conventions
  • [+ 5e9643e1] satellite/metainfo: cleanup validation
  • [+ 18ab464b] satellite/metainfo: UpdateProjectSegmentUsage enabled only with segment validation
  • [+ 3a987ac0] satellite/admin: Fix client API & docs
  • [+ eb0d08d5] satellite/metainfo: collect versions of user tools
  • [+ e0b3c715] satellite/nodestats: use overlay node for reputation status
  • [+ b6625cad] satellite/metainfo: uncomment tests, renamed EncryptedPath into EncryptedObjectKey
  • [+ 332b673a] satellite/metainfo: comment tests for rename
  • [+ 15c2b2cc] satellite/metainfo: comment tests for rename
  • [+ dc6128e9] satellite/admin: add update project segment limit on ui
  • [+ 8be655c4] satellite/metainfo: add segment limit validation, caching
  • [+ f0ada87a] web/satellite: fix FileModal Share Link (#4341)
  • [+ 1f8f7ebf] satellite/{audit, reputation}: fix potential nodes reputation status inconsistency
  • [+ b21cbc85] satellite/orders: log level warn for remaining “bucketName or projectID not set” (#4326)


  • [+ 6bbe2fc6] cmd/uplinkng: fix flag/error messages
  • [+ 4f96a856] cmd/uplink/share: register access via DRPC
  • [+ bc3392cd] cmd/uplinkng: fix clingy argument usage

It is already deployed on QA satellite and published on GitHub


Mm-hmm… Hope this solves my problem. :smiley:

Do satellites punish any node they can’t connect to when THEY have the connectivity problem, not the node? :thinking:

Will this change the API as well?

What I suggest be addressed as a serious fix for next release: DO NOT SUSPEND NODE, IF IT FAILS 1 OUT OF 2 TOTAL AUDITS. This is bad coding. Please address in next release!

Hey, that’s 50% failure rate… :crazy_face:

Sure, but it is 1 out of 2. The satellite was fast to judge. The node was started days ago and it failed this and only this audit from all satellites. It does not make any sense. The node did not lose connectivity unless on 1 reboot. Not my problem the satellite could not connect to it ONCE without even retrying. Also 1 out of 2 - bad math STORJ. Node says this is 48.72 %. Give me a break!


Negative. You will still get suspended and you will still get that information a few hours later than you might expect. The storage node dashboard is not showing live data. It requests the data from the satellite with a high interval. That high interval is the reason why you might see 100% → 60% in just a second.

If you want early email notification I would recommend this: [Tech Preview] Email alerts with Grafana and Prometheus

No. 29 pieces are required in order to have a valid audit result. If the satellite is unable to connect to the storage nodes we will ignore the audit result and assume the connection problem is on our end.

Do you mean the storage node dashboard API? I am not sure. We can try that out on Monday if you like.

How should the satellite garantee durability? Should we send the first 1000 files to /dev/null and just ignore any audit errors we might get back?

Your screenshot is telling a different story. If the satellite is unable to connect to you that would impact your online score. The satellite was able to reach you but you returned no data within 5 minutes (3 times in a row) or an error message.

  • [+ 44a73b01] cmd/storagenode: use contact address instead of server address

Can someone explain whats meant by this? Thanks!

1 Like

I see the “server address” listed in config.yaml

Is the “contact address” the address listed on the run command line for Docker nodes?

How do I ensure that the advertised contact address is what I intend?

1 Like

Server.adress in config is Used only storj service port that it listening. That it is by default same as contact.external-address.
There is usualy lot of errors on node setup, when you have more that 1 node.
It will help to prevent it.

1 Like

Thank you very much :slight_smile:
I have bookmarked the Repo now :wink:

1 Like

This is not clear.

There’s no “Contact Address” line in config.yaml

And there are both server and contact addresses listed in the go source code. The “server address” listed in config.yaml is the localhost. While the docker run command specifies the node’s network accessible address. So, these two configuration parameters are definitely not the same.

I see that the changelog seems like it’s in an “Info” function.

So, I’m really confused as to what this specific change means to a long running node with potentially old and/or deprecated elements listed in the config.yaml … and if there is anything that needs to be added or changed in order to have that node continue running without suddenly and unexpectedly losing reputation or becoming disqualified.

It’s possible that the coding change requires zero changes. However, that’s very unclear.

In this config there is 2 lines And if you use docker these stay commented out anyways.
You Have # server address of the api gateway and frontend app #console.address:
Then you have #contact.external-address:
There not even the same and dont have the same meanings. Which is also confusing do we have to go back and change every start command?

It always was here

public address to listen on

server.address: :37000

I was always under the impression that the config.yaml contained mostly local configuration items, while the docker run commandline options set the WAN needed configuration items used by the satellites.

However, the words contact or external do not appear in any of my node’s configuration files or docker configuration for my node.

$docker inspect storagenode |grep -iE 'contact|external'
    (no output)
$grep -iE 'contact|external' config.yaml
    kademlia.external-address: ""

I’ll try the following question:

If I set an address option via my docker run command via -e ADDRESS="WAN.IP:PORT", is that address the contact.external-address referred to in this coding change?

You can see how it’s passed to the storagenode command in the entrypoint script here. storj/entrypoint at 17f56ab63650529e90f63cc7c87065d021780074 · storj/storj · GitHub

So yes, it is.

1 Like

Thank you for finding that!