Benjamin Wang
d19b7c8fba
test: fix 'loadMetaPage' always read the first meta page
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-05-26 15:00:45 +08:00
Benjamin Wang
c2efe9f0d8
cmd: split 'surgery freelist' into separate files
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-05-16 16:51:06 +08:00
Benjamin Wang
065a3e1953
cmd: mark some flags of surgery commands as required
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-05-16 14:13:15 +08:00
Benjamin Wang
8974e912fb
cmd: check source db path for all surgery commands
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-05-09 08:50:17 +08:00
Benjamin Wang
383d990794
cmd: wrap 'surgery clear-page' options into surgeryClearPageOptions
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-05-09 08:38:56 +08:00
Benjamin Wang
6e12e088d4
cmd: migrate 'surgery copy-page' command to cobra style command
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-05-09 08:27:04 +08:00
Marek Siarkowicz
f483d799ae
Decompose command options
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-08 14:18:24 +02:00
Benjamin Wang
81eb691a8e
cmd: get all surgery options included in a struct surgeryOptions
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-05-06 07:06:12 +08:00
Benjamin Wang
b027e485ce
cmd: print a warning to abandon the freelist if present in 'surgery copy-page' command
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-05-06 06:25:23 +08:00
Benjamin Wang
e618196323
cmd: migrate 'surgery copy-page' command to cobra style comamnd
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-05-05 20:50:14 +08:00
Benjamin Wang
8164464f8e
migrate 'surgery revert-meta-page' to cobra style command
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-04-27 04:04:32 +08:00
Benjamin Wang
690c9c9a51
test: add test cases to cover some old commmands
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-04-26 20:24:39 +08:00
Benjamin Wang
ba26255141
cmd: add 'surgery freelist rebuild' command
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-04-15 05:39:35 +08:00
Josh Rickmar
7a957f94b2
Introduce errors package and restore API compatibility
...
This moves the error variables that had been moved to the
internal/common package during recent refactoring to a non-internal
errors package, once again allowing consumers to test for particular
error conditions.
To preserve API compatibility with bbolt v1.3, these error variables
are also redefined in the bbolt package, with deprecation notice to
migrate to bbolt/errors.
Signed-off-by: Josh Rickmar <jrick@zettaport.com>
2023-04-06 13:26:30 +00:00
Benjamin Wang
1776766466
move copyFile into internal/common/util.go
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-04-05 14:08:17 +08:00
Benjamin Wang
dc50a72933
cmd: add 'surgery abandon-freelist' command
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-03-31 07:04:05 +08:00
Benjamin Wang
74e26bee77
update command 'surgery clear-page-elements' not to automatically abandon freelist
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-03-25 09:33:59 +08:00
Benjamin Wang
87eed0ac93
add test case to verify 'surgery-clear-elements' on overflow page
...
Also resolved a bug related to overflow page.
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-03-25 07:42:01 +08:00
Benjamin Wang
a0e5e3a1dd
test: add more subcases to verify 'surgery-clear-elements' on branch page
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-03-25 07:42:01 +08:00
Benjamin Wang
8902ef92e9
resolve some minor review comments
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-03-25 07:42:01 +08:00
Benjamin Wang
a9a9356ea4
test: verify the left elements after clear-page-elements operation should have the same content
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-03-25 07:42:01 +08:00
Benjamin Wang
95576a4f10
CMD: add test cases for the 'surgery clear-page-elements' command
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-03-25 07:42:01 +08:00
Benjamin Wang
3c3da590b1
CMD: add cobra style 'surgery clear-page-elements' command
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-03-25 07:42:01 +08:00
Cenk Alti
b5a219fd29
Fix progress reporting in bench cmd
...
Signed-off-by: Cenk Alti <alticen@amazon.com>
2023-03-23 21:37:19 -04:00
Thomas Jungblut
3914515d4f
Add test for the bench command
...
Also making sure the stdio buffers are thread safe.
Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
2023-03-17 16:36:13 +01:00
Thomas Jungblut
44d4ec5416
fixing small bench errors
...
BenchResult locking was missing and when the read test was faster than a
second it would fail on a different count than expected.
Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
2023-03-17 12:15:02 +01:00
Benjamin Wang
5c7326c1dd
Merge pull request #427 from ahrtr/update_check_20230315
...
bbolt: remove `CheckWithOptions` and add variadic parameter options to method `Check`
2023-03-15 17:10:59 +08:00
Benjamin Wang
f7d0ed5185
bbolt: remove CheckWithOptions
and add variadic parameter options to method Check
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-03-15 15:19:28 +08:00
Benjamin Wang
62f5a3f291
cmd: move function copyFile into utils.go
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-03-15 08:45:45 +08:00
zhangsong
ab889e1dfa
display progress during benchmark
...
Signed-off-by: Cenk Alti <cenkalti@gmail.com>
2023-03-13 23:10:54 -04:00
Benjamin Wang
f68adfee81
CMD: update leafPageElement to return both key and value directly
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-03-04 04:58:53 +08:00
Benjamin Wang
ea511567eb
refactor both bolt and guts_cli based on the common package
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-03-04 04:22:09 +08:00
Marek Siarkowicz
eb39e4c93e
Fix redacted format
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-02-20 06:37:36 +08:00
Benjamin Wang
578b94665b
update the usage of surgery command
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-02-18 04:43:20 +08:00
missinglink
287049ea83
compact: add cli flags to enable NoSync option
...
Signed-off-by: missinglink <insomnia@rcpt.at>
2023-02-02 12:16:15 +08:00
Benjamin Wang
35c4569bf9
revert the signature of tx.Check and add tx.CheckWithStringer
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-29 19:53:07 +08:00
Marek Siarkowicz
613ea3dffa
Add support for using sha256 sum for obfuscating values
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-01-28 07:08:58 +08:00
Benjamin Wang
834868d65d
add 'surgery clear-page' command
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-20 18:46:07 +08:00
Benjamin Wang
d89daae9d5
add 'surgery copy-page' command
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-18 08:40:57 +08:00
Benjamin Wang
645d5e9ea9
unexport all bbolt command structs
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-17 15:07:15 +08:00
Benjamin Wang
ff467f2ff5
addresed review comments
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-16 19:08:53 +08:00
Benjamin Wang
8df4afc24b
add 'bbolt surgery revert-meta-page' command
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-16 18:32:41 +08:00
Benjamin Wang
376af859cb
move all common fields into baseCommand
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-16 14:58:01 +08:00
Piotr Tabor
f16e2522ce
Address review comments.
...
Signed-off-by: Piotr Tabor <ptab@google.com>
2023-01-13 19:14:45 +01:00
Piotr Tabor
0c8d75db1e
Recursive checker implementation.
...
Recursive checker confirms database consistency with respect to b-tree
key order constraints:
- keys on pages must be sorted
- keys on children pages are between 2 consecutive keys on parent
branch page).
Signed-off-by: Piotr Tabor <ptab@google.com>
2023-01-13 19:14:45 +01: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
9f841cc213
Fix goimports and scripts.
...
Signed-off-by: Piotr Tabor <ptab@google.com>
2023-01-03 19:02:55 +01: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
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
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