|
Revision tags: 1.23, 1.22, 1.21, v1.20 |
|
| #
a53934a3 |
| 01-Mar-2017 |
costan <[email protected]> |
Increase leveldb version to 1.20.
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=148937577
|
| #
f3f13973 |
| 01-Mar-2017 |
costan <[email protected]> |
Separate Env tests from PosixEnv tests.
env_test.cc defines EnvPosixTest which tests the Env implementation returned by Env::Default(). The naming is a bit unfortunate, as the tests in env_test.cc a
Separate Env tests from PosixEnv tests.
env_test.cc defines EnvPosixTest which tests the Env implementation returned by Env::Default(). The naming is a bit unfortunate, as the tests in env_test.cc are written against the Env contract, and therefore are applicable to any Env implementation. An instance of the confusion caused by the naming is [] which added a dependency from env_test.cc to EnvPosixTestHelper, which is closely coupled to EnvPosix.
This change disentangles EnvPosix-specific test code into a env_posix_test.cc file. The code there uses EnvPosixTestHelper and specifically targets the EnvPosix implementation. env_test.cc now implements EnvTest, and contains tests that are also applicable to other ports, which may define their own Env implementation.
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=148914642
show more ...
|
| #
ea175e28 |
| 27-Feb-2017 |
costan <[email protected]> |
Implement support for Intel crc32 instruction (SSE 4.2)
This change authored by vadimskipin and submitted via:
https://github.com/google/leveldb/pull/309
Changes made to support iOS builds and
Implement support for Intel crc32 instruction (SSE 4.2)
This change authored by vadimskipin and submitted via:
https://github.com/google/leveldb/pull/309
Changes made to support iOS builds and other architectures without support for SSE 4.2.
db_bench reports original crc32 speed at:
crc32c : 3.610 micros/op; 1082.0 MB/s (4K per op)
with this change performance has increased to:
crc32c : 0.843 micros/op; 4633.6 MB/s (4K per op)
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=148694935
show more ...
|
|
Revision tags: v1.19 |
|
| #
3080a45b |
| 11-Aug-2016 |
cmumford <[email protected]> |
Increase leveldb version to 1.19.
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=129930720
|
| #
adbe3eb0 |
| 29-Jan-2016 |
cmumford <[email protected]> |
Putting build artifacts in subdirectory.
1. Object files, libraries, and compiled executables are put into subdirectories. 2. The shared library is linked from individual object files. This pr
Putting build artifacts in subdirectory.
1. Object files, libraries, and compiled executables are put into subdirectories. 2. The shared library is linked from individual object files. This provides for greater parallelism on large desktops while at the same time making for easier builds on small (i.e. embedded) systems. Fixes issue #279. 3. One program, db_bench, is compiled using the shared library. 4. The source file for "leveldbutil" was renamed from leveldb_main.cc to leveldbutil.cc. This provides for simpler makefile rules. 5. Because all targets placed the library (libleveldb.a) at the top level, the last platform built (desktop/device) always overwrote any prior artifact. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=113407013
show more ...
|
| #
889de31a |
| 07-Oct-2015 |
ndmatthews <[email protected]> |
Let LevelDB use xcrun to determine Xcode.app path instead of using a hardcoded path.
This allows build agents to select from multiple Xcode installations. ------------- Created by MOE: https://githu
Let LevelDB use xcrun to determine Xcode.app path instead of using a hardcoded path.
This allows build agents to select from multiple Xcode installations. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=104859097
show more ...
|
| #
ac1d69da |
| 11-Dec-2014 |
Sanjay Ghemawat <[email protected]> |
LevelDB now attempts to reuse the preceding MANIFEST and log file when re-opened.
(Based on a suggestion by cmumford.)
"open" benchmark on my workstation speeds up significantly since we can now av
LevelDB now attempts to reuse the preceding MANIFEST and log file when re-opened.
(Based on a suggestion by cmumford.)
"open" benchmark on my workstation speeds up significantly since we can now avoid three fdatasync calls and a compaction per open:
Before: ~80000 microseconds After: ~130 microseconds
Details:
(1) Added Options::reuse_logs (currently defaults to false) to control new behavior. The intention is to change the default to true after some baking.
(2) Added Env::NewAppendableFile() whose default implementation returns a not-supported error.
(3) VersionSet::Recovery attempts to reuse the MANIFEST from which it is recovering.
(4) DBImpl recovery attempts to reuse the last log file and memtable.
(5) db_test.cc now tests a new configuration that sets reuse_logs to true.
(6) fault_injection_test also tests a reuse_logs==true config.
(7) Added a new recovery_test.
show more ...
|
| #
b234f65b |
| 11-Dec-2014 |
Chris Mumford <[email protected]> |
Added a new fault injection test.
This test is intended to ensure leveldb properly detects and recovers from faults - specifically unwritten file data lost as a result of a system reset.
|
|
Revision tags: v1.18 |
|
| #
803d6920 |
| 16-Sep-2014 |
Chris Mumford <[email protected]> |
Release 1.18
Changes are:
* Update version number to 1.18 * Replace the basic fprintf call with a call to fwrite in order to work around the apparent compiler optimization/rewrite failure that we
Release 1.18
Changes are:
* Update version number to 1.18 * Replace the basic fprintf call with a call to fwrite in order to work around the apparent compiler optimization/rewrite failure that we are seeing with the new toolchain/iOS SDKs provided with Xcode6 and iOS8. * Fix ALL the header guards. * Createed a README.md with the LevelDB project description. * A new CONTRIBUTING file. * Don't implicitly convert uint64_t to size_t or int. Either preserve it as uint64_t, or explicitly cast. This fixes MSVC warnings about possible value truncation when compiling this code in Chromium. * Added a DumpFile() library function that encapsulates the guts of the "leveldbutil dump" command. This will allow clients to dump data to their log files instead of stdout. It will also allow clients to supply their own environment. * leveldb: Remove unused function 'ConsumeChar'. * leveldbutil: Remove unused member variables from WriteBatchItemPrinter. * OpenBSD, NetBSD and DragonflyBSD have _LITTLE_ENDIAN, so define PLATFORM_IS_LITTLE_ENDIAN like on FreeBSD. This fixes: * issue #143 * issue #198 * issue #249 * Switch from <cstdatomic> to <atomic>. The former never made it into the standard and doesn't exist in modern gcc versions at all. The later contains everything that leveldb was using from the former. This problem was noticed when porting to Portable Native Client where no memory barrier is defined. The fact that <cstdatomic> is missing normally goes unnoticed since memory barriers are defined for most architectures. * Make Hash() treat its input as unsigned. Before this change LevelDB files from platforms with different signedness of char were not compatible. This change fixes: issue #243 * Verify checksums of index/meta/filter blocks when paranoid_checks set. * Invoke all tools for iOS with xcrun. (This was causing problems with the new XCode 5.1.1 image on pulse.) * include <sys/stat.h> only once, and fix the following linter warning: "Found C system header after C++ system header" * When encountering a corrupted table file, return Status::Corruption instead of Status::InvalidArgument. * Support cygwin as build platform, patch is from https://code.google.com/p/leveldb/issues/detail?id=188 * Fix typo, merge patch from https://code.google.com/p/leveldb/issues/detail?id=159 * Fix typos and comments, and address the following two issues: * issue #166 * issue #241 * Add missing db synchronize after "fillseq" in the benchmark. * Removed unused variable in SeekRandom: value (issue #201)
show more ...
|
|
Revision tags: v1.17 |
|
| #
e353fbc7 |
| 01-May-2014 |
Chris Mumford <[email protected]> |
Release LevelDB 1.17
- Cleanup: delete unused IntSetToString
It was added in http://cr/19491949 (and was referenced at the time). The last reference was removed in http://cr/19507363.
This f
Release LevelDB 1.17
- Cleanup: delete unused IntSetToString
It was added in http://cr/19491949 (and was referenced at the time). The last reference was removed in http://cr/19507363.
This fixes warning/error with pre-release crosstoolv18: 'std::string leveldb::{anonymous}::IntSetToString(const std::set<long unsigned int>&)' defined but not used [-Werror=unused-function]
- Added arm64 and and armv7s to IOS build as suggested on leveldb mailing list.
- Changed local variable type from int to size_t
This eliminates compiler warning/error and resolves https://code.google.com/p/leveldb/issues/detail?id=140
show more ...
|
|
Revision tags: v1.16 |
|
| #
269fc6ca |
| 10-Feb-2014 |
David Grogan <[email protected]> |
Release LevelDB 1.16
- Make Log::Reader not report a corruption when the last record in a log file is truncated. - Fix issue 224: variable created but not utilized. - Remove comment that reference
Release LevelDB 1.16
- Make Log::Reader not report a corruption when the last record in a log file is truncated. - Fix issue 224: variable created but not utilized. - Remove comment that referenced a removed feature.
show more ...
|
|
Revision tags: v1.15 |
|
| #
0cfb990d |
| 10-Dec-2013 |
David Grogan <[email protected]> |
Release LevelDB 1.15
- switched from mmap based writing to simpler stdio based writing. Has a minor impact (0.5 microseconds) on microbenchmarks for asynchronous writes. Synchronous writes speed
Release LevelDB 1.15
- switched from mmap based writing to simpler stdio based writing. Has a minor impact (0.5 microseconds) on microbenchmarks for asynchronous writes. Synchronous writes speed up from 30ms to 10ms on linux/ext4. Should be much more reliable on diverse platforms. - compaction errors now immediately put the database into a read-only mode (until it is re-opened). As a downside, a disk going out of space and then space being created will require a re-open to recover from, whereas previously that would happen automatically. On the plus side, many corruption possibilities go away. - force the DB to enter an error-state so that all future writes fail when a synchronous log write succeeds but the sync fails. - repair now regenerates sstables that exhibit problems - fix issue 218 - Use native memory barriers on OSX - fix issue 212 - QNX build is broken - fix build on iOS with xcode 5 - make tests compile and pass on windows
show more ...
|
|
Revision tags: v1.14 |
|
| #
0b9a89f4 |
| 19-Sep-2013 |
David Grogan <[email protected]> |
Release LevelDB 1.14
Fix issues 200, 201
Also, * Fix link to bigtable paper in docs. * New sstables will have the file extension .ldb. .sst files will continue to be recognized. * When building for
Release LevelDB 1.14
Fix issues 200, 201
Also, * Fix link to bigtable paper in docs. * New sstables will have the file extension .ldb. .sst files will continue to be recognized. * When building for iOS, use xcrun to execute the compiler. This may affect issue 177.
show more ...
|
|
Revision tags: v1.13 |
|
| #
748539c1 |
| 21-Aug-2013 |
David Grogan <[email protected]> |
LevelDB 1.13
Fix issues 77, 87, 182, 190.
Additionally, fix the bug described in https://groups.google.com/d/msg/leveldb/yL6h1mAOc20/vLU64RylIdMJ where a large contiguous keyspace of deleted data w
LevelDB 1.13
Fix issues 77, 87, 182, 190.
Additionally, fix the bug described in https://groups.google.com/d/msg/leveldb/yL6h1mAOc20/vLU64RylIdMJ where a large contiguous keyspace of deleted data was not getting compacted.
Also fix a bug where options.max_open_files was not getting clamped properly.
show more ...
|
|
Revision tags: v1.12 |
|
| #
5bd76dc1 |
| 18-Jun-2013 |
David Grogan <[email protected]> |
Release leveldb 1.12
Non-functional changes only: 1) Add Kevin Regan to the AUTHORS file 2) Add standard license header to issues/issue178_test.cc
|
|
Revision tags: v1.11 |
|
| #
7b094f12 |
| 13-Jun-2013 |
David Grogan <[email protected]> |
Release leveldb 1.11
Fixes issues 161 174 178
As well as the issue reported by [email protected] about MissingSSTFile unit test failing on windows.
|
|
Revision tags: v1.10 |
|
| #
28dad918 |
| 14-May-2013 |
David Grogan <[email protected]> |
Release leveldb 1.10
Fixes issues 147 - thanks feniksgordonfreeman 153 156 166
Additionally, * Remove calls to exit(1). * Fix unused-variable warnings from clang. * Fix possible overflow error rela
Release leveldb 1.10
Fixes issues 147 - thanks feniksgordonfreeman 153 156 166
Additionally, * Remove calls to exit(1). * Fix unused-variable warnings from clang. * Fix possible overflow error related to num_restart value >= (2^32/4). * Add leveldbutil to .gitignore. * Add better log messages when Write is stalled on a compaction.
show more ...
|
|
Revision tags: v1.9 |
|
| #
d84c825a |
| 07-Jan-2013 |
David Grogan <[email protected]> |
Fix corruption bug found and analyzed by [email protected]
https://groups.google.com/d/msg/leveldb/Kc9JxuIUu5A/9P0N9RL4ar8J
|
|
Revision tags: v1.8 |
|
| #
ea2e9195 |
| 27-Dec-2012 |
Sanjay Ghemawat <[email protected]> |
added utility to dump leveldb files
|
|
Revision tags: v1.7 |
|
| #
40768657 |
| 16-Oct-2012 |
Sanjay Ghemawat <[email protected]> |
Small fixes.
Details: * Fix shared library building. * Reorganize linking commands so flags like --as-needed can be passed. * C binding exports version numbers. * Fix small typos in documention.
|
|
Revision tags: v1.6 |
|
| #
946e5b5a |
| 12-Oct-2012 |
David Grogan <[email protected]> |
Update to leveldb 1.6
Highlights ---------- Mmap at most 1000 files on Posix to improve performance for large databases. Support for more architectures (thanks to Alexander K.)
Building and porting
Update to leveldb 1.6
Highlights ---------- Mmap at most 1000 files on Posix to improve performance for large databases. Support for more architectures (thanks to Alexander K.)
Building and porting -------------------- HP/UX support (issue 126) AtomicPointer for ia64 (issue 123) Sparc v9 support (issue 124) Atomic ops for powerpc Use -fno-builtin-memcmp only when using g++ Simplify IOS build rules (issue 114) Use CXXFLAGS instead of CFLAGS when invoking C++ compiler (issue 118) Fix snappy shared library problem (issue 94) Fix shared library installation path regression Endian-ness detection tweak for FreeBSD
Bug fixes --------- Stop ignoring FLAGS_open_files in db_bench Make bloom test behavior agnostic to endian-ness
Performance ----------- Limit number of mmapped files to 1000 to improve perf for large dbs Do not delay for 1 second on shutdown path (issue 125)
Misc ---- Make InMemoryEnv return a no-op logger C binding now has a wrapper for free (issue 117) Add thread-safety annotations Added an in-process lock table (issue 120) Make RandomAccessFile and SequentialFile non-copyable
show more ...
|
|
Revision tags: v1.5 |
|
| #
dd0d562b |
| 30-May-2012 |
Sanjay Ghemawat <[email protected]> |
update version number to 1.5
|
| #
075a35a6 |
| 30-May-2012 |
Sanjay Ghemawat <[email protected]> |
Remove static initializer; fix endian-ness detection; fix build on various platforms; improve android port speed.
Avoid static initializer by using a new portability interface for thread-safe lazy i
Remove static initializer; fix endian-ness detection; fix build on various platforms; improve android port speed.
Avoid static initializer by using a new portability interface for thread-safe lazy initialization. Custom ports will need to be extended to implement InitOnce/OnceType/LEVELDB_ONCE_INIT.
Fix endian-ness detection (fixes Powerpc builds).
Build related fixes: - Support platforms that have unversioned shared libraries. - Fix IOS build rules.
Android improvements - Speed up atomic pointers - Share more code with port_posix.
Do not spin in a tight loop attempting compactions if the file system is inaccessible (e.g., if kerberos tickets have expired or if it is out of space).
show more ...
|
|
Revision tags: v1.4 |
|
| #
85584d49 |
| 17-Apr-2012 |
Sanjay Ghemawat <[email protected]> |
Added bloom filter support.
In particular, we add a new FilterPolicy class. An instance of this class can be supplied in Options when opening a database. If supplied, the instance is used to gener
Added bloom filter support.
In particular, we add a new FilterPolicy class. An instance of this class can be supplied in Options when opening a database. If supplied, the instance is used to generate summaries of keys (e.g., a bloom filter) which are placed in sstables. These summaries are consulted by DB::Get() so we can avoid reading sstable blocks that are guaranteed to not contain the key we are looking for.
This change provides one implementation of FilterPolicy based on bloom filters.
Other changes: - Updated version number to 1.4. - Some build tweaks. - C binding for CompactRange. - A few more benchmarks: deleteseq, deleterandom, readmissing, seekrandom. - Minor .gitignore update.
show more ...
|
|
Revision tags: v1.3 |
|
| #
bc1ee4d2 |
| 30-Mar-2012 |
Sanjay Ghemawat <[email protected]> |
build shared libraries; updated version to 1.3; add Status accessors
|