Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add missing commits to release/v2.0 branch #1245

Merged
merged 24 commits into from
Mar 6, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
3a26e13
Cast sz to uint32 to fix compilation on 32 bit (#1175)
paralin Dec 28, 2019
ec89947
Fix commit sha for WithInMemory in CHANGELOG. (#1172)
lgalatin Jan 2, 2020
c66c7a4
Fix windows build (#1177)
Jan 7, 2020
6ee3f53
Fix checkOverlap in compaction (#1166)
Jan 8, 2020
6bc367f
Remove the 'this entry should've caught' log from value.go (#1170)
Jan 8, 2020
3dc7f27
Avoid sync in inmemory mode (#1190)
Jan 14, 2020
6ca2395
Use fastRand instead of locked-rand in skiplist (#1173)
Jan 14, 2020
5a48ef2
Add Jaegar to list of projects (#1192)
Jan 14, 2020
97f4385
Run all tests on CI (#1189)
Jan 15, 2020
dd10ad9
Improve write stalling on level 0 and 1
Jan 15, 2020
b70fcaf
Update ristretto to version 8f368f2 (#1195)
Jan 16, 2020
c60978f
Support disabling the cache completely. (#1183) (#1185)
damz Jan 16, 2020
4ce9579
Fix L0/L1 stall test (#1201)
Jan 20, 2020
c537016
Disable compression and set ZSTD Compression Level to 1 (#1191)
Jan 20, 2020
8be00d0
Add support for caching bloomfilters (#1204)
Jan 27, 2020
76aef51
Rework concurrency semantics of valueLog.maxFid (#1184) (#1187)
damz Jan 27, 2020
bab35b6
Change else-if statements to idiomatic switch statements. (#1207)
martinmr Jan 31, 2020
89cd944
Fix flaky TestPageBufferReader2 test (#1210)
Feb 5, 2020
3c8f197
Replace t.Fatal with require.NoError in tests (#1213)
Feb 10, 2020
aa1f471
Add missing package to README for badger.NewEntry (#1223)
Dieterbe Feb 24, 2020
a2bc3b9
Remove ExampleDB_Subscribe Test (#1214)
Feb 24, 2020
d54209a
Fix int overflow for 32bit (#1216)
vardhanapoorv Feb 24, 2020
eda07d6
Update CHANGELOG for Badger 2.0.2 release. (#1230)
lgalatin Feb 26, 2020
983e3d1
Fix changelog for v2.0.2
Mar 2, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 22 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,38 @@
language: go

go:
- "1.11"
- "1.12"
- "1.13"
- tip
- "1.11"
- "1.12"
- "1.13"
- tip
os:
- osx

- osx
env:
jobs:
- GOARCH=386
- GOARCH=amd64
global:
- secure: CRkV2+/jlO0gXzzS50XGxfMS117FNwiVjxNY/LeWq06RKD+dDCPxTJl3JCNe3l0cYEPAglV2uMMYukDiTqJ7e+HI4nh4N4mv6lwx39N8dAvJe1x5ITS2T4qk4kTjuQb1Q1vw/ZOxoQqmvNKj2uRmBdJ/HHmysbRJ1OzCWML3OXdUwJf0AYlJzTjpMfkOKr7sTtE4rwyyQtd4tKH1fGdurgI9ZuFd9qvYxK2qcJhsQ6CNqMXt+7FkVkN1rIPmofjjBTNryzUr4COFXuWH95aDAif19DeBW4lbNgo1+FpDsrgmqtuhl6NAuptI8q/imow2KXBYJ8JPXsxW8DVFj0IIp0RCd3GjaEnwBEbxAyiIHLfW7AudyTS/dJOvZffPqXnuJ8xj3OPIdNe4xY0hWl8Ju2HhKfLOAHq7VadHZWd3IHLil70EiL4/JLD1rNbMImUZisFaA8pyrcIvYYebjOnk4TscwKFLedClRSX1XsMjWWd0oykQtrdkHM2IxknnBpaLu7mFnfE07f6dkG0nlpyu4SCLey7hr5FdcEmljA0nIxTSYDg6035fQkBEAbe7hlESOekkVNT9IZPwG+lmt3vU4ofi6NqNbJecOuSB+h36IiZ9s4YQtxYNnLgW14zjuFGGyT5smc3IjBT7qngDjKIgyrSVoRkY/8udy9qbUgvBeW8=


jobs:
allow_failures:
- go: tip
exclude:
# Exclude builds for 386 architecture on go 1.11, 1.12 and tip
# Since we don't want it to run for 32 bit
- go: "1.11"
env: GOARCH=386
- go: "1.12"
env: GOARCH=386
- go: tip
env: GOARCH=386

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

env:
global:
- secure: CRkV2+/jlO0gXzzS50XGxfMS117FNwiVjxNY/LeWq06RKD+dDCPxTJl3JCNe3l0cYEPAglV2uMMYukDiTqJ7e+HI4nh4N4mv6lwx39N8dAvJe1x5ITS2T4qk4kTjuQb1Q1vw/ZOxoQqmvNKj2uRmBdJ/HHmysbRJ1OzCWML3OXdUwJf0AYlJzTjpMfkOKr7sTtE4rwyyQtd4tKH1fGdurgI9ZuFd9qvYxK2qcJhsQ6CNqMXt+7FkVkN1rIPmofjjBTNryzUr4COFXuWH95aDAif19DeBW4lbNgo1+FpDsrgmqtuhl6NAuptI8q/imow2KXBYJ8JPXsxW8DVFj0IIp0RCd3GjaEnwBEbxAyiIHLfW7AudyTS/dJOvZffPqXnuJ8xj3OPIdNe4xY0hWl8Ju2HhKfLOAHq7VadHZWd3IHLil70EiL4/JLD1rNbMImUZisFaA8pyrcIvYYebjOnk4TscwKFLedClRSX1XsMjWWd0oykQtrdkHM2IxknnBpaLu7mFnfE07f6dkG0nlpyu4SCLey7hr5FdcEmljA0nIxTSYDg6035fQkBEAbe7hlESOekkVNT9IZPwG+lmt3vU4ofi6NqNbJecOuSB+h36IiZ9s4YQtxYNnLgW14zjuFGGyT5smc3IjBT7qngDjKIgyrSVoRkY/8udy9qbUgvBeW8=

before_script:
- go get github.com/mattn/goveralls
script:
Expand Down
23 changes: 21 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,31 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Serialization Versioning](VERSIONING.md).

## [2.0.2] - 2020-02-26

### Fixed

- Cast sz to uint32 to fix compilation on 32 bit. (#1175)
- Fix checkOverlap in compaction. (#1166)
- Avoid sync in inmemory mode. (#1190)
- Support disabling the cache completely. (#1185)
- Add support for caching bloomfilters. (#1204)
- Fix int overflow for 32bit. (#1216)
- Remove the 'this entry should've caught' log from value.go. (#1170)
- Rework concurrency semantics of valueLog.maxFid. (#1187)

### Performance

- Use fastRand instead of locked-rand in skiplist. (#1173)
- Improve write stalling on level 0 and 1. (#1186)
- Disable compression and set ZSTD Compression Level to 1. (#1191)

## [2.0.1] - 2020-01-02

### New APIs

- badger.Options
- WithInMemory (5b6321)
- WithInMemory (f5b6321)
- WithZSTDCompressionLevel (3eb4e72)

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

[Unreleased]: https://github.com/dgraph-io/badger/compare/v2.0.1...HEAD
[2.0.2]: https://github.com/dgraph-io/badger/compare/v2.0.1...v2.0.2
[2.0.1]: https://github.com/dgraph-io/badger/compare/v2.0.0...v2.0.1
[2.0.0]: https://github.com/dgraph-io/badger/compare/v1.6.0...v2.0.0
[1.6.0]: https://github.com/dgraph-io/badger/compare/v1.5.5...v1.6.0
Expand Down
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ on it.

```go
err := db.Update(func(txn *badger.Txn) error {
e := NewEntry([]byte("answer"), []byte("42"))
e := badger.NewEntry([]byte("answer"), []byte("42"))
err := txn.SetEntry(e)
return err
})
Expand Down Expand Up @@ -401,7 +401,7 @@ and `Txn.SetEntry()` API methods.

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

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

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

* [0-stor](https://github.com/zero-os/0-stor) - Single device object store.
* [Dgraph](https://github.com/dgraph-io/dgraph) - Distributed graph database.
* [Jaeger](https://github.com/jaegertracing/jaeger) - Distributed tracing platform.
* [TalariaDB](https://github.com/grab/talaria) - Distributed, low latency time-series database.
* [Dispatch Protocol](https://github.com/dispatchlabs/disgo) - Blockchain protocol for distributed application data analytics.
* [Sandglass](https://github.com/celrenheit/sandglass) - distributed, horizontally scalable, persistent, time sorted message queue.
Expand Down
106 changes: 45 additions & 61 deletions backup_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,19 +116,18 @@ func TestBackupRestore1(t *testing.T) {

func TestBackupRestore2(t *testing.T) {
tmpdir, err := ioutil.TempDir("", "badger-test")
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

defer removeDir(tmpdir)

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

db1, err := Open(getTestOptions(s1Path))
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

defer db1.Close()
key1 := []byte("key1")
key2 := []byte("key2")
rawValue := []byte("NotLongValue")
Expand All @@ -139,35 +138,30 @@ func TestBackupRestore2(t *testing.T) {
}
return tx.SetEntry(NewEntry(key2, rawValue))
})
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

for i := byte(1); i < N; i++ {
err = db1.Update(func(tx *Txn) error {
if err := tx.SetEntry(NewEntry(append(key1, i), rawValue)); err != nil {
return err
}
return tx.SetEntry(NewEntry(append(key2, i), rawValue))
})
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

}
var backup bytes.Buffer
_, err = db1.Backup(&backup, 0)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

fmt.Println("backup1 length:", backup.Len())

db2, err := Open(getTestOptions(s2Path))
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

defer db2.Close()
err = db2.Load(&backup, 16)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

for i := byte(1); i < N; i++ {
err = db2.View(func(tx *Txn) error {
Expand All @@ -188,9 +182,8 @@ func TestBackupRestore2(t *testing.T) {
}
return nil
})
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

}

for i := byte(1); i < N; i++ {
Expand All @@ -200,26 +193,22 @@ func TestBackupRestore2(t *testing.T) {
}
return tx.SetEntry(NewEntry(append(key2, i), rawValue))
})
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

}

backup.Reset()
_, err = db2.Backup(&backup, 0)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

fmt.Println("backup2 length:", backup.Len())
db3, err := Open(getTestOptions(s3Path))
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

defer db3.Close()

err = db3.Load(&backup, 16)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

for i := byte(1); i < N; i++ {
err = db3.View(func(tx *Txn) error {
Expand All @@ -240,9 +229,8 @@ func TestBackupRestore2(t *testing.T) {
}
return nil
})
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

}

}
Expand Down Expand Up @@ -310,9 +298,8 @@ func TestBackup(t *testing.T) {
}
t.Run("disk mode", func(t *testing.T) {
tmpdir, err := ioutil.TempDir("", "badger-test")
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

defer removeDir(tmpdir)
opt := DefaultOptions(filepath.Join(tmpdir, "backup0"))
runBadgerTest(t, &opt, func(t *testing.T, db *DB) {
Expand All @@ -330,11 +317,9 @@ func TestBackup(t *testing.T) {

func TestBackupRestore3(t *testing.T) {
var bb bytes.Buffer

tmpdir, err := ioutil.TempDir("", "badger-test")
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

defer removeDir(tmpdir)

N := 1000
Expand All @@ -343,10 +328,9 @@ func TestBackupRestore3(t *testing.T) {
// backup
{
db1, err := Open(DefaultOptions(filepath.Join(tmpdir, "backup1")))
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

defer db1.Close()
require.NoError(t, populateEntries(db1, entries))

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

// restore
db2, err := Open(DefaultOptions(filepath.Join(tmpdir, "restore1")))
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

defer db2.Close()
require.NoError(t, db2.Load(&bb, 16))

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

func TestBackupLoadIncremental(t *testing.T) {
tmpdir, err := ioutil.TempDir("", "badger-test")
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

defer removeDir(tmpdir)

N := 100
Expand All @@ -403,9 +386,9 @@ func TestBackupLoadIncremental(t *testing.T) {
// backup
{
db1, err := Open(DefaultOptions(filepath.Join(tmpdir, "backup2")))
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

defer db1.Close()

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

// restore
db2, err := Open(getTestOptions(filepath.Join(tmpdir, "restore2")))
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

defer db2.Close()

require.NoError(t, db2.Load(&bb, 16))

// verify
Expand Down
Loading