Jarek Kowalski
926e14aacb
feat(repository): added PrefetchObjects() API ( #1779 )
...
* feat(repository): added precaching of data blobs
* feat(repository): added utilities for converting ID slices to strings
* feat(repository): added object.PrefetchBackingContents
* feat(repository): implemented Repository.PrefetchObjects
* feat(cli): added 'cache prefetch' subcommand
* feat(repository): prefetch in parallel
* added tests
2022-03-06 14:30:58 -08:00
Jarek Kowalski
e67f84e0ba
chore(general): updated linter to 1.44.0 ( #1681 )
2022-01-25 21:21:13 -08:00
Jarek Kowalski
35d0f31c0d
huge: replaced the use of allocated byte slices with populating gather.WriteBuffer in the repository ( #1244 )
...
This helps recycle buffers more efficiently during snapshots.
Also, improved memory tracking, enabled profiling flags and added pprof
by default.
2021-08-20 08:45:10 -07:00
Jarek Kowalski
30ca3e2e6c
Upgraded linter to 1.40.1 ( #1072 )
...
* tools: upgraded linter to 1.40.1
* lint: fixed nolintlint vionlations
* lint: disabled tagliatele linter
* lint: fixed remaining warnings
2021-05-15 12:12:34 -07:00
Jarek Kowalski
ed9db56b87
Cleaned up and refactored object manager ( #782 )
...
* object: refactored Open() and VerifyObject() to be stateless
(no code movement yet to facilitate review)
* mechanical: moved function more appropriate files
* object: remove object manager tracing which was unused
2021-01-13 00:40:23 -08:00
Jarek Kowalski
e03971fc59
Upgraded linter to v1.33.0 ( #734 )
...
* linter: upgraded to 1.33, disabled some linters
* lint: fixed 'errorlint' errors
This ensures that all error comparisons use errors.Is() or errors.As().
We will be wrapping more errors going forward so it's important that
error checks are not strict everywhere.
Verified that there are no exceptions for errorlint linter which
guarantees that.
* lint: fixed or suppressed wrapcheck errors
* lint: nolintlint and misc cleanups
Co-authored-by: Julio López <julio+gh@kasten.io >
2020-12-21 22:39:22 -08:00
Jarek Kowalski
ac70a38101
lint: upgraded to 1.22.2 and make lint issues a build failure
...
fixed or silenced linter warnings, mostly due to magic numeric constants
2020-01-03 16:39:30 -08:00
Jarek Kowalski
cfa2eea1e1
object: stop verifying object length in VerifyObject
...
With compression, the decompressed object length is
not known until we read the content.
2019-12-10 23:25:28 -08:00
Jarek Kowalski
6217df1a87
lint: switched to 1.21 and fixed a ton of whitespace issues discovered
...
by new wsl linter
2019-11-26 06:49:49 -08:00
Jarek Kowalski
f4afaec9b5
object: fixed Seek() behavior for seeking to end of object
2019-11-25 23:36:24 -08:00
Jarek Kowalski
72520029b0
golangci-lint: added more linters
...
Also fixed pre-existing lint errors.
2019-06-02 22:56:57 -07:00
Jarek Kowalski
54edb97b3a
refactoring: renamed repo/block to repo/content
...
Also introduced strongly typed content.ID and manifest.ID (instead of string)
This aligns identifiers across all layers of repository:
blob.ID
content.ID
object.ID
manifest.ID
2019-06-01 22:24:19 -07:00
Jarek Kowalski
63303904e1
switched remaining fmt.Errorf to errors.Wrap()
2019-06-01 10:57:05 -07:00
Jarek Kowalski
0c41d41276
Fixed up paths after merge
2019-05-27 15:48:39 -07:00
Jarek Kowalski
327d8317d8
refactored repo/ into separate github.com/kopia/repo/ git repository
2018-10-26 20:40:57 -07:00
Jarek Kowalski
91066f2469
reorganized low-level repository packages by moving them all under kopia/kopia/repo/
2018-08-30 22:01:05 -07:00