Benjamin Wang
ad85400db2
Merge pull request #381 from ahrtr/loadfreepage_20230111
...
add PreLoadFreelist to support loading free pages in readonly mode
2023-01-11 19:49:35 +08:00
Benjamin Wang
d2fae80500
add protection on (*Tx)Page method in case free pages are not preloaded
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-11 18:39:32 +08:00
Benjamin Wang
06c66acf48
add test case TestOpenWithPreLoadFreelist
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-11 18:10:12 +08:00
Benjamin Wang
6bc57389f0
add PreLoadFreelist to support loading free pages in readonly mode
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-11 18:10:12 +08:00
Piotr Tabor
51c763c4e9
Merge pull request #377 from ahrtr/update_gitignore_20230109
...
add /cmd/bbolt/bbolt into .gitignore
2023-01-11 10:13:11 +01:00
Piotr Tabor
90a882e711
Merge pull request #379 from ahrtr/dependabot_20230111
...
security: add dependabot.yml
2023-01-11 10:12:26 +01:00
Benjamin Wang
df7540e2f4
security: add dependabot.yml
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-11 06:00:23 +08:00
Benjamin Wang
3037d91410
add /cmd/bbolt/bbolt into .gitignore
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-09 12:59:07 +08:00
Benjamin Wang
ff5cb3fe59
Merge pull request #375 from fuweid/213-follow-up
...
#373 Follow-up
2023-01-05 16:56:57 +08:00
Wei Fu
c1ce3b5ca8
.github: use GOGC=30 to prevent high resource usage
...
* Remove duplicate targets in Makefile
* Use GOGC=30 to prevent high resource usage
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-01-05 13:54:16 +08:00
Wei Fu
c99164bcd9
TxStats: add DEPRECATED comments for exported fields
...
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-01-05 10:31:00 +08:00
Benjamin Wang
a938f00609
Merge pull request #373 from fuweid/fix-213
...
fix data race on tx.Stats
2023-01-05 06:46:28 +08:00
Wei Fu
dd4458ce3a
TxStats: provides Getter/Inc functions
...
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-01-04 20:06:51 +08:00
Wei Fu
b7f2da4843
.github/Makefile: support EXTRA_TESTFLAGS for array freelist
...
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-01-04 20:05:20 +08:00
Piotr Tabor
501d460add
Merge pull request #361 from ptabor/20221220-guts
...
Extract from bbolt/CLI library for low-level inspection and modifications
2023-01-04 09:51:33 +01:00
Piotr Tabor
bf9b712eb2
Add Test whether XRay finds path to a bucket as well.
...
Signed-off-by: Piotr Tabor <ptab@google.com>
2023-01-03 19:02:55 +01:00
Piotr Tabor
9f841cc213
Fix goimports and scripts.
...
Signed-off-by: Piotr Tabor <ptab@google.com>
2023-01-03 19:02:55 +01:00
Wei Fu
4e98e8fb3c
TestDB_Concurrent_WriteTo: copy option to fix data race
...
The test log:
==================
WARNING: DATA RACE
Write at 0x00c000388370 by goroutine 37:
go.etcd.io/bbolt/internal/btesting.MustOpenDBWithOption()
/home/runner/work/bbolt/bbolt/internal/btesting/btesting.go:52 +0x1c7
go.etcd.io/bbolt_test.TestDB_Concurrent_WriteTo.func1()
/home/runner/work/bbolt/bbolt/db_test.go:685 +0x1f4
go.etcd.io/bbolt_test.TestDB_Concurrent_WriteTo·dwrap·18()
/home/runner/work/bbolt/bbolt/db_test.go:714 +0x47
Previous write at 0x00c000388370 by goroutine 83:
go.etcd.io/bbolt/internal/btesting.MustOpenDBWithOption()
/home/runner/work/bbolt/bbolt/internal/btesting/btesting.go:52 +0x1c7
go.etcd.io/bbolt_test.TestDB_Concurrent_WriteTo.func1()
/home/runner/work/bbolt/bbolt/db_test.go:685 +0x1f4
go.etcd.io/bbolt_test.TestDB_Concurrent_WriteTo·dwrap·18()
/home/runner/work/bbolt/bbolt/db_test.go:714 +0x47
Goroutine 37 (running) created at:
go.etcd.io/bbolt_test.TestDB_Concurrent_WriteTo()
/home/runner/work/bbolt/bbolt/db_test.go:714 +0x724
testing.tRunner()
/opt/hostedtoolcache/go/1.17.13/x64/src/testing/testing.go:1259 +0x22f
testing.(*T).Run·dwrap·21()
/opt/hostedtoolcache/go/1.17.13/x64/src/testing/testing.go:1306 +0x47
Goroutine 83 (running) created at:
go.etcd.io/bbolt_test.TestDB_Concurrent_WriteTo()
/home/runner/work/bbolt/bbolt/db_test.go:714 +0x724
testing.tRunner()
/opt/hostedtoolcache/go/1.17.13/x64/src/testing/testing.go:1259 +0x22f
testing.(*T).Run·dwrap·21()
/opt/hostedtoolcache/go/1.17.13/x64/src/testing/testing.go:1306 +0x47
==================
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-01-03 15:42:51 +08:00
Wei Fu
5104c82310
.github: split test job into test-{linux/windows}
...
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-01-03 15:27:42 +08:00
Wei Fu
f8fa3644b5
.github: run coverage in individual job
...
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-01-03 14:57:15 +08:00
Wei Fu
99a93a69f2
Enable -race in github action
...
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-01-03 14:36:10 +08:00
Wei Fu
27ac0b8958
fix data race on tx.Stats
...
Fixes : #213
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-01-02 22:29:43 +08:00
Piotr Tabor
8961219de8
Execution of ./scripts/fix.sh
...
Signed-off-by: Piotr Tabor <ptab@google.com>
2022-12-30 12:59:02 +01:00
Piotr Tabor
cec7209fa8
Script that fixes all goimports.
...
Signed-off-by: Piotr Tabor <ptab@google.com>
2022-12-30 12:59:02 +01:00
Piotr Tabor
9a6782574d
Add library that allows to perform low-level changes/inspection on bbolt file.
...
For sake of usage it in tests and CLI (so internal).
Signed-off-by: Piotr Tabor <ptab@google.com>
2022-12-30 12:59:02 +01:00
Benjamin Wang
b654ce9221
Merge pull request #368 from ahrtr/update_readme_20221229
...
Update guide/command to get or install bbolt
2022-12-29 18:19:48 +08:00
Benjamin Wang
c2edb1308f
Update guide/command to get or install bbolt
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-29 17:29:28 +08:00
Benjamin Wang
cc44e8614e
Merge pull request #367 from ahrtr/resolve_conflict_20221229
...
Resolve conflict
2022-12-29 17:24:47 +08:00
Benjamin Wang
c19ea9b613
Handle the case of io.EOF when reading the second meta page
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-29 16:37:24 +08:00
Benjamin Wang
dab07c58b4
Update test cases TestOpen_ReadPageSize_FromMeta1_OS and TestOpen_ReadPageSize_FromMeta1_Given
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-29 09:10:57 +08:00
Benjamin Wang
7b6c235774
Merge pull request #294 from ahrtr/enhance_check_command
...
Get the page size from the second meta page if the first one is invalid
2022-12-29 06:46:34 +08:00
Piotr Tabor
fc83b20869
Factor out low-lever access to pages out of CLI into internal/guts.
...
Long-term guts_cli should get replaced by the main code from bbolt main code.
Signed-off-by: Piotr Tabor <ptab@google.com>
2022-12-28 16:53:03 +01:00
Piotr Tabor
a0def3434b
Merge pull request #360 from ptabor/20221220-btesting
...
Factor out (bolt)testing library.
2022-12-28 16:14:12 +01:00
Piotr Tabor
1f46d6c7e7
cmd/main_test.go is using btesting as well.
...
Signed-off-by: Piotr Tabor <ptab@google.com>
2022-12-28 15:18:46 +01:00
Piotr Tabor
37d72cc1cd
Use require.NoError in btesting.go
...
Signed-off-by: Piotr Tabor <ptab@google.com>
2022-12-28 15:18:46 +01:00
Piotr Tabor
93380c59e8
testing: group (reorder) imports.
...
Signed-off-by: Piotr Tabor <ptab@google.com>
2022-12-28 15:18:46 +01:00
Piotr Tabor
26cc5e3e8b
Tests: Migrate from test DB to btesting.DB
...
Signed-off-by: Piotr Tabor <ptab@google.com>
2022-12-28 15:18:46 +01:00
Piotr Tabor
f3e164d8dd
Example: How to use the separated 'btesting' library.
...
Signed-off-by: Piotr Tabor <ptab@google.com>
2022-12-28 15:18:46 +01:00
Piotr Tabor
46cdbf5b6c
Factor out (bolt)testing library.
...
Thanks to putting it outside the bbolt_test package it can be used to test other packages.
The replacement of the bbolt_test variant inlined in db_test.go is to be performed in a follow up PR.
Signed-off-by: Piotr Tabor <ptab@google.com>
2022-12-28 15:18:46 +01:00
Benjamin Wang
2385046d41
replace all ioutil with os
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-28 16:56:01 +08:00
ahrtr
8e6a1168ae
get the page size from the second meta page if the first one is invalid
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-28 16:52:47 +08:00
Benjamin Wang
9830ab2f14
Merge pull request #365 from ahrtr/bolt_cmd_readonly_20221227
...
Open db file in readonly mode for commands which shouldn't update db file
2022-12-28 15:51:29 +08:00
Benjamin Wang
5dbd2ec7f3
Merge pull request #366 from ahrtr/workflow_windows_20221227
...
Support running workflow on Windows-latest
2022-12-28 15:49:41 +08:00
Benjamin Wang
7cc5901171
Extended the test timeout to 30m
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-27 14:51:47 +08:00
Benjamin Wang
99fe21f5e0
Disabled linter on field 'dataref'
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-27 14:51:10 +08:00
Benjamin Wang
d04dc0c2d0
Support running workflow on Windows-latest
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-27 14:49:58 +08:00
Benjamin Wang
f8dc40c033
Removed the use of log and reorder the import items
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-27 13:05:12 +08:00
Benjamin Wang
329eba7818
Open db file in readonly mode for commands which shouldn't update db file
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-27 12:58:32 +08:00
Piotr Tabor
d4831e6217
Merge pull request #358 from ptabor/20221218-defensive-pageread
...
Validate page being fetched at possition 'p' self identifies as page 'p'
2022-12-23 11:07:33 +01:00
Piotr Tabor
86ce028a52
Defensive: Expect page that node writes onto to be zeroed.
...
I've seen data corruption that seen like a random bit-flip
or application on already allocated page.
Signed-off-by: Piotr Tabor <ptab@google.com>
2022-12-23 09:43:03 +01:00