Skip to content

Commit cb53d26

Browse files
author
Ibrahim Jarif
committed
Merge branch 'master' into HEAD
2 parents bd8da72 + e908818 commit cb53d26

25 files changed

+1143
-383
lines changed

.travis.yml

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,38 @@
11
language: go
22

33
go:
4-
- "1.11"
5-
- "1.12"
6-
- "1.13"
7-
- tip
4+
- "1.11"
5+
- "1.12"
6+
- "1.13"
7+
- tip
88
os:
9-
- osx
10-
9+
- osx
10+
env:
11+
jobs:
12+
- GOARCH=386
13+
- GOARCH=amd64
14+
global:
15+
- secure: CRkV2+/jlO0gXzzS50XGxfMS117FNwiVjxNY/LeWq06RKD+dDCPxTJl3JCNe3l0cYEPAglV2uMMYukDiTqJ7e+HI4nh4N4mv6lwx39N8dAvJe1x5ITS2T4qk4kTjuQb1Q1vw/ZOxoQqmvNKj2uRmBdJ/HHmysbRJ1OzCWML3OXdUwJf0AYlJzTjpMfkOKr7sTtE4rwyyQtd4tKH1fGdurgI9ZuFd9qvYxK2qcJhsQ6CNqMXt+7FkVkN1rIPmofjjBTNryzUr4COFXuWH95aDAif19DeBW4lbNgo1+FpDsrgmqtuhl6NAuptI8q/imow2KXBYJ8JPXsxW8DVFj0IIp0RCd3GjaEnwBEbxAyiIHLfW7AudyTS/dJOvZffPqXnuJ8xj3OPIdNe4xY0hWl8Ju2HhKfLOAHq7VadHZWd3IHLil70EiL4/JLD1rNbMImUZisFaA8pyrcIvYYebjOnk4TscwKFLedClRSX1XsMjWWd0oykQtrdkHM2IxknnBpaLu7mFnfE07f6dkG0nlpyu4SCLey7hr5FdcEmljA0nIxTSYDg6035fQkBEAbe7hlESOekkVNT9IZPwG+lmt3vU4ofi6NqNbJecOuSB+h36IiZ9s4YQtxYNnLgW14zjuFGGyT5smc3IjBT7qngDjKIgyrSVoRkY/8udy9qbUgvBeW8=
16+
17+
1118
jobs:
1219
allow_failures:
1320
- go: tip
21+
exclude:
22+
# Exclude builds for 386 architecture on go 1.11, 1.12 and tip
23+
# Since we don't want it to run for 32 bit
24+
- go: "1.11"
25+
env: GOARCH=386
26+
- go: "1.12"
27+
env: GOARCH=386
28+
- go: tip
29+
env: GOARCH=386
1430

1531
notifications:
1632
email: false
1733
slack:
1834
secure: X7uBLWYbuUhf8QFE16CoS5z7WvFR8EN9j6cEectMW6mKZ3vwXGwVXRIPsgUq/606DsQdCCx34MR8MRWYGlu6TBolbSe9y0EP0i46yipPz22YtuT7umcVUbGEyx8MZKgG0v1u/zA0O4aCsOBpGAA3gxz8h3JlEHDt+hv6U8xRsSllVLzLSNb5lwxDtcfEDxVVqP47GMEgjLPM28Pyt5qwjk7o5a4YSVzkfdxBXxd3gWzFUWzJ5E3cTacli50dK4GVfiLcQY2aQYoYO7AAvDnvP+TPfjDkBlUEE4MUz5CDIN51Xb+WW33sX7g+r3Bj7V5IRcF973RiYkpEh+3eoiPnyWyxhDZBYilty3b+Hysp6d4Ov/3I3ll7Bcny5+cYjakjkMH3l9w3gs6Y82GlpSLSJshKWS8vPRsxFe0Pstj6QSJXTd9EBaFr+l1ScXjJv/Sya9j8N9FfTuOTESWuaL1auX4Y7zEEVHlA8SCNOO8K0eTfxGZnC/YcIHsR8rePEAcFxfOYQppkyLF/XvAtnb/LMUuu0g4y2qNdme6Oelvyar1tFEMRtbl4mRCdu/krXBFtkrsfUaVY6WTPdvXAGotsFJ0wuA53zGVhlcd3+xAlSlR3c1QX95HIMeivJKb5L4nTjP+xnrmQNtnVk+tG4LSH2ltuwcZSSczModtcBmRefrk=
1935

