Simon Frei
0525c755f4
build: Bump quic-go to 0.26.0 for go1.18 update ( #8231 )
...
Merging because I want this in the RC, when we do the RC...
2022-04-12 16:27:29 +04:00
Jeffery To
e30898ddb3
build: Update go directive to 1.17 ( fixes #8258 ) ( #8260 )
...
This should fix compiling from the source tarball with Go 1.18.
2022-04-09 16:01:24 +02:00
Simon Frei
edc3a77b98
lib/fs, lib/model: Add warning about kqueue resource usage ( fixes #7855 ) ( #8249 )
2022-04-05 21:32:06 +02:00
dependabot[bot]
10f9d95cd2
build(deps): bump github.com/thejerf/suture/v4 from 4.0.1 to 4.0.2 ( #8190 )
...
Bumps [github.com/thejerf/suture/v4](https://github.com/thejerf/suture ) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/thejerf/suture/releases )
- [Commits](https://github.com/thejerf/suture/compare/v4.0.1...v4.0.2 )
---
updated-dependencies:
- dependency-name: github.com/thejerf/suture/v4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-23 21:07:15 +01:00
dependabot[bot]
ba2c79f310
build(deps): bump github.com/pierrec/lz4/v4 from 4.1.12 to 4.1.13 ( #8170 )
...
Bumps [github.com/pierrec/lz4/v4](https://github.com/pierrec/lz4 ) from 4.1.12 to 4.1.13.
- [Release notes](https://github.com/pierrec/lz4/releases )
- [Commits](https://github.com/pierrec/lz4/compare/v4.1.12...v4.1.13 )
---
updated-dependencies:
- dependency-name: github.com/pierrec/lz4/v4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-08 07:15:50 +01:00
dependabot[bot]
4329ba316f
build(deps): bump github.com/shirou/gopsutil/v3 from 3.21.8 to 3.21.12 ( #8123 )
...
Bumps [github.com/shirou/gopsutil/v3](https://github.com/shirou/gopsutil ) from 3.21.8 to 3.21.12.
- [Release notes](https://github.com/shirou/gopsutil/releases )
- [Commits](https://github.com/shirou/gopsutil/compare/v3.21.8...v3.21.12 )
---
updated-dependencies:
- dependency-name: github.com/shirou/gopsutil/v3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-22 08:46:03 +01:00
dependabot[bot]
a78aedec7e
build(deps): bump github.com/alecthomas/kong from 0.2.17 to 0.3.0 ( #8126 )
...
Bumps [github.com/alecthomas/kong](https://github.com/alecthomas/kong ) from 0.2.17 to 0.3.0.
- [Release notes](https://github.com/alecthomas/kong/releases )
- [Commits](https://github.com/alecthomas/kong/compare/v0.2.17...v0.3.0 )
---
updated-dependencies:
- dependency-name: github.com/alecthomas/kong
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-22 08:32:03 +01:00
Simon Frei
e40289ce7a
build: Bump quic to v0.25.0 for Go1.18 support ( #8134 )
2022-01-21 14:54:42 +01:00
Jakob Borg
b6d1e16b4e
lib/protocol: Switch to a newer lz4 package ( #8122 )
2022-01-17 18:52:43 +01:00
Simon Frei
c00c6b3957
build: Bump quic-go to 0.24.0
2021-12-30 13:07:01 +01:00
Jakob Borg
73c5184518
build: Update all dependencies ( #7968 )
...
Also add a script step for how to do this, as frankly I forget each time
what the canonical way is.
`go run build.go update-deps`
2021-09-26 12:08:23 +02:00
greatroar
f96c211198
lib/db: Replace SipHash with hash/maphash ( #7962 )
2021-09-24 21:26:07 +02:00
Jakob Borg
30e5243f5e
build: Update go-ole for Windows/arm
2021-09-17 17:10:32 +02:00
Benjamin Nater
37df662325
build: Update x/sys to fix new issue in go 1.17
2021-08-19 20:38:14 +02:00
Audrius Butkevicius
fe77fac23f
Update quic to 0.22.0 to support RFC9000, enable batch reads ( #7862 )
...
* Update quic to 0.22.0 to support RFC9000, enable batch reads
* Remove wrappers that are not needed anymore
2021-08-05 05:44:22 +02:00
greatroar
0b290f7206
all: go mod tidy ( #7758 )
2021-06-10 13:16:44 +02:00
Audrius Butkevicius
58e81fdffb
cmd/syncthing/cli: Update recli, fix stdin handling ( fixes #7685 , fixes #7673 ) ( #7694 )
2021-05-18 20:09:48 +01:00
Simon Frei
0f4ae7636d
build: Upgrade pfilter ( fixes #7664 ) ( #7666 )
2021-05-11 20:57:38 +02:00
Audrius Butkevicius
aca1b45e93
lib/connections: Update pfilter to pick up bugfix/oob stuff, support OOB connections ( fixes #7636 ) ( #7654 )
2021-05-11 07:59:56 +02:00
Simon Frei
6e662dc9fc
lib/suture: Use ServeBackground to start main supervisor ( #7626 )
2021-05-10 16:50:45 +02:00
greatroar
3746c899b7
build: List go:generate tools in tools.go ( #7599 )
2021-05-08 12:52:06 +02:00
dependabot[bot]
f90870b99f
build: Bump github.com/shirou/gopsutil/v3 from 3.21.3 to 3.21.4 ( #7625 )
...
Bumps [github.com/shirou/gopsutil/v3](https://github.com/shirou/gopsutil ) from 3.21.3 to 3.21.4.
- [Release notes](https://github.com/shirou/gopsutil/releases )
- [Commits](https://github.com/shirou/gopsutil/compare/v3.21.3...v3.21.4 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-03 12:10:04 +02:00
Jakob Borg
ed9cb923fb
build: Update most dependencies (fixes: all the dependabot PRs) ( #7622 )
2021-04-30 09:11:11 +02:00
dependabot[bot]
d5141c6d51
build: Bump github.com/prometheus/client_golang from 1.8.0 to 1.10.0 ( #7612 )
...
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang ) from 1.8.0 to 1.10.0.
- [Release notes](https://github.com/prometheus/client_golang/releases )
- [Changelog](https://github.com/prometheus/client_golang/blob/master/CHANGELOG.md )
- [Commits](https://github.com/prometheus/client_golang/compare/v1.8.0...v1.10.0 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-29 21:57:22 +02:00
Simon Frei
9ba7611537
build: Bump go-stun to v0.1.3 ( fixes #7568 ) ( #7572 )
2021-04-13 17:10:52 +01:00
Simon Frei
9587a523b3
build: Update notify ( #7444 )
2021-03-08 13:36:03 +01:00
Simon Frei
310fba4c12
lib: Return error from db.FileSet.Snapshot ( fixes #7419 , ref #5907 ) ( #7424 )
2021-03-07 13:43:22 +01:00
Simon Frei
3d91f7c975
lib: Use counterfeiter to mock interfaces in tests ( #7375 )
2021-03-03 08:53:50 +01:00
Jakob Borg
55d5e03639
lib/db: Remove Badger experiment ( #7413 )
2021-03-01 09:16:08 +01:00
Simon Frei
57a7f4391f
build: Update pfilter ( #7376 )
2021-02-18 15:09:46 +00:00
Jakob Borg
4f20c900d0
cmd/syncthing: Refactor command line parsing ( #7330 )
2021-02-10 20:35:37 +01:00
Simon Frei
e19d6e993d
lib/fs: Cache all real-case results ( fixes #7270 ) ( #7286 )
2021-01-27 19:25:34 +01:00
Simon Frei
0db3b7a530
build: Switch to gopsutil's v3 module ( #7191 )
2020-12-10 16:43:15 +01:00
Simon Frei
b37ecc3cf4
build: Update notify ( fixes #7076 ) ( #7189 )
2020-12-10 15:43:05 +01:00
Simon Frei
c1b452df93
build: Upgrade quic-go to v0.19.3 (ref #7146 ) ( #7180 )
2020-12-06 13:46:27 +01:00
Simon Frei
100ef10d84
lib/model: Don't send locally changed on recv-enc ( fixes #7137 ) ( #7147 )
2020-11-24 21:49:45 +01:00
dependabot-preview[bot]
cc4071d0ba
build(deps): bump github.com/lucas-clemente/quic-go ( #7139 )
...
Bumps [github.com/lucas-clemente/quic-go](https://github.com/lucas-clemente/quic-go ) from 0.18.1 to 0.19.2.
- [Release notes](https://github.com/lucas-clemente/quic-go/releases )
- [Changelog](https://github.com/lucas-clemente/quic-go/blob/master/Changelog.md )
- [Commits](https://github.com/lucas-clemente/quic-go/compare/v0.18.1...v0.19.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-11-23 09:04:58 +01:00
Simon Frei
9524b51708
all: Implement suture v4-api ( #6947 )
2020-11-17 13:19:04 +01:00
Simon Frei
31559e908b
all: Add untrusted folders behind feature flag (ref #62 ) ( #7055 )
2020-11-09 15:33:32 +01:00
Simon Frei
4db5ea5893
build: Update notify ( fixes #5360 ) ( #7106 )
2020-11-09 14:25:19 +01:00
Jakob Borg
942b8ebb27
build: Update dependencies ( #7088 )
2020-11-03 09:11:00 +01:00
Simon Frei
5b9280c50f
build: Update notify ( fixes #7063 ) ( #7080 )
2020-11-01 21:37:31 +01:00
Simon Frei
f0f60ba2e7
lib/api: Add /rest/config endpoint ( fixes #6540 ) ( #7001 )
2020-10-22 19:54:35 +02:00
Tobias Klauser
c390565eef
lib/fs: Use file clone ioctl wrappers and types from golang.org/x/sys/unix ( #7000 )
...
Use the IoctlFileClone and IoctlFileCloneRange ioctl wrappers and the
FileCloneRange type provided by golang.org/x/sys/unix instead of
locally implementing them. This also allows to re-enable the code for
ppc/ppc64/ppc64le again (see commit 758a1a6a37
("lib/fs: Disable ioctl
on ppc (fixes #6898 ) (#6901 )")) since golang.org/x/sys/unix internally
uses the correct FICLONE and FICLONERANGE values depending on $GOARCH.
2020-09-24 10:29:32 +02:00
dependabot-preview[bot]
dfc3525cf7
build(deps): bump github.com/maruel/panicparse from 1.3.0 to 1.5.1 ( #6924 )
...
Bumps [github.com/maruel/panicparse](https://github.com/maruel/panicparse ) from 1.3.0 to 1.5.1.
- [Release notes](https://github.com/maruel/panicparse/releases )
- [Commits](https://github.com/maruel/panicparse/compare/v1.3.0...v1.5.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-24 10:18:44 +02:00
Simon Frei
675b535ead
build: Bump goleveldb to latest commit ( #6895 )
2020-08-21 12:35:05 +02:00
Jakob Borg
f79e980fdf
build: Update QUIC and gopsutil ( fixes #6889 ) ( #6915 )
2020-08-20 11:57:20 +02:00
Jakob Borg
086d1f8f6a
build: We now target Go 1.14
2020-08-19 08:49:42 +02:00
dependabot-preview[bot]
245b4b98c4
build(deps): bump github.com/greatroar/blobloom from 0.2.1 to 0.3.0 ( #6830 )
...
Bumps [github.com/greatroar/blobloom](https://github.com/greatroar/blobloom ) from 0.2.1 to 0.3.0.
- [Release notes](https://github.com/greatroar/blobloom/releases )
- [Commits](https://github.com/greatroar/blobloom/compare/v0.2.1...v0.3.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-07-14 08:40:46 +02:00
dependabot-preview[bot]
74ee83cc86
build(deps): bump github.com/lucas-clemente/quic-go ( #6829 )
...
Bumps [github.com/lucas-clemente/quic-go](https://github.com/lucas-clemente/quic-go ) from 0.17.2 to 0.17.3.
- [Release notes](https://github.com/lucas-clemente/quic-go/releases )
- [Changelog](https://github.com/lucas-clemente/quic-go/blob/master/Changelog.md )
- [Commits](https://github.com/lucas-clemente/quic-go/compare/v0.17.2...v0.17.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-07-14 08:29:20 +02:00
greatroar
9f92f8c609
lib/db: Use SipHash to deal with hash collision in GC ( #6826 )
...
If the GC finds a key k that it wants to keep, it records that in a
Bloom filter. If a key k' can be removed but its hash collides with k,
it will be kept. Since the old Bloom filter code was completely
deterministic, the next run would encounter the same collision, assuming
k must still be kept.
A randomized hash function that uses all the SHA-256 bits solves this
problem: the second run has a non-zero probability of removing k', as
long as the Bloom filter is not completely full.
2020-07-11 09:36:09 +02:00
dependabot-preview[bot]
493de9392a
build(deps): bump github.com/lucas-clemente/quic-go ( #6813 )
...
Bumps [github.com/lucas-clemente/quic-go](https://github.com/lucas-clemente/quic-go ) from 0.17.1 to 0.17.2.
- [Release notes](https://github.com/lucas-clemente/quic-go/releases )
- [Changelog](https://github.com/lucas-clemente/quic-go/blob/master/Changelog.md )
- [Commits](https://github.com/lucas-clemente/quic-go/compare/v0.17.1...v0.17.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-07-06 12:18:10 +01:00
dependabot-preview[bot]
adace320a0
build(deps): bump github.com/go-ldap/ldap/v3 from 3.1.10 to 3.2.0 ( #6783 )
...
Bumps [github.com/go-ldap/ldap/v3](https://github.com/go-ldap/ldap ) from 3.1.10 to 3.2.0.
- [Release notes](https://github.com/go-ldap/ldap/releases )
- [Commits](https://github.com/go-ldap/ldap/compare/v3.1.10...v3.2.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-23 07:34:51 +02:00
dependabot-preview[bot]
96d3117759
build(deps): bump golang.org/x/text from 0.3.2 to 0.3.3 ( #6782 )
...
Bumps [golang.org/x/text](https://github.com/golang/text ) from 0.3.2 to 0.3.3.
- [Release notes](https://github.com/golang/text/releases )
- [Commits](https://github.com/golang/text/compare/v0.3.2...v0.3.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-23 07:34:22 +02:00
dependabot-preview[bot]
d09c8f0d0a
build(deps): bump github.com/lucas-clemente/quic-go ( #6742 )
...
Bumps [github.com/lucas-clemente/quic-go](https://github.com/lucas-clemente/quic-go ) from 0.16.1 to 0.17.1.
- [Release notes](https://github.com/lucas-clemente/quic-go/releases )
- [Changelog](https://github.com/lucas-clemente/quic-go/blob/master/Changelog.md )
- [Commits](https://github.com/lucas-clemente/quic-go/compare/v0.16.1...v0.17.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-16 08:36:31 +02:00
dependabot-preview[bot]
53af64a2a4
build(deps): bump github.com/lucas-clemente/quic-go ( #6722 )
...
Bumps [github.com/lucas-clemente/quic-go](https://github.com/lucas-clemente/quic-go ) from 0.16.0 to 0.16.1.
- [Release notes](https://github.com/lucas-clemente/quic-go/releases )
- [Changelog](https://github.com/lucas-clemente/quic-go/blob/master/Changelog.md )
- [Commits](https://github.com/lucas-clemente/quic-go/compare/v0.16.0...v0.16.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-09 08:43:34 +02:00
dependabot-preview[bot]
98418c9b5c
build(deps): bump github.com/lucas-clemente/quic-go ( #6695 )
...
Bumps [github.com/lucas-clemente/quic-go](https://github.com/lucas-clemente/quic-go ) from 0.15.7 to 0.16.0.
- [Release notes](https://github.com/lucas-clemente/quic-go/releases )
- [Changelog](https://github.com/lucas-clemente/quic-go/blob/master/Changelog.md )
- [Commits](https://github.com/lucas-clemente/quic-go/compare/v0.15.7...v0.16.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-03 10:03:08 +02:00
Jakob Borg
94beed5c10
lib/db: Add Badger backend ( fixes #5910 ) ( #6250 )
2020-05-29 13:43:02 +02:00
dependabot-preview[bot]
6ffc8255b6
build(deps): bump github.com/lucas-clemente/quic-go ( #6630 )
...
Bumps [github.com/lucas-clemente/quic-go](https://github.com/lucas-clemente/quic-go ) from 0.15.6 to 0.15.7.
- [Release notes](https://github.com/lucas-clemente/quic-go/releases )
- [Changelog](https://github.com/lucas-clemente/quic-go/blob/master/Changelog.md )
- [Commits](https://github.com/lucas-clemente/quic-go/compare/v0.15.6...v0.15.7 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-11 11:04:23 +01:00
dependabot-preview[bot]
3354e60461
build(deps): bump github.com/go-ldap/ldap/v3 from 3.1.7 to 3.1.10 ( #6629 )
...
Bumps [github.com/go-ldap/ldap/v3](https://github.com/go-ldap/ldap ) from 3.1.7 to 3.1.10.
- [Release notes](https://github.com/go-ldap/ldap/releases )
- [Commits](https://github.com/go-ldap/ldap/compare/v3.1.7...v3.1.10 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-11 10:14:31 +01:00
Jakob Borg
f72832d591
build: go.mod tidy
2020-05-08 16:50:17 +02:00
dependabot-preview[bot]
8d6fb86ee0
build(deps): bump github.com/greatroar/blobloom from 0.2.0 to 0.2.1 ( #6600 )
...
Bumps [github.com/greatroar/blobloom](https://github.com/greatroar/blobloom ) from 0.2.0 to 0.2.1.
- [Release notes](https://github.com/greatroar/blobloom/releases )
- [Commits](https://github.com/greatroar/blobloom/compare/v0.2.0...v0.2.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-06 08:35:37 +02:00
dependabot-preview[bot]
13c3dac89c
build(deps): bump github.com/lucas-clemente/quic-go ( #6599 )
...
Bumps [github.com/lucas-clemente/quic-go](https://github.com/lucas-clemente/quic-go ) from 0.15.5 to 0.15.6.
- [Release notes](https://github.com/lucas-clemente/quic-go/releases )
- [Changelog](https://github.com/lucas-clemente/quic-go/blob/master/Changelog.md )
- [Commits](https://github.com/lucas-clemente/quic-go/compare/v0.15.5...v0.15.6 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-06 08:35:20 +02:00
Audrius Butkevicius
ac7338f1f2
lib/connections: Update quic ( #6591 )
...
* lib/connections: Update quic
* Fix freebsd builds?
* Undo x/sys and gopsutil update
* Update quic_dial.go
* Update quic_listen.go
2020-05-01 08:14:28 +01:00
dependabot-preview[bot]
5e1cd0e71a
build(deps): bump github.com/greatroar/blobloom from 0.1.1 to 0.2.0 ( #6580 )
...
Bumps [github.com/greatroar/blobloom](https://github.com/greatroar/blobloom ) from 0.1.1 to 0.2.0.
- [Release notes](https://github.com/greatroar/blobloom/releases )
- [Commits](https://github.com/greatroar/blobloom/compare/v0.1.1...v0.2.0 )
2020-04-27 14:38:20 +02:00
greatroar
0e5ba3ca05
lib/db: Upgrade to Blobloom v0.1.1 ( #6553 )
...
Now faster and Apache-licensed.
2020-04-20 14:23:36 +02:00
greatroar
44b0f0b456
lib/db: Switch to faster blobloom Bloom filter pkg ( #6537 )
2020-04-20 09:02:33 +02:00
Jakob Borg
7da898f2d6
go.mod: Use github.com/twmb/murmur3 for murmur3 ( #6486 )
...
Let's try this again shall we
2020-04-01 23:51:31 +02:00
Jakob Borg
0d919bd79c
Revert "go.mod: Use github.com/twmb/murmur3 for murmur3"
...
"I shall not commit to master without testing all architectures on the
builder" * 100 on the black board
2020-04-01 21:16:15 +02:00
Jakob Borg
f91e90a94f
go.mod: Use github.com/twmb/murmur3 for murmur3
...
It seems, like, maintained and stuff.
2020-04-01 21:04:43 +02:00
Jakob Borg
9c67d57c28
lib/api: Update ldap package ( fixes #6479 ) ( #6481 )
2020-03-31 09:56:04 +02:00
Alberto Donato
7709ac33a7
go.mod: Update jackpal/gateway dependency ( fixes #5288 ) ( #6469 )
2020-03-30 11:11:55 +02:00
Simon Frei
a7de4c68e3
go.mod: Update quic-go to 0.14.4 ( #6453 )
2020-03-24 21:12:57 +01:00
Jakob Borg
c4b9046eaa
build: Forked github.com/spaolacci/murmur3 for unsafe (ref #6371 )
2020-02-26 20:25:24 +01:00
Jakob Borg
8fc2dfad0c
lib/db: Deduplicate block lists in database ( fixes #5898 ) ( #6283 )
...
* lib/db: Deduplicate block lists in database (fixes #5898 )
This moves the block list in the database out from being just a field on
the FileInfo to being an object of its own. When putting a FileInfo we
marshal the block list separately and store it keyed by the sha256 of
the marshalled block list. When getting, if we are not doing a
"truncated" get, we do an extra read and unmarshal for the block list.
Old block lists are cleared out by a periodic GC sweep. The alternative
would be to use refcounting, but:
- There is a larger risk of getting that wrong and either dropping a
block list in error or keeping them around forever.
- It's tricky with our current database, as we don't have dirty reads.
This means that if we update two FileInfos with identical block lists in
the same transaction we can't just do read/modify/write for the ref
counters as we wouldn't see our own first update. See above about
tracking this and risks about getting it wrong.
GC uses a bloom filter for keys to avoid heavy RAM usage. GC can't run
concurrently with FileInfo updates so there is a new lock around those
operation at the lowlevel.
The end result is a much more compact database, especially for setups
with many peers where files get duplicated many times.
This is per-key-class stats for a large database I'm currently working
with, under the current schema:
```
0x00: 9138161 items, 870876 KB keys + 7397482 KB data, 95 B + 809 B avg, 1637651 B max
0x01: 185656 items, 10388 KB keys + 1790909 KB data, 55 B + 9646 B avg, 924525 B max
0x02: 916890 items, 84795 KB keys + 3667 KB data, 92 B + 4 B avg, 192 B max
0x03: 384 items, 27 KB keys + 5 KB data, 72 B + 15 B avg, 87 B max
0x04: 1109 items, 17 KB keys + 17 KB data, 15 B + 15 B avg, 69 B max
0x06: 383 items, 3 KB keys + 0 KB data, 9 B + 2 B avg, 18 B max
0x07: 510 items, 4 KB keys + 12 KB data, 9 B + 24 B avg, 41 B max
0x08: 1349 items, 12 KB keys + 10 KB data, 9 B + 8 B avg, 17 B max
0x09: 194 items, 0 KB keys + 123 KB data, 5 B + 634 B avg, 11484 B max
0x0a: 3 items, 0 KB keys + 0 KB data, 14 B + 7 B avg, 30 B max
0x0b: 181836 items, 2363 KB keys + 10694 KB data, 13 B + 58 B avg, 173 B max
Total 10426475 items, 968490 KB keys + 9202925 KB data.
```
Note 7.4 GB of data in class 00, total size 9.2 GB. After running the
migration we get this instead:
```
0x00: 9138161 items, 870876 KB keys + 2611392 KB data, 95 B + 285 B avg, 4788 B max
0x01: 185656 items, 10388 KB keys + 1790909 KB data, 55 B + 9646 B avg, 924525 B max
0x02: 916890 items, 84795 KB keys + 3667 KB data, 92 B + 4 B avg, 192 B max
0x03: 384 items, 27 KB keys + 5 KB data, 72 B + 15 B avg, 87 B max
0x04: 1109 items, 17 KB keys + 17 KB data, 15 B + 15 B avg, 69 B max
0x06: 383 items, 3 KB keys + 0 KB data, 9 B + 2 B avg, 18 B max
0x07: 510 items, 4 KB keys + 12 KB data, 9 B + 24 B avg, 41 B max
0x09: 194 items, 0 KB keys + 123 KB data, 5 B + 634 B avg, 11484 B max
0x0a: 3 items, 0 KB keys + 0 KB data, 14 B + 17 B avg, 51 B max
0x0b: 181836 items, 2363 KB keys + 10694 KB data, 13 B + 58 B avg, 173 B max
0x0d: 44282 items, 1461 KB keys + 61081 KB data, 33 B + 1379 B avg, 1637399 B max
Total 10469408 items, 969939 KB keys + 4477905 KB data.
```
Class 00 is now down to 2.6 GB, with just 61 MB added in class 0d.
There will be some additional reads in some cases which theoretically
hurts performance, but this will be more than compensated for by smaller
writes and better compaction.
On my own home setup which just has three devices and a handful of
folders the difference is smaller in absolute numbers of course, but
still less than half the old size:
```
0x00: 297122 items, 20894 KB keys + 306860 KB data, 70 B + 1032 B avg, 103237 B max
0x01: 115299 items, 7738 KB keys + 17542 KB data, 67 B + 152 B avg, 419 B max
0x02: 1430537 items, 121223 KB keys + 5722 KB data, 84 B + 4 B avg, 253 B max
...
Total 1947412 items, 151268 KB keys + 337485 KB data.
```
to:
```
0x00: 297122 items, 20894 KB keys + 37038 KB data, 70 B + 124 B avg, 520 B max
0x01: 115299 items, 7738 KB keys + 17542 KB data, 67 B + 152 B avg, 419 B max
0x02: 1430537 items, 121223 KB keys + 5722 KB data, 84 B + 4 B avg, 253 B max
...
0x0d: 18041 items, 595 KB keys + 71964 KB data, 33 B + 3988 B avg, 101109 B max
Total 1965447 items, 151863 KB keys + 139628 KB data.
```
* wip
* wip
* wip
* wip
2020-01-24 08:35:44 +01:00
dependabot-preview[bot]
ddd26f5c42
build(deps): bump github.com/pkg/errors from 0.9.0 to 0.9.1 ( #6279 )
...
Bumps [github.com/pkg/errors](https://github.com/pkg/errors ) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/pkg/errors/releases )
- [Commits](https://github.com/pkg/errors/compare/v0.9.0...v0.9.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 20:05:19 +01:00
Jakob Borg
f454e8b609
build: go mod tidy
2020-01-14 07:59:31 +01:00
dependabot-preview[bot]
c6cef168a5
build(deps): bump github.com/oschwald/geoip2-golang from 1.3.0 to 1.4.0 ( #6245 )
...
Bumps [github.com/oschwald/geoip2-golang](https://github.com/oschwald/geoip2-golang ) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/oschwald/geoip2-golang/releases )
- [Commits](https://github.com/oschwald/geoip2-golang/compare/v1.3.0...v1.4.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-14 09:57:08 +04:00
dependabot-preview[bot]
4de6b94de7
build(deps): bump github.com/pkg/errors from 0.8.1 to 0.9.0 ( #6267 )
...
Bumps [github.com/pkg/errors](https://github.com/pkg/errors ) from 0.8.1 to 0.9.0.
- [Release notes](https://github.com/pkg/errors/releases )
- [Commits](https://github.com/pkg/errors/compare/v0.8.1...v0.9.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 12:18:32 +04:00
Simon Frei
7a8e73d599
build, pmp: Replace fork with upstream for go-nat-pmp and tidy go.mod ( #6247 )
2020-01-03 12:39:59 +01:00
dependabot-preview[bot]
0f1e0eff05
build(deps): bump github.com/mattn/go-isatty from 0.0.10 to 0.0.11 ( #6231 )
...
Bumps [github.com/mattn/go-isatty](https://github.com/mattn/go-isatty ) from 0.0.10 to 0.0.11.
- [Release notes](https://github.com/mattn/go-isatty/releases )
- [Commits](https://github.com/mattn/go-isatty/compare/v0.0.10...v0.0.11 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 07:52:02 +00:00
dependabot-preview[bot]
999647b7d6
build(deps): bump github.com/urfave/cli from 1.22.1 to 1.22.2 ( #6183 )
...
Bumps [github.com/urfave/cli](https://github.com/urfave/cli ) from 1.22.1 to 1.22.2.
- [Release notes](https://github.com/urfave/cli/releases )
- [Changelog](https://github.com/urfave/cli/blob/master/docs/CHANGELOG.md )
- [Commits](https://github.com/urfave/cli/compare/v1.22.1...v1.22.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 11:05:55 +01:00
Simon Frei
cf420e135e
gui: New folder state "Local Additions" for receive-only ( fixes #5968 ) ( #6117 )
2019-11-01 20:44:23 +01:00
dependabot-preview[bot]
b1dbe925d4
build(deps): bump github.com/prometheus/client_golang ( #6099 )
...
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang ) from 1.1.0 to 1.2.1.
- [Release notes](https://github.com/prometheus/client_golang/releases )
- [Changelog](https://github.com/prometheus/client_golang/blob/master/CHANGELOG.md )
- [Commits](https://github.com/prometheus/client_golang/compare/v1.1.0...v1.2.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-22 21:56:32 +02:00
Jakob Borg
ad2d3702ae
all: Upgrade github.com/gogo/protobuf and regenerate ( fixes #6085 )
2019-10-18 09:53:59 +02:00
dependabot-preview[bot]
aa4b918224
build(deps): bump github.com/lucas-clemente/quic-go ( #6084 )
...
Bumps [github.com/lucas-clemente/quic-go](https://github.com/lucas-clemente/quic-go ) from 0.12.0 to 0.12.1.
- [Release notes](https://github.com/lucas-clemente/quic-go/releases )
- [Changelog](https://github.com/lucas-clemente/quic-go/blob/master/Changelog.md )
- [Commits](https://github.com/lucas-clemente/quic-go/compare/v0.12.0...v0.12.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-14 18:30:00 +01:00
dependabot-preview[bot]
7043b1fbba
build(deps): bump github.com/mattn/go-isatty from 0.0.9 to 0.0.10 ( #6083 )
...
Bumps [github.com/mattn/go-isatty](https://github.com/mattn/go-isatty ) from 0.0.9 to 0.0.10.
- [Release notes](https://github.com/mattn/go-isatty/releases )
- [Commits](https://github.com/mattn/go-isatty/compare/v0.0.9...v0.0.10 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-14 18:17:01 +01:00
Audrius Butkevicius
8fb576ed54
lib/model: Adjust blocks reported in usage reporting ( fixes #5995 ) ( #6037 )
...
* lib/model: Adjust blocks reported in usage reporting (fixes #5995 )
* Use variables, fix go.mod
2019-10-04 12:03:13 +01:00
Jakob Borg
1b5a61e03e
build: Upgrade github.com/syndtr/goleveldb
...
Newer is always better. Always.
2019-10-03 17:45:45 +02:00
dependabot-preview[bot]
f653f540f8
build(deps): bump github.com/urfave/cli from 1.21.0 to 1.22.1 ( #6015 )
...
Bumps [github.com/urfave/cli](https://github.com/urfave/cli ) from 1.21.0 to 1.22.1.
- [Release notes](https://github.com/urfave/cli/releases )
- [Changelog](https://github.com/urfave/cli/blob/master/CHANGELOG.md )
- [Commits](https://github.com/urfave/cli/compare/v1.21.0...v1.22.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-16 08:31:00 +01:00
dependabot-preview[bot]
078923bd1a
build(deps): bump github.com/minio/sha256-simd from 0.1.0 to 0.1.1 ( #6014 )
...
Bumps [github.com/minio/sha256-simd](https://github.com/minio/sha256-simd ) from 0.1.0 to 0.1.1.
- [Release notes](https://github.com/minio/sha256-simd/releases )
- [Commits](https://github.com/minio/sha256-simd/compare/v0.1.0...v0.1.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-16 08:28:46 +01:00
Jakob Borg
c0b3de2680
build: Correct hash for quic package
2019-09-11 15:31:43 +02:00
Jakob Borg
88482b29ee
build: Upgrade dependencies
...
go get -u ./...
go mod tidy
2019-09-05 15:13:51 +02:00
Jakob Borg
80894948f6
build: Upgrade github.com/gogo/protobuf ( #5994 )
...
This is the result of:
- Changing build.go to take the protobuf version from the modules
instead of hardcoded
- `go get github.com/gogo/protobuf@v1.3.0` to upgrade
- `go run build.go proto` to regenerate our code
2019-09-04 07:33:29 +01:00
Jakob Borg
c2ea9d119d
lib/connections: Upgrade QUIC package, use contexts for timeout ( #5972 )
2019-08-23 10:15:52 +02:00
Jakob Borg
09b872cef4
build: go mod tidy
2019-08-21 07:47:05 +02:00
dependabot-preview[bot]
e910acdc17
build(deps): bump github.com/mattn/go-isatty from 0.0.7 to 0.0.9 ( #5965 )
...
Bumps [github.com/mattn/go-isatty](https://github.com/mattn/go-isatty ) from 0.0.7 to 0.0.9.
- [Release notes](https://github.com/mattn/go-isatty/releases )
- [Commits](https://github.com/mattn/go-isatty/compare/v0.0.7...v0.0.9 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-19 12:13:26 +01:00
Audrius Butkevicius
58ef5368f8
lib/connections: Validate device id before assuming success ( fixes #5934 ) ( #5935 )
...
* lib/connections: Validate device id before assuming success (fixes #5934 )
* Vet
2019-08-09 12:31:42 +01:00
dependabot-preview[bot]
d43b0a4395
build(deps): bump github.com/urfave/cli from 1.20.0 to 1.21.0 ( #5928 )
...
Bumps [github.com/urfave/cli](https://github.com/urfave/cli ) from 1.20.0 to 1.21.0.
- [Release notes](https://github.com/urfave/cli/releases )
- [Changelog](https://github.com/urfave/cli/blob/master/CHANGELOG.md )
- [Commits](https://github.com/urfave/cli/compare/v1.20.0...v1.21.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-05 12:18:35 +02:00
Simon Frei
1d182e4631
lib/fs: Use gopsutils for disk usage ( #5905 )
2019-07-29 20:06:17 +02:00