1176 Commits

Author SHA1 Message Date
Lavish pal
f5a30b77af update the go version to 1.21.10
Signed-off-by: Lavish pal <lvishpal408@gmail.com>
2024-05-10 20:03:16 +05:30
Benjamin Wang
014b0285cc
Merge pull request #744 from ahrtr/cursor_20240502
[1.3] Ensure a cursor can continue to iterate elements in reverse direction by call Next when it has already reached the beginning
v1.3.10
2024-05-03 06:49:59 +01:00
Benjamin Wang
2d48e1df03 Ensure a cursor can continue to iterate elements in reverse direction by call Next when it has already reached the beginning
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2024-05-02 16:43:50 +01:00
Benjamin Wang
886753c41a
Merge pull request #717 from henrybear327/fix/remove_UnsafeSlice
Remove UnsafeSlice and use unsafe.Slice
2024-04-07 19:02:39 +01:00
Chun-Hung Tseng
9e3d732b27
Remove UnsafeSlice and use unsafe.Slice
References:
- https://github.com/etcd-io/bbolt/pull/713
- https://github.com/etcd-io/bbolt/pull/566

Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-06 21:40:37 +02:00
Benjamin Wang
2c29534715
Merge pull request #713 from henrybear327/cve/CVE-2023-45288-release-1.3
Bump go toolchain version to address CVE-2023-45288 for release-1.3
2024-04-05 19:24:09 +01:00
Chun-Hung Tseng
9b60c134ed
Address linter issues
Changes (align with the main branch):
- remove rand.Seed(s)
- use rand.Read from "crypto/rand"
- add //nolint:all for (*reflect.SliceHeader)(slice) -> will fix in a 
follow-up PR

Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
Co-authored-by: Iván Valdés Castillo <iv@nvald.es>
2024-04-05 14:22:02 +02:00
Chun-Hung Tseng
0b59bc1317
Bump go toolchain version to address CVE-2023-45288
Changes:
- Bump toolchain version to 1.21.9 due to CVE-2023-45288
- run `go mod tidy`

Reference:
- PR etcd #17703

Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-05 14:21:41 +02:00
Benjamin Wang
9f3524b608
Merge pull request #716 from henrybear327/feat/introduce-go-version-file
Adopt the .go-version approach for toolchain versioning
2024-04-05 13:16:35 +01:00
Chun-Hung Tseng
67a267830e
Adopt the .go-version approach for toolchain versioning
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-05 11:53:07 +02:00
Benjamin Wang
50aef2646b
Merge pull request #683 from Elbehery/backport_fix_cli_panics
[1.3] Fix `bbolt keys` and `bbolt get` to prevent them from panicking when no parameter provided
v1.3.9
2024-02-01 13:56:13 +00:00
Mustafa Elbehery
25dacb34be fix cli cmds panics
Signed-off-by: Mustafa Elbehery <melbeher@redhat.com>
2024-01-31 19:23:36 +01:00
Benjamin Wang
e102fcf8a2
Merge pull request #639 from fuweid/cp-copy-key-before-seek
[1.3] bucket.Put: copy key before seek
2023-12-18 16:53:49 +00:00
Wei Fu
fabe2fb55e *: copy key before comparing during CreateBucket
It's follow-up of #637.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
(cherry picked from commit 62d80260de277168b2d59779bfb03c6ebfda08f4)
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-12-18 23:39:03 +08:00
Wei Fu
50ddad0f00 bucket: copy key before Put
Application might change key value after seeking and before real put.
This unexpected behaviour could corrupt database. When users file issue,
maintainers doesn't know application behaviour. It could be caused by
data race. This patch is to prevent such case and save maintainers' time.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
(cherry picked from commit a05ec68aaafcf77e22b9da83bd4069cad8cba39d)
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-12-18 23:34:58 +08:00
Wei Fu
b3bdd17686 tests/robustness: add issue72 reproducer
Signed-off-by: Wei Fu <fuweid89@gmail.com>
(cherry picked from commit 1b080787075bb3ec06a414c754da9ef66bda4071)
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-12-18 23:33:23 +08:00
Wei Fu
d520aaac7c *: introduce failpoint beforeBucketPut
Signed-off-by: Wei Fu <fuweid89@gmail.com>
(cherry picked from commit 324df9cd264b7f2c4504ea61758a4ea89373e4ce)
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-12-18 23:31:06 +08:00
Evgenii Stratonikov
0a521c0b48 bucket: allow to allocate key on stack in Put()
As per `go build -gcflags -m ./... 2>&1`:

Old behaviour:
```
./bucket.go:148:31: leaking param: key
./bucket.go:192:42: leaking param: key
./bucket.go:271:22: leaking param: key
```

Now:
```
./bucket.go:148:31: key does not escape
./bucket.go:192:42: key does not escape
./bucket.go:271:22: key does not escape
```