20-
env:
21-
global:
22-
- secure: CRkV2+/jlO0gXzzS50XGxfMS117FNwiVjxNY/LeWq06RKD+dDCPxTJl3JCNe3l0cYEPAglV2uMMYukDiTqJ7e+HI4nh4N4mv6lwx39N8dAvJe1x5ITS2T4qk4kTjuQb1Q1vw/ZOxoQqmvNKj2uRmBdJ/HHmysbRJ1OzCWML3OXdUwJf0AYlJzTjpMfkOKr7sTtE4rwyyQtd4tKH1fGdurgI9ZuFd9qvYxK2qcJhsQ6CNqMXt+7FkVkN1rIPmofjjBTNryzUr4COFXuWH95aDAif19DeBW4lbNgo1+FpDsrgmqtuhl6NAuptI8q/imow2KXBYJ8JPXsxW8DVFj0IIp0RCd3GjaEnwBEbxAyiIHLfW7AudyTS/dJOvZffPqXnuJ8xj3OPIdNe4xY0hWl8Ju2HhKfLOAHq7VadHZWd3IHLil70EiL4/JLD1rNbMImUZisFaA8pyrcIvYYebjOnk4TscwKFLedClRSX1XsMjWWd0oykQtrdkHM2IxknnBpaLu7mFnfE07f6dkG0nlpyu4SCLey7hr5FdcEmljA0nIxTSYDg6035fQkBEAbe7hlESOekkVNT9IZPwG+lmt3vU4ofi6NqNbJecOuSB+h36IiZ9s4YQtxYNnLgW14zjuFGGyT5smc3IjBT7qngDjKIgyrSVoRkY/8udy9qbUgvBeW8=
23-
2436
before_script:
2537
- go get github.com/mattn/goveralls
2638
script:

CHANGELOG.md

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,31 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project adheres to [Serialization Versioning](VERSIONING.md).
66

