Commit Graph

7330 Commits

Author SHA1 Message Date
e9e6ec3a2c Implement Key/Value on Iterator for GoLevelDB
This is needed because leveldb reuses the keys on each iteration.
In our wrapper, we copy the key/value so that it is safe to store.
2017-09-28 17:43:47 +02:00
219d4e8427 Add IteratorPrefix method to Iterator 2017-09-28 17:35:01 +02:00
296d223545 Add Release & Error methods to Iterator
We need this to properly support LevelDB backend, which needs
to be released if we don't want to leak memory.
2017-09-28 17:26:24 +02:00
f9479b34cb sleep time should be greater than readTimeout (5 sec)
otherwise, we're not testing ping/pongs.
see https://github.com/tendermint/tendermint/pull/687#issuecomment-332494735
2017-09-27 15:44:19 +04:00
8be8127351 db: fix MemDB.Close
Fixes https://github.com/tendermint/tmlibs/issues/55

MemDB previously mistakenly set the actual DB pointer to nil
although that side effect is not visible to the outside world
since p is an identifier within the scope of just that function
call. However, @melekes and I had a discussion in which we
came to the conclusion that Close for an in-memory DB should
instead be a noop and not cause any data loss. See the
discussion on https://github.com/tendermint/tmlibs/pull/56.
2017-09-26 15:29:51 -06:00
85e562004c tendermint 0.11.0 compatibility 2017-09-25 11:11:20 -04:00
925696ca65 Merge branch 'p2p-prune-unused-IPRangeCount-funcs' into develop 2017-09-22 21:09:41 -06:00
0418d32276 Merge branch 'doc-file-started' into develop 2017-09-22 20:46:10 -06:00
7682ad9a60 Merge pull request #675 from tendermint/release-v0.11.0
Release v0.11.0
v0.11.0
2017-09-22 13:48:52 -04:00
3e92d295e4 glide for tmlibs 0.3.1 2017-09-22 13:25:10 -04:00
9997e3a3b4 Merge pull request #54 from tendermint/develop
common: WriteFileAtomic use tempfile in current dir
2017-09-22 13:23:12 -04:00
35838b6af8 changeloge, version 2017-09-22 13:22:02 -04:00
3d98504c4c common: WriteFileAtomic use tempfile in current dir 2017-09-22 13:20:13 -04:00
2681f32bdd circle: add metalinter to test 2017-09-22 12:35:52 -04:00
661d336dd5 glide 2017-09-22 12:29:53 -04:00
3c57c24921 linting: next round of fixes 2017-09-22 12:14:27 -04:00
d1a00c684e types: comments 2017-09-22 12:00:37 -04:00
db034e079a version bump 2017-09-22 11:44:57 -04:00
7d983a548b changelog 2017-09-22 11:44:25 -04:00
8311f5c611 abci.Info takes a struct; less merkleeyes 2017-09-22 11:42:40 -04:00
d6e03d2368 linting: add to Makefile & do some fixes 2017-09-22 11:42:29 -04:00
191c4b6d17 Merge pull request #111 from tendermint/develop
Develop
2017-09-22 11:16:23 -04:00
88cb73d95a changelog 2017-09-22 11:16:09 -04:00
667c2543ea use request struct for Info 2017-09-22 11:10:55 -04:00
3d1fd4cefa Merge pull request #110 from tendermint/update-readme
readme: re-organize & update docs links
2017-09-22 10:45:59 -04:00
39b206f2c1 version bump, changelog, glide 2017-09-22 10:38:45 -04:00
311e8c1bf0 Merge pull request #30 from tendermint/develop
Develop
2017-09-22 10:29:28 -04:00
e6ea9499ff glide and changelog 2017-09-22 10:22:55 -04:00
628791e5a5 Merge pull request #665 from tendermint/no-internet
p2p: allow listener with no external connection
2017-09-22 10:16:50 -04:00
df857266b6 update glide 2017-09-22 10:14:05 -04:00
ddb3d8945d p2p: allow listener with no external connection 2017-09-22 10:13:23 -04:00
47d6f71e5a Makefile: remove redundant lint 2017-09-22 10:11:22 -04:00
96d2a2c92f readme: re-organize & update docs links 2017-09-22 10:10:56 -04:00
94d1b8d364 Merge pull request #109 from tendermint/metalinter
Metalinter
2017-09-22 09:52:15 -04:00
fe426de5d4 lint: couple more fixes 2017-09-22 09:45:50 -04:00
2130c329eb Merge pull request #46 from tendermint/develop
v0.3.0
2017-09-22 09:41:12 -04:00
bffe6744ec changelog 2017-09-22 09:38:58 -04:00
c3108f14c8 Merge pull request #52 from tendermint/573-wal-issues
call fsync after flush
2017-09-22 09:35:52 -04:00
a3ac825490 small fix 2017-09-22 09:14:45 -04:00
0e7d974410 install 2017-09-22 09:14:42 -04:00
65eb7e8974 linted, somewhat 2017-09-22 09:14:25 -04:00
36e96c5bf1 linting: catch some errors 2017-09-22 09:14:25 -04:00
6a378d30f3 linting: cover the basics 2017-09-22 09:14:25 -04:00
bd9f1d0d4c metalinter: add linter to Makefile like tendermint 2017-09-22 09:14:25 -04:00
7f5908b622 Merge pull request #637 from tendermint/feature/hsm
PrivValidator Interface
2017-09-22 00:28:40 -04:00
34e70090e6 Merge pull request #108 from tendermint/app-interface-upgrade
use request structs for InitChain and BeginBlock
2017-09-22 00:18:52 -04:00
318345f996 fix tests 2017-09-22 00:10:13 -04:00
24f7b9387a more tests 2017-09-22 00:05:39 -04:00
756818f940 fixes from review 2017-09-21 21:44:36 -04:00
d71d1394ec call fsync after flush (Refs #573)
short: flushing the bufio buffer is not enough to ensure data
consistency.

long:
Saving an entry to the WAL calls writeLine to append data to the
autofile group backing the WAL, then calls group.Flush() to flush that
data to persistent storage. group.Flush() in turn proxies to
headBuf.flush(), flushing the active bufio.BufferedWriter. However,
BufferedWriter wraps a Writer, not another BufferedWriter, and the way
it flushes is by calling io.Writer.Write() to clear the BufferedWriter's
buffer. The io.Writer we're wrapping here is AutoFile, whose Write
method calls os.File.Write(), performing an unbuffered write to the
operating system, where, I assume, it sits in the OS buffers awaiting
sync. This means that Wal.Save does not, in fact, ensure the saved
operation is synced to disk before returning.
2017-09-21 16:11:28 -07:00