Go to file
paul cannon b6bcb32ecf satellite/reputation: more accurate "reputation changes" list
`overlay.(*Service).UpdateReputation()` takes a "reputationChanges"
parameter, a slice of node events indicating whether we think the node's
disqualification or suspension status is changing. This is necessary so
that the overlay service can notify the nodeevents DB about these
changes.

In several cases, however, this list of events is not constructed
correctly, because of missing information about the previous state.
In most cases, this is because the node was offline, and the order limit
creation functions (which usually obtain and return the prior reputation
status) ignored that node.

This change makes it so that all callers to
`overlay.(*Service).UpdateReputation()` can be expected to provide a
correct list of change events (as correct as feasible, given that we
can't lock the node's information in the database during the entire
operation).

It ended up that there was only one caller we needed to worry about, and
that was reputation.(*Service).ApplyAudit(). So the bulk of this change
is teaching that function how to recognize when the prior reputation
status was not filled in, and fill it in.

Refs: https://github.com/storj/storj/issues/5464
Change-Id: I52ce385fc9c0ce3b283b998d517998e7f4ec8792
2023-01-31 18:39:40 +00:00
.github .github: remove invalid codeowners 2022-11-10 15:52:48 +02:00
certificate certificate/authorization: implement gob to pb migration 2023-01-25 11:09:05 +02:00
cmd cmd/tools: remove nullify-bad-user-agents tool 2023-01-30 15:57:33 +00:00
crashcollect crashcollect: removed redundant structure 2021-04-28 00:35:39 +03:00
docs blueprint: tcp fastopen 2023-01-17 20:35:47 +00:00
installer/windows storj/storj: more domain changes 2021-04-15 20:51:43 +00:00
multinode cmd/multinode: generate identity when not provided 2022-10-12 12:01:14 +00:00
private private/server: tcp_fastopen failures should not kill the server 2023-01-31 14:48:14 +00:00
resources cmd: add ca-certificates to Docker images (#3986) 2020-12-08 01:38:33 +01:00
satellite satellite/reputation: more accurate "reputation changes" list 2023-01-31 18:39:40 +00:00
scripts private/server: support tcp fastopen 2023-01-30 13:30:43 -05:00
storage storage/filestore: better error message on data corruption 2023-01-30 08:54:06 -06:00
storagenode storage/filestore: better error message on data corruption 2023-01-30 08:54:06 -06:00
testsuite storj/private/server: listen for noiseconn requests 2023-01-30 13:23:08 -05:00
versioncontrol all: fix deprecated ioutil commands 2022-10-11 15:27:29 +00:00
web satellite: remove rewards package 2023-01-31 11:46:50 +00:00
.dockerignore Forward-port release-alpha8 build script issues (#1726) 2019-04-09 23:01:10 -06:00
.earthlyignore build: provides earthfile for nightly build 2022-10-27 09:25:17 +00:00
.gitattributes web/: add check for change to eslint import 2021-12-21 15:59:23 +00:00
.gitignore gitignore: add go workspace files 2022-12-13 10:15:53 -07:00
.gitreview add config file for git review usage 2021-10-14 18:01:30 +00:00
CODE_OF_CONDUCT.md Adding CODE_OF_CONDUCT to storj/storj repo (#779) 2018-12-07 15:10:02 -05:00
CODEOWNERS CODEOWNERS: added package ownership for Team Integrations 2022-12-05 16:25:53 +00:00
CONTRIBUTING.md go.mod: update to minimum supported go version (#4239) 2021-10-22 21:12:13 +02:00
DEVELOPING.md Makefile: run lint locally in docker 2022-05-25 12:30:15 -05:00
docker-compose.tests.yaml Makefile: disable postgres fsync in the test container 2022-12-01 22:03:31 +00:00
Earthfile build: use latest storj-up@main in Earthfile 2022-12-12 15:06:01 +00:00
go.mod storj/private/server: listen for noiseconn requests 2023-01-30 13:23:08 -05:00
go.sum storj/private/server: listen for noiseconn requests 2023-01-30 13:23:08 -05:00
Jenkinsfile ci: fixes for new Go version 2022-11-02 15:17:46 +02:00
Jenkinsfile.premerge ci: removed ui artifacts (#5400) 2022-12-12 14:15:16 +01:00
Jenkinsfile.public ci: removed ui artifacts (#5400) 2022-12-12 14:15:16 +01:00
Jenkinsfile.verify Jenkinsfile: collect full table scan queries from tests 2023-01-20 12:32:47 +00:00
LICENSE license code with agplv3 (#126) 2018-07-05 10:24:26 -04:00
MAINTAINERS.md Maintainers: remove link 2022-03-14 14:16:31 +02:00
Makefile cmd/storagenode: remove storagenode dockerfiles 2023-01-26 13:49:12 +00:00
monkit.lock satellite/audit: Begin using piecewise reverifications 2022-12-16 14:21:13 +00:00
proto.lock certificate/certificatepb: add definitions for migration 2023-01-25 10:28:36 +02:00
README.md Update README.md (#4320) 2021-12-22 14:12:58 +01:00

Storj V3 Network

Go Report Card Go Doc Coverage Status

Storj is building a decentralized cloud storage network. Check out our white paper for more info!


Storj is an S3-compatible platform and suite of decentralized applications that allows you to store data in a secure and decentralized manner. Your files are encrypted, broken into little pieces and stored in a global decentralized network of computers. Luckily, we also support allowing you (and only you) to retrieve those files!

Table of Contents

Contributing to Storj

All of our code for Storj v3 is open source. If anything feels off, or if you feel that some functionality is missing, please check out the contributing page. There you will find instructions for sharing your feedback, building the tool locally, and submitting pull requests to the project.

A Note about Versioning

While we are practicing semantic versioning for our client libraries such as uplink, we are not practicing semantic versioning in this repo, as we do not intend for it to be used via Go modules. We may have backwards-incompatible changes between minor and patch releases in this repo.

Start using Storj

Our wiki has documentation and tutorials. Check out these three tutorials:

License

This repository is currently licensed with the AGPLv3 license.

For code released under the AGPLv3, we request that contributors sign our Contributor License Agreement (CLA) so that we can relicense the code under Apache v2, or other licenses in the future.

Support

If you have any questions or suggestions please reach out to us on our community forum or file a ticket at https://support.storj.io/.