7+
## [2.0.2-rc1] - 2020-02-26
8+
9+
### Fixed
10+
11+
- Cast sz to uint32 to fix compilation on 32 bit. (#1175)
12+
- Fix checkOverlap in compaction. (#1166)
13+
- Avoid sync in inmemory mode. (#1190)
14+
- Support disabling the cache completely. (#1185)
15+
- Add support for caching bloomfilters. (#1204)
16+
- Fix int overflow for 32bit. (#1216)
17+
- Remove the 'this entry should've caught' log from value.go. (#1170)
18+
- Rework concurrency semantics of valueLog.maxFid. (#1187)
19+
20+
### Performance
21+
22+
- Use fastRand instead of locked-rand in skiplist. (#1173)
23+
- Improve write stalling on level 0 and 1. (#1186)
24+
- Disable compression and set ZSTD Compression Level to 1. (#1191)
25+
726
## [2.0.1] - 2020-01-02
827

928
### New APIs
1029

1130
- badger.Options
12-
- WithInMemory (5b6321)
31+
- WithInMemory (f5b6321)
1332
- WithZSTDCompressionLevel (3eb4e72)
1433

1534
- Badger.TableInfo
@@ -274,7 +293,7 @@ Bug fix:
274293
## [1.0.1] - 2017-11-06
275294
* Fix an uint16 overflow when resizing key slice
276295

277-
[Unreleased]: https://github.com/dgraph-io/badger/compare/v2.0.1...HEAD
296+
[2.0.2-rc1]: https://github.com/dgraph-io/badger/compare/v2.0.1...v2.0.2-rc1
278297
[2.0.1]: https://github.com/dgraph-io/badger/compare/v2.0.0...v2.0.1
279298
[2.0.0]: https://github.com/dgraph-io/badger/compare/v1.6.0...v2.0.0
280299
[1.6.0]: https://github.com/dgraph-io/badger/compare/v1.5.5...v1.6.0

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ on it.
252252

253253
```go
254254
err := db.Update(func(txn *badger.Txn) error {
255-
e := NewEntry([]byte("answer"), []byte("42"))
255+
e := badger.NewEntry([]byte("answer"), []byte("42"))
256256
err := txn.SetEntry(e)
257257
return err
258258
})
@@ -401,7 +401,7 @@ and `Txn.SetEntry()` API methods.
401401

402402
```go
403403
err := db.Update(func(txn *badger.Txn) error {
404-
e := NewEntry([]byte("answer"), []byte("42")).WithTTL(time.Hour)
404+
e := badger.NewEntry([]byte("answer"), []byte("42")).WithTTL(time.Hour)
405405
err := txn.SetEntry(e)
406406
return err
407407
})
@@ -414,7 +414,7 @@ metadata can be set using `Entry.WithMeta()` and `Txn.SetEntry()` API methods.
414414

415415
```go
416416
err := db.Update(func(txn *badger.Txn) error {
417-
e := NewEntry([]byte("answer"), []byte("42")).WithMeta(byte(1))
417+
e := badger.NewEntry([]byte("answer"), []byte("42")).WithMeta(byte(1))
418418
err := txn.SetEntry(e)
419419
return err
420420
})
@@ -425,7 +425,7 @@ then can be set using `Txn.SetEntry()`.
425425

426426
```go
427427
err := db.Update(func(txn *badger.Txn) error {
428-
e := NewEntry([]byte("answer"), []byte("42")).WithMeta(byte(1)).WithTTL(time.Hour)
428+
e := badger.NewEntry([]byte("answer"), []byte("42")).WithMeta(byte(1)).WithTTL(time.Hour)
429429
err := txn.SetEntry(e)
430430
return err
431431
})
@@ -748,6 +748,7 @@ Below is a list of known projects that use Badger:
748748

749749
* [0-stor](https://github.com/zero-os/0-stor) - Single device object store.
750750
* [Dgraph](https://github.com/dgraph-io/dgraph) - Distributed graph database.
751+
* [Jaeger](https://github.com/jaegertracing/jaeger) - Distributed tracing platform.
751752
* [TalariaDB](https://github.com/grab/talaria) - Distributed, low latency time-series database.
752753
* [Dispatch Protocol](https://github.com/dispatchlabs/disgo) - Blockchain protocol for distributed application data analytics.
753754
* [Sandglass](https://github.com/celrenheit/sandglass) - distributed, horizontally scalable, persistent, time sorted message queue.

backup_test.go

Lines changed: 45 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -116,19 +116,18 @@ func TestBackupRestore1(t *testing.T) {
116116

117117
func TestBackupRestore2(t *testing.T) {
118118
tmpdir, err := ioutil.TempDir("", "badger-test")
119-
if err != nil {
120-
t.Fatal(err)
121-
}
119+
require.NoError(t, err)
120+
122121
defer removeDir(tmpdir)
123122

124123
s1Path := filepath.Join(tmpdir, "test1")
125124
s2Path := filepath.Join(tmpdir, "test2")
126125
s3Path := filepath.Join(tmpdir, "test3")
127126

128127
db1, err := Open(getTestOptions(s1Path))
129-
if err != nil {
130-
t.Fatal(err)
131-
}
128+
require.NoError(t, err)
129+
130+
defer db1.Close()
132131
key1 := []byte("key1")
133132
key2 := []byte("key2")
134133
rawValue := []byte("NotLongValue")
@@ -139,35 +138,30 @@ func TestBackupRestore2(t *testing.T) {
139138
}
140139
return tx.SetEntry(NewEntry(key2, rawValue))
141140
})
142-
if err != nil {
143-
t.Fatal(err)
144-
}
141+
require.NoError(t, err)
142+
145143
for i := byte(1); i < N; i++ {
146144
err = db1.Update(func(tx *Txn) error {
147145
if err := tx.SetEntry(NewEntry(append(key1, i), rawValue)); err != nil {
148146
return err
149147
}
150148
return tx.SetEntry(NewEntry(append(key2, i), rawValue))
151149
})
152-
if err != nil {
153-
t.Fatal(err)
154-
}
150+
require.NoError(t, err)
151+
155152
}
156153
var backup bytes.Buffer
157154
_, err = db1.Backup(&backup, 0)
158-
if err != nil {
159-
t.Fatal(err)
160-
}
155+
require.NoError(t, err)
156+
161157
fmt.Println("backup1 length:", backup.Len())
162158

163159
db2, err := Open(getTestOptions(s2Path))
164-
if err != nil {
165-
t.Fatal(err)
166-
}
160+
require.NoError(t, err)
161+
162+
defer db2.Close()
167163
err = db2.Load(&backup, 16)
168-
if err != nil {
169-
t.Fatal(err)
170-
}
164+
require.NoError(t, err)
171165

172166
for i := byte(1); i < N; i++ {
173167
err = db2.View(func(tx *Txn) error {
@@ -188,9 +182,8 @@ func TestBackupRestore2(t *testing.T) {
188182
}
189183
return nil
190184
})
191-
if err != nil {
192-
t.Fatal(err)
193-
}
185+
require.NoError(t, err)
186+
194187
}
195188

196189
for i := byte(1); i < N; i++ {
@@ -200,26 +193,22 @@ func TestBackupRestore2(t *testing.T) {
200193
}
201194
return tx.SetEntry(NewEntry(append(key2, i), rawValue))
202195
})
203-
if err != nil {
204-
t.Fatal(err)
205-
}
196+
require.NoError(t, err)
197+
206198
}
207199

208200
backup.Reset()
209201
_, err = db2.Backup(&backup, 0)
210-
if err != nil {
211-
t.Fatal(err)
212-
}
202+
require.NoError(t, err)
203+
213204
fmt.Println("backup2 length:", backup.Len())
214205
db3, err := Open(getTestOptions(s3Path))
215-
if err != nil {
216-
t.Fatal(err)
217-
}
206+
require.NoError(t, err)
207+
208+
defer db3.Close()
218209

219210
err = db3.Load(&backup, 16)
220-
if err != nil {
221-
t.Fatal(err)
222-
}
211+
require.NoError(t, err)
223212

224213
for i := byte(1); i < N; i++ {
225214
err = db3.View(func(tx *Txn) error {
@@ -240,9 +229,8 @@ func TestBackupRestore2(t *testing.T) {
240229
}
241230
return nil
242231
})
243-
if err != nil {
244-
t.Fatal(err)
245-
}
232+
require.NoError(t, err)
233+
246234
}
247235

248236
}
@@ -310,9 +298,8 @@ func TestBackup(t *testing.T) {
310298
}
311299
t.Run("disk mode", func(t *testing.T) {
312300
tmpdir, err := ioutil.TempDir("", "badger-test")
313-
if err != nil {
314-
t.Fatal(err)
315-
}
301+
require.NoError(t, err)
302+
316303
defer removeDir(tmpdir)
317304
opt := DefaultOptions(filepath.Join(tmpdir, "backup0"))
318305
runBadgerTest(t, &opt, func(t *testing.T, db *DB) {
@@ -330,11 +317,9 @@ func TestBackup(t *testing.T) {
330317

331318
func TestBackupRestore3(t *testing.T) {
332319
var bb bytes.Buffer
333-
334320
tmpdir, err := ioutil.TempDir("", "badger-test")
335-
if err != nil {
336-
t.Fatal(err)
337-
}
321+
require.NoError(t, err)
322+
338323
defer removeDir(tmpdir)
339324

340325
N := 1000
@@ -343,10 +328,9 @@ func TestBackupRestore3(t *testing.T) {
343328
// backup
344329
{
345330
db1, err := Open(DefaultOptions(filepath.Join(tmpdir, "backup1")))
346-
if err != nil {
347-
t.Fatal(err)
348-
}
331+
require.NoError(t, err)
349332

333+
defer db1.Close()
350334
require.NoError(t, populateEntries(db1, entries))
351335

352336
_, err = db1.Backup(&bb, 0)
@@ -358,9 +342,9 @@ func TestBackupRestore3(t *testing.T) {
358342

359343
// restore
360344
db2, err := Open(DefaultOptions(filepath.Join(tmpdir, "restore1")))
361-
if err != nil {
362-
t.Fatal(err)
363-
}
345+
require.NoError(t, err)
346+
347+
defer db2.Close()
364348
require.NoError(t, db2.Load(&bb, 16))
365349

366350
// verify
@@ -390,9 +374,8 @@ func TestBackupRestore3(t *testing.T) {
390374

391375
func TestBackupLoadIncremental(t *testing.T) {
392376
tmpdir, err := ioutil.TempDir("", "badger-test")
393-
if err != nil {
394-
t.Fatal(err)
395-
}
377+
require.NoError(t, err)
378+
396379
defer removeDir(tmpdir)
397380

398381
N := 100
@@ -403,9 +386,9 @@ func TestBackupLoadIncremental(t *testing.T) {
403386
// backup
404387
{
405388
db1, err := Open(DefaultOptions(filepath.Join(tmpdir, "backup2")))
406-
if err != nil {
407-
t.Fatal(err)
408-
}
389+
require.NoError(t, err)
390+
391+
defer db1.Close()
409392

410393
require.NoError(t, populateEntries(db1, entries))
411394
since, err := db1.Backup(&bb, 0)
@@ -463,9 +446,10 @@ func TestBackupLoadIncremental(t *testing.T) {
463446

464447
// restore
465448
db2, err := Open(getTestOptions(filepath.Join(tmpdir, "restore2")))
466-
if err != nil {
467-
t.Fatal(err)
468-
}
449+
require.NoError(t, err)
450+
451+
defer db2.Close()
452+
469453
require.NoError(t, db2.Load(&bb, 16))
470454

471455
// verify

0 commit comments

Comments
 (0)