Josh Rickmar
f9d3ff6648
Fix incorrect unsafe usage
...
After checkptr fixes by 2fc6815c
, it was discovered that new issues
were hit in production systems, in particular when a single process
opened and updated multiple separate databases. This indicates that
some bug relating to bad unsafe usage was introduced during this
commit.
This commit combines several attempts at fixing this new issue. For
example, slices are once again created by slicing an array of "max
allocation" elements, but this time with the cap set to the intended
length. This operation is espressly permitted according to the Go
wiki, so it should be preferred to type converting a
reflect.SliceHeader.
2020-04-28 20:30:23 +00:00
chyroc
a8af23b57f
opt: reuse var leafPageElementSize ( #215 )
2020-04-23 17:56:04 -07:00
James Ravn
6dc724cf03
Clarify transaction section ( #59 )
...
Even nested read-only transactions can cause deadlocks. This is due to golang's RWMutex behaviour.
It doesn't allow readers to acquire a lock if a write lock is pending. It's possible for a child read-only
transaction to block trying to acquire `mmaplock.RLock`, while a writer is trying to acquire
`mmaplock.Lock`. As a result, the parent transaction never releases its read lock on `mmaplock`, and the
application deadlocks.
This wasn't clear to me from the provided docs, which just mentions read/write and read transactions being nested.
2020-04-06 14:46:16 -07:00
Gyuho Lee
68cc10a767
Merge pull request #210 from tmm1/patch-1
...
Remove unused import to fix arm builds
2020-03-19 13:29:37 -07:00
Aman Gupta
52871c4623
Remove unused import to fix arm builds
2020-03-19 12:15:01 -07:00
Gyuho Lee
4d27a42422
Merge pull request #206 from lzhfromustc/4_Fatal_misusages
...
Fix the misusage of t.Fatal() in 4 test functions
2020-03-19 11:27:51 -07:00
Gyuho Lee
a74531a954
Merge pull request #209 from d2r2/d2r2-fix-unexpected-delete-bucket-error
...
Fix unexpected delete bucket error: "delete bucket: incompatible value"
2020-03-19 11:27:32 -07:00
Gyuho Lee
2fc6815ca0
Merge pull request #201 from jrick/checkptr
...
Fix unsafe pointer conversions caught by Go 1.14 checkptr
2020-03-19 11:26:25 -07:00
Josh Rickmar
543c40ab41
Fix unsafe pointer conversions caught by Go 1.14 checkptr
2020-03-18 21:18:39 -04:00
Denis Dyakov
c41b6f7c53
Fix unexpected delete bucket error
2020-03-13 23:40:49 +06:00
Ziheng Liu
59e65f9618
Fix the misusage of t.Fatal() in 4 test functions
2020-03-03 23:00:28 -05:00
Nicolas Lepage
da442c51f1
Add github.com/philippgille/gokv in the list of Projects Using Bolt ( #200 )
2020-01-21 09:05:14 -08:00
Ryan Wise
126e837046
fix panic on install on unix systems ( #198 )
2020-01-06 12:31:24 -08:00
Steve Gore
0b7b41e21b
Simple grammar fix ( #191 )
2019-11-28 15:57:01 -08:00
Justin Kolberg
7f8bb47fca
Add support for aix ( #189 )
...
* add support for aix
Signed-off-by: Justin Kolberg <amd.prophet@gmail.com>
* rename bolt_aix.go to bolt_unix_aix.go
Signed-off-by: Justin Kolberg <amd.prophet@gmail.com>
* use go 1.12
Signed-off-by: Justin Kolberg <amd.prophet@gmail.com>
2019-11-22 12:31:57 -08:00
Gyuho Lee
96e95490d9
Merge pull request #176 from alrs/fix-test-goroutines
...
Fix Swallowed goroutine Error Statements
2019-11-20 13:18:12 -08:00
AbserAri
6e135e5d7e
DB.CreateBucket() -> Tx.CreateBucket() ( #178 )
...
there is not a method for DB called CreateBucket()
2019-10-01 09:49:32 -07:00
bbiao
72c1660c13
In golang v1.13, parse flags in package initialization will fail. See https://tip.golang.org/doc/go1.13#testing ( #177 )
...
Fixed by move the init func into a TestMain func.
2019-09-25 22:49:19 +08:00
Lars Lehtonen
0e02572955
simulation_test.go: fix swallowed goroutine error statements
...
simulation_test.go: add logging
2019-09-17 19:11:49 +00:00
Gyuho Lee
14ae4453e2
Merge pull request #157 from twpayne/add-go-mod
...
add go.mod
2019-09-08 20:39:40 -07:00
Ning Xie
35b6661093
enhance ut ( #172 )
2019-08-08 21:43:56 -07:00
Gyuho Lee
62396cbb20
Merge pull request #171 from muesli/conversion-fixes
...
Avoid unnecessary conversions
2019-08-06 11:18:37 -07:00
Christian Muehlhaeuser
0bf4edcf32
Avoid unnecessary conversions
...
No need to convert here, they are already of the right type.
2019-08-06 17:35:28 +00:00
Marin Atanasov Nikolov
0362320deb
db.Path() resolves to db.file.Name() ( #168 )
2019-07-01 09:46:51 -07:00
Derek Collison
7c53bc0328
Added NATS and NATS Streaming ( #164 )
2019-06-28 01:08:48 +08:00
Xingyu Chen
a0458a2b35
fix rollback panic bug ( #153 )
2019-06-08 09:57:04 -07:00
Jeff R. Allen
2eb7227ade
Fix the build on Go 1.10 and before ( #161 )
...
Fixes #160 .
2019-05-28 13:21:53 -07:00
Marco Peereboom
1727806877
Add support for riscv64 arch. ( #159 )
...
All tests pass.
2019-05-28 01:25:52 +02:00
Tom Payne
4af6cfab70
add OpenFile option ( #158 )
2019-05-10 14:16:40 -07:00
Tom Payne
e65d4d5d27
add go.mod
2019-05-09 20:03:52 -07:00
Iskander (Alex) Sharipov
63597a96ec
remove excessive []byte(s) conversion ( #143 )
...
`copy` permits using to mix `[]byte` and `string` arguments without
explicit conversion. I removed explicit conversion to make the code simpler.
Signed-off-by: Iskander Sharipov <quasilyte@gmail.com>
2019-01-28 10:11:30 -08:00
Xingyu Chen
8693da9f4d
use segregated hashmap to boost the freelist allocate and release performance ( #141 )
2019-01-25 10:30:05 -08:00
Xingyu Chen
26245f2a4c
fix test in releaserange ( #142 )
2019-01-23 18:34:41 -08:00
Xingyu Chen
f0ad07c7d4
add getFreePageIDs ( #140 )
2019-01-20 23:42:17 -08:00
Xingyu Chen
c5638469ec
update the freelist readIDs ( #139 )
2019-01-20 21:45:53 -08:00
Ross Spencer
22d122a8b9
Add kval-access-language to README.md ( #133 )
2018-12-07 17:02:42 -08:00
John Howard
7ee3ded59d
Fix Windows flock/funlock race ( #122 )
...
Signed-off-by: John Howard <jhoward@microsoft.com>
2018-09-12 13:56:54 -07:00
Gyuho Lee
8987c9740d
Merge pull request #123 from vcaesar/pj-pr
...
The list of project use bolt sorted by initials
2018-09-11 10:37:16 -07:00
vcaesar
bd1da6196b
The list of project use bolt sorted by initials
2018-09-11 13:30:28 -04:00
Michael
25c1c6d9cd
Add reef-pi to project list ( #119 )
2018-09-09 15:15:06 -07:00
Gyuho Lee
27f3df8997
README: bbolt uses semantic versioning
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 11:43:12 -07:00
Gyuho Lee
acbc2c426a
travis.yml: skip "errcheck"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 10:18:45 -07:00
Gyuho Lee
b951856120
cmd/bbolt: disable "bbolt" testing for now
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 08:48:31 -07:00
Gyuho Lee
8aa16a85c8
travis.yml: set Go import path
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 08:24:03 -07:00
Gyuho Lee
b2a561c156
README: add "Importing bbolt"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 08:20:04 -07:00
Gyuho Lee
5912526255
travis.yml: run "errcheck" on CI
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 08:18:01 -07:00
Gyuho Lee
75d4714c2c
*: rename "cmd/bbolt"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 08:17:28 -07:00
Gyuho Lee
77a57326e3
appveyor: remove
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 08:16:01 -07:00
Gyuho Lee
76a4670663
*: update import paths "go.etcd.io/bbolt"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 08:15:54 -07:00
Gyuho Lee
82839da515
README: use "travis-ci.com"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-27 20:02:45 -07:00