Commit Graph
2577 Commits
Author SHA1 Message Date
Jarek Kowalski 33fa5cbd50 feat(general): added tempfile package (#2402)
* feat(general): added tempfile package

* use tempfile.Create() in bigmap
2022-09-14 05:37:47 +00:00
dependabot[bot] 5e373ed062 build(deps): bump github.com/aws/aws-sdk-go from 1.44.95 to 1.44.97 (#2404) 2022-09-14 00:56:05 +00:00
dependabot[bot] f7968c7793 build(deps): bump go.opentelemetry.io/otel/trace from 1.9.0 to 1.10.0 (#2398)
Bumps [go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/trace
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 17:14:22 -07:00
dependabot[bot] dd8d10fca9 build(deps): bump go.opentelemetry.io/otel from 1.9.0 to 1.10.0 (#2399)
Bumps [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 17:14:10 -07:00
Jarek Kowalski b5b2a316d4 feat(repository): reduced mutex contention on committed index cache (#2396) 2022-09-11 16:26:07 +00:00
Jarek Kowalski b9e9ef3b38 feat(repository): improve performance when snapshotting to a repository server (#2394)
Benchmarked from macOS client to a Linux server over Wifi connection:
(2-5ms latency)

linux 5.14.8 (1.1 GB) to a clean repository:

Before: 240s After: 27s (90% faster)

Fixes #2372
2022-09-11 07:43:34 -07:00
Jarek Kowalski b38ace2513 feat(server): added tracing spans for gRPC server (#2393) 2022-09-11 07:13:59 +00:00
Jarek Kowalski 8ff6b6d060 fix(snapshots): fixed --parallel flag when snapshotting (#2392)
Previously the value of --parallel flag was (unintentionally)
capped at max number of CPUs. This PR fixes the logic.
2022-09-10 20:11:07 -07:00
dependabot[bot] 2115d98524 build(deps-dev): bump electron from 20.0.1 to 20.1.3 in /app (#2388)
Bumps [electron](https://github.com/electron/electron) from 20.0.1 to 20.1.3.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v20.0.1...v20.1.3)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-10 19:30:33 -07:00
dependabot[bot] bf5248d1aa build(deps): bump cloud.google.com/go/storage from 1.25.0 to 1.26.0 (#2379)
Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.25.0 to 1.26.0.
- [Release notes](https://github.com/googleapis/google-cloud-go/releases)
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.25.0...spanner/v1.26.0)

---
updated-dependencies:
- dependency-name: cloud.google.com/go/storage
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-10 13:40:51 -07:00
dependabot[bot] 66ad981105 build(deps): bump github.com/aws/aws-sdk-go from 1.44.94 to 1.44.95 (#2389) 2022-09-10 20:12:55 +00:00
Jarek Kowalski 68621f4514 fix(ci): better fix for the windows-only test flake (#2391) 2022-09-10 18:46:03 +00:00
Jarek Kowalski 645e680a8f feat(general): reduce memory usage in maintenance, snapshot fix and verify (#2365) 2022-09-10 09:36:17 -07:00
Jarek Kowalski 28ce29eab4 feat(repository): added Set and Map backed by custom on-disk hashtable (#2364)
* feat(repository): added bigmap Set and Map backed by custom on-disk hashtable

* additional test coverage for corner cases

* profile flags

* exclude bigmapbench from code coverage

* refactored based on conversation with Julio

The concern was that values stored on disk are not encrypted.

* bigmap.Map - implements encryption of values
* bigmap.Set - stores keys only, so no encryption necessary
* bigmap.internalMap - used as backing structure for Map and Set

* implemented benchmark with values
2022-09-10 15:47:53 +00:00
dependabot[bot] 64c2fcd481 build(deps-dev): bump dotenv from 16.0.1 to 16.0.2 in /app (#2359)
Bumps [dotenv](https://github.com/motdotla/dotenv) from 16.0.1 to 16.0.2.
- [Release notes](https://github.com/motdotla/dotenv/releases)
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md)
- [Commits](https://github.com/motdotla/dotenv/compare/v16.0.1...v16.0.2)

---
updated-dependencies:
- dependency-name: dotenv
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-08 21:45:39 -07:00
dependabot[bot] eb5ab3e3c2 build(deps): bump github.com/chromedp/chromedp from 0.8.4 to 0.8.5 (#2386) 2022-09-09 03:51:04 +00:00
Jarek Kowalski 09453d8ae9 fix(ci): fixed the root cause of the HTMLUI test flake (#2387) 2022-09-09 03:21:50 +00:00
dependabot[bot] cb703f5372 build(deps): bump google.golang.org/api from 0.93.0 to 0.95.0 (#2377) 2022-09-09 02:35:44 +00:00
dependabot[bot] 2201aee56e build(deps): bump github.com/google/go-cmp from 0.5.8 to 0.5.9 (#2385)
Bumps [github.com/google/go-cmp](https://github.com/google/go-cmp) from 0.5.8 to 0.5.9.
- [Release notes](https://github.com/google/go-cmp/releases)
- [Commits](https://github.com/google/go-cmp/compare/v0.5.8...v0.5.9)

---
updated-dependencies:
- dependency-name: github.com/google/go-cmp
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-08 19:12:58 -07:00
dependabot[bot] c82361764c build(deps): bump github.com/aws/aws-sdk-go from 1.44.92 to 1.44.94 (#2384) 2022-09-08 23:36:33 +00:00
Jarek Kowalski 704c07178e fix(ci): fixed git working directory cleanup issue (#2383)
https://github.com/kopia/kopia/runs/8243012442?check_suite_focus=true

This is caused by weird permissions set on files by `go install`
which makes it hard to remove the entire directory using `rm -rf`.

The solution is to clean (local) module cache after `go install` which
makes subsequent `rm -rf` work without a problem.
2022-09-08 07:39:56 -07:00
dependabot[bot] dade8d04e3 build(deps): bump go.opentelemetry.io/otel/exporters/jaeger (#2269)
Bumps [go.opentelemetry.io/otel/exporters/jaeger](https://github.com/open-telemetry/opentelemetry-go) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.8.0...v1.9.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/exporters/jaeger
  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-09-08 03:42:12 +00:00
Ali Dowair 3e5d61137a fix(ci): revert "skip TestS3Connect() until we fix the S3 regression" (#2380)
This reverts commit 7fbf863607.
2022-09-07 20:24:58 -07:00
dependabot[bot] 94aadc3903 build(deps): bump github.com/minio/minio-go/v7 from 7.0.34 to 7.0.36 (#2378) 2022-09-07 04:52:06 +00:00
dependabot[bot] 4353bfcec0 build(deps): bump github.com/aws/aws-sdk-go from 1.44.84 to 1.44.92 (#2376) 2022-09-07 04:23:40 +00:00
Jarek Kowalski 9fc84bb12f fix(repository): fixed async write error (#2373)
Fixes #2369
2022-09-06 14:41:44 +00:00
Ricardo Pescuma Domenecci 31495392a1 feat(cli): Allow restore from snapshoted path (#2335)
* feat(cli): Allow restore from snapshoted path

* Find files in multiple snapshots

* Added --snapshot-time to restore

* Added restore by path test

* More timespec formats

* Test for snapshot list with a file in multiple snapshots

* Handle restore without target path

* Fix for tests

* Made changes requested in PR and rebased
2022-09-06 04:42:07 +00:00
Jarek Kowalski afdfad6691 feat(general): move kopia binary in Docker container to /bin/kopia (#2368) 2022-09-04 21:02:15 +00:00
Jarek Kowalski c509e13249 fix(ci): fixed TestUpload_VirtualDirectoryWithStreamingFileWithModTime/CurrentTime (#2367) 2022-09-04 18:43:54 +00:00
s-h-a-r-d 63257d9537 feat(general): add curl to Docker container image (#2363) 2022-09-03 21:30:13 +00:00
Jarek Kowalski a3b1f69718 feat(snapshots): always serialize timestamps in UTC timezone (#2362)
This actually fixes test runs on non-UTC timezone which were broken
by #2343.
2022-09-03 03:44:54 +00:00
Jarek Kowalski cbb7d68fb6 feat(repository): implemented format.Manager - take 2 (#2349)
* implemented format blob cache abstraction

* moved upgrade lock logic to repo/format

* moved set parameters logic to repo/format

* moved change password functionality to repo/format

* mechanical changes

* mechanical changes to react to format manager interface

* get current repository format bytes instead of static

* implemented format.Manager which dynamically fetches and caches latest format blob

* repo changes to use format.Manager

* fixed failing unit test due to different timings

* reduced lock contention by using RWMutex

* serve immutable parts of format without any locks

* increase test timeout

* fixed handling of negative validDuration

The new rules are:

- validDuration < 0 - ignore initial cached file, refresh every 15min
- validDuration > 15min - refresh every 15 minutes
- validDuration > 0 && validDuration <= 15min - refresh using provided
  interval (mostly used for testing)
2022-09-02 18:55:01 -07:00
Jarek Kowalski 7bda16ab33 feat(repository): introduced fs.UTCTimestamp (#2343)
Fixes #2342
2022-09-02 10:35:59 -07:00
chaitalisg 0ae4d63c61 test(general): Fix upgrade portion of robustness test (#2337)
* Move upgrade repository test function

* Delete test for deleted function

* Move upgrade repository test function

* Resolve conflicts

* Check for error in status function

* Add unit test
2022-08-29 10:57:37 -07:00
basldfalksjdf 9957256fef docs(site): Updating repository testing and recovery page (#2272)
* [WIP] docs(site): Updating repository testing and recovery page

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md
2022-08-25 10:44:58 +01:00
dependabot[bot] 6afd28968a build(deps): bump github.com/aws/aws-sdk-go from 1.44.83 to 1.44.84 (#2347) 2022-08-24 23:54:54 +00:00
dependabot[bot] 8c13027760 build(deps): bump google.golang.org/grpc from 1.48.0 to 1.49.0 (#2346) 2022-08-24 23:31:06 +00:00
dependabot[bot] 33ab6146f6 build(deps): bump github.com/aws/aws-sdk-go from 1.44.82 to 1.44.83 (#2341) 2022-08-23 23:32:44 +00:00
Niklas Hambüchen 2dd752b1df fix(cli): Fix /debug/pprof/heap returning 404 (#2339)
See https://github.com/kopia/kopia/issues/1903#issuecomment-1127172904
2022-08-23 08:55:25 +00:00
dependabot[bot] dd1a6aff8d build(deps): bump github.com/aws/aws-sdk-go from 1.44.81 to 1.44.82 (#2338) 2022-08-22 23:38:00 +00:00
ashmrtn 5c88bcf1a6 feat(snapshots): Callback for when uploader finishes processing a file (#2331)
* Make callback for upload file completion

Callback does not indicate that a file will be reachable immediately in
the resulting snapshot, but does indicate that the uploader is done
processing the file in some way (either via uploading data or finding a
previous version in the repo) and whether there was an error processing
the file.

* Tests for new FinishedFile callback

Ensure hadErr is properly populated and FinishedFile is called even if
the file was considered cached.

* Refine comment on interface function slightly

* Give callback error instead of bool about error

* Add locks around concurrent accesses in test
2022-08-22 20:42:27 +01:00
dependabot[bot] b97e567d06 build(deps): bump github.com/aws/aws-sdk-go from 1.44.80 to 1.44.81 (#2330) 2022-08-19 23:35:24 +00:00
Shikhar MallandShikhar Mall 11c7bf533c feat(cli): flag to allow placing the upgrade lock without doing anything else (#2329)
Co-authored-by: Shikhar Mall <small@kopia.io>
2022-08-19 13:48:08 -07:00
Jarek Kowalski 5ad8f1cf38 fix(ci): try to fix HTMLUI test flake (again) (#2326) 2022-08-19 09:33:52 -07:00
dependabot[bot] fd2969dfa5 build(deps): bump github.com/mattn/go-colorable from 0.1.12 to 0.1.13 (#2320)
Bumps [github.com/mattn/go-colorable](https://github.com/mattn/go-colorable) from 0.1.12 to 0.1.13.
- [Release notes](https://github.com/mattn/go-colorable/releases)
- [Commits](https://github.com/mattn/go-colorable/compare/v0.1.12...v0.1.13)

---
updated-dependencies:
- dependency-name: github.com/mattn/go-colorable
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-19 15:46:59 +00:00
Ricardo Pescuma Domenecci 04f54000a6 feat(server): Added ECC to server api (#2314)
* feat(server): Added ECC to server api

* feat(server): Add format version to repo status api

* Change requested in PR

* Updated htmlui
2022-08-19 08:24:04 -07:00
dependabot[bot] 1dc2fc7561 build(deps): bump github.com/aws/aws-sdk-go from 1.44.78 to 1.44.80 (#2323) 2022-08-19 15:14:12 +00:00
Ricardo Pescuma Domenecci 8b41543250 chore(cli): make ecc options visible but marked as experimental (#2322) 2022-08-19 15:04:40 +00:00
Jarek Kowalski cf23809dcd fix(ci): fixed TestFullMaintenance on Windows (#2325)
Unlike on other OSes it appears that on Windows time.Now() called twice
in quick succession can return the same value.

Switched logic using `time.After()` to `!time.Before()`
2022-08-19 08:01:34 -07:00
Shikhar MallandShikhar Mall e317cdba9f fix: drop the ability to set advance-notices on upgrade (#2312)
Co-authored-by: Shikhar Mall <small@kopia.io>
2022-08-19 07:35:56 -07:00