Signed-off-by: Evgenii Stratonikov <fyfyrchik@runbox.com>
(cherry picked from commit 71a59caf31ca42c3deb8967ceee0a4804d220bf4)
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-12-14 08:34:43 +08:00
Marek Siarkowicz
defa564feb
Merge pull request #600 from Richabanker/release-1.3
Backport concurrent_test.go to release-1.3 branch
2023-11-08 05:58:11 +01:00
Richa Banker
fe23f523fd Backport concurrent_test.go to release-1.3 branch
Signed-off-by: Richa Banker <richabanker@google.com>
2023-11-07 15:43:19 -08:00
Benjamin Wang
42a914d8be
Merge pull request #586 from ahrtr/1.3_64bit_align_20231025
[1.3] Ensure the stats is always 64bit aligned
v1.3.8
2023-10-25 20:10:10 +01:00
Benjamin Wang
f9d290fdfd ensure the stats is always 64bit aligned
The first word in an allocated struct can be relied upon to be
64-bit aligned. Refer to https://pkg.go.dev/sync/atomic#pkg-note-BUG.

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-10-25 16:19:38 +01:00
Benjamin Wang
4a1773274a
Merge pull request #444 from jmhbnz/backport-failpoints-injection-2
[1.3] Backport perform unmap when mlock fails or both meta pages corrupted
2023-03-31 06:20:08 +08:00
James Blair
95acc50921
Backport add test cases to simulate mlock failure.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-03-30 21:54:14 +13:00
James Blair
7a13798511
Backport perform unmap when failing to mlock or both meta pages corrupted.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-03-30 21:54:05 +13:00
Benjamin Wang
ad36005fa6
Merge pull request #439 from jmhbnz/backport-failpoints-injection
[1.3] Backport change to error handling logic
2023-03-29 06:40:49 +08:00
James Blair
8165a40522
Backport change to error handling logic in db.close().
Signed-off-by: James Blair <mail@jamesblair.net>
2023-03-26 11:50:05 +13:00
Benjamin Wang
e4e06d2245 update the usage of surgery command
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-02-18 10:36:42 +08:00
Josh Rickmar
110891517d Avoid syscall.Syscall use on OpenBSD
Syscall numbers are not stable on OpenBSD, and hardcoding the msync
syscall number will break bbolt on future versions of OpenBSD.  Use
the libc wrapper provided by golang.org/x/sys/unix instead.

Signed-off-by: Josh Rickmar <jrick@zettaport.com>
2023-02-16 10:25:51 +08:00
Benjamin Wang
da2f2a53f6 remove changelog from release-1.3
Signed-off-by: Benjamin Wang <wachao@vmware.com>
v1.3.7
2023-01-31 05:21:49 +08:00
Benjamin Wang
fc361799ce added summary on the changes in v1.3.7
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-29 20:51:54 +08:00
Benjamin Wang
1651561091 Update changelog-1.3 to prepare for v1.3.7 release
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-29 20:51:54 +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
dependabot[bot]
afa8b89da8 Bump golangci/golangci-lint-action from 3.3.1 to 3.4.0
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.3.1 to 3.4.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](0ad9a0988b...08e2f20817)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-29 10:58:20 +08:00
dependabot[bot]
046c7b9e5b Bump golang.org/x/sys from 0.3.0 to 0.4.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.3.0 to 0.4.0.
- [Release notes](https://github.com/golang/sys/releases)
- [Commits](https://github.com/golang/sys/compare/v0.3.0...v0.4.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-29 10:50:50 +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
6ee9f1d9a7
Merge pull request #389 from ahrtr/surgery_write_empty_page_20230120
Add `surgery clear-page` command
2023-01-21 07:09:25 +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
Piotr Tabor
774edab623
Merge pull request #387 from uvletter/fix_grow
fix db.grow is unusable when NoFreelistSync is on
2023-01-19 19:21:15 +01:00
luv
460b77759e fix db.grow is unusable when NoFreelistSync is on
Signed-off-by: tian <skylypig@gmail.com>
2023-01-19 22:33:51 +08:00
Benjamin Wang
f9051642f7
Merge pull request #383 from ahrtr/failpoint_20230113
Support injecting failpoints to mimic syscall errors
2023-01-19 19:43:10 +08:00
Benjamin Wang
1508097501
Merge pull request #388 from ahrtr/surgery_copy_page_20230118
Add `bbolt surgery copy-page` command
2023-01-19 19:07:05 +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
8c794d23aa
Merge pull request #386 from ahrtr/unexport_cmds_20230117
unexport all bbolt command structs
2023-01-18 08:12:53 +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
f10bad3c8f support injecting failpoints and add failpoint github workflow
Implemented first demo "TestFailpoint_MapFail"

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-16 20:32:16 +08:00
Benjamin Wang
6652d8269e
Merge pull request #385 from ahrtr/add_surgery_revert_meta_page_20230116
Add `bbolt surgery revert-meta-page` command
2023-01-16 20:30:24 +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
da3f312335
Merge pull request #384 from ahrtr/base_command_20230116
move all common fields into baseCommand
2023-01-16 18:23:17 +08:00