]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/log
rocksdb.git
11 years agoupdate HISTORY.md rocksdb-3.5
Lei Jin [Wed, 3 Sep 2014 18:31:09 +0000 (11:31 -0700)]
update HISTORY.md

Summary: as title

Test Plan: no

Reviewers: igor, sdong

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D22761

11 years agocomments about the BlockBasedTableOptions migration in Options
Lei Jin [Tue, 2 Sep 2014 22:35:42 +0000 (15:35 -0700)]
comments about the BlockBasedTableOptions migration in Options

Summary: as title

Test Plan: none

Reviewers: sdong, igor

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D22737

11 years agocall SanitizeDBOptionsByCFOptions() in the right place v3.5
Lei Jin [Tue, 2 Sep 2014 21:42:23 +0000 (14:42 -0700)]
call SanitizeDBOptionsByCFOptions() in the right place

Summary: It only covers Open() with default column family right now

Test Plan: make release

Reviewers: igor, yhchiang, sdong

Reviewed By: sdong

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D22467

11 years agoIgnore missing column families
Igor Canadi [Tue, 2 Sep 2014 20:29:05 +0000 (13:29 -0700)]
Ignore missing column families

Summary:
Before this diff, whenever we Write to non-existing column family, Write() would fail.

This diff adds an option to not fail a Write() when WriteBatch points to non-existing column family. MongoDB said this would be useful for them, since they might have a transaction updating an index that was dropped by another thread. This way, they don't have to worry about checking if all indexes are alive on every write. They don't care if they lose writes to dropped index.

Test Plan: added a small unit test

Reviewers: sdong, yhchiang, ljin

Reviewed By: ljin

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D22143

11 years agoadd assert to db Put in db_stress test
Feng Zhu [Tue, 2 Sep 2014 20:21:59 +0000 (13:21 -0700)]
add assert to db Put in db_stress test

Summary:
1. assert db->Put to be true in db_stress
2. begin column family with name "1".

Test Plan: 1. ./db_stress

Reviewers: ljin, yhchiang, dhruba, sdong, igor

Reviewed By: sdong, igor

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D22659

11 years agoMerge pull request #242 from tdfischer/perf-timer-destructors
Igor Canadi [Tue, 2 Sep 2014 20:06:40 +0000 (13:06 -0700)]
Merge pull request #242 from tdfischer/perf-timer-destructors

Refactor PerfStepTimer to automatically stop on destruct

11 years agofix dropping column family bug
Feng Zhu [Tue, 2 Sep 2014 19:25:58 +0000 (12:25 -0700)]
fix dropping column family bug

Summary: 1. db/db_impl.cc:2324 (DBImpl::BackgroundCompaction) should not raise bg_error_ when column family is dropped during compaction.

Test Plan: 1. db_stress

Reviewers: ljin, yhchiang, dhruba, igor, sdong

Reviewed By: igor

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D22653

11 years agoRefactor PerfStepTimer to stop on destruct
Torrie Fischer [Fri, 22 Aug 2014 22:28:58 +0000 (15:28 -0700)]
Refactor PerfStepTimer to stop on destruct

This eliminates the need to remember to call PERF_TIMER_STOP when a section has
been timed. This allows more useful design with the perf timers and enables
possible return value optimizations. Simplistic example:

class Foo {
  public:
    Foo(int v) : m_v(v);
  private:
    int m_v;
}

Foo makeFrobbedFoo(int *errno)
{
  *errno = 0;
  return Foo();
}

Foo bar(int *errno)
{
  PERF_TIMER_GUARD(some_timer);

  return makeFrobbedFoo(errno);
}

int main(int argc, char[] argv)
{
  Foo f;
  int errno;

  f = bar(&errno);

  if (errno)
    return -1;
  return 0;
}

After bar() is called, perf_context.some_timer would be incremented as if
Stop(&perf_context.some_timer) was called at the end, and the compiler is still
able to produce optimizations on the return value from makeFrobbedFoo() through
to main().

11 years agoFix compile
Igor Canadi [Tue, 2 Sep 2014 18:49:38 +0000 (11:49 -0700)]
Fix compile

Summary: gcc on our dev boxes is not happy about __attribute__((unused))

Test Plan: compiles now

Reviewers: sdong, ljin

Reviewed By: ljin

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D22707

11 years agoFix ios compile
Igor Canadi [Tue, 2 Sep 2014 17:50:15 +0000 (10:50 -0700)]
Fix ios compile

Summary: We need to set contbuild for this :)

Test Plan: compiles

Reviewers: sdong, yhchiang, ljin

Reviewed By: ljin

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D22701

11 years agoDon't let flush preempt compaction in certain cases
Igor Canadi [Tue, 2 Sep 2014 15:34:54 +0000 (08:34 -0700)]
Don't let flush preempt compaction in certain cases

Summary:
I have an application configured with 16 background threads. Write rates are high. L0->L1 compactions is very slow and it limits the concurrency of the system. While it's happening, other 15 threads are idle. However, when there is a need of a flush, that one thread busy with L0->L1 is doing flush, instead of any other 15 threads that are just sitting there.

This diff prevents that. If there are threads that are idle, we don't let flush preempt compaction.

Test Plan: Will run stress test

Reviewers: ljin, sdong, yhchiang

Reviewed By: sdong, yhchiang

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D22299

11 years agoMerge pull request #251 from nbougalis/master
Igor Canadi [Sun, 31 Aug 2014 20:05:06 +0000 (16:05 -0400)]
Merge pull request #251 from nbougalis/master

Fix candidate file comparison when using path ids

11 years agoFix candidate file comparison when using path ids
Nik Bougalis [Sun, 31 Aug 2014 07:54:15 +0000 (00:54 -0700)]
Fix candidate file comparison when using path ids

11 years agolimit max bytes that can be read/written per pread/write syscall
Lei Jin [Sat, 30 Aug 2014 04:21:49 +0000 (21:21 -0700)]
limit max bytes that can be read/written per pread/write syscall

Summary:
BlockBasedTable sst file size can grow to a large size when universal
compaction is used. When index block exceeds 2G, pread seems to fail and
return truncated data and causes "trucated block" error. I tried to use
```
  #define _FILE_OFFSET_BITS 64
```
But the problem still persists. Splitting a big write/read into smaller
batches seems to solve the problem.

Test Plan:
successfully compacted a case with resulting sst file at ~90G (2.1G
index block size)

Reviewers: yhchiang, igor, sdong

Reviewed By: sdong

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D22569

11 years agoCompact SpatialDB as we go, not at the end
Igor Canadi [Thu, 28 Aug 2014 14:27:26 +0000 (07:27 -0700)]
Compact SpatialDB as we go, not at the end

11 years agoImplementing a cache friendly version of Cuckoo Hash
Radheshyam Balasundaram [Thu, 28 Aug 2014 17:42:23 +0000 (10:42 -0700)]
Implementing a cache friendly version of Cuckoo Hash

Summary: This implements a cache friendly version of Cuckoo Hash in which, in case of collission, we try to insert in next few locations. The size of the neighborhood to check is taken as an input parameter in builder and stored in the table.

Test Plan:
make check all
cuckoo_table_{db,reader,builder}_test

Reviewers: sdong, ljin

Reviewed By: ljin

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D22455

11 years agoDon't let other compactions run when manual compaction runs
Igor Canadi [Thu, 28 Aug 2014 17:06:28 +0000 (13:06 -0400)]
Don't let other compactions run when manual compaction runs

Summary:
Based on discussions from t4982833. This is just a short-term fix, I plan to revamp manual compaction process as part of t4982812.

Also, I think we should schedule automatic compactions at the very end of manual compactions, not when we're done with one level. I made that change as part of this diff. Let me know if you disagree.

Test Plan: make check for now

Reviewers: sdong, tnovak, yhchiang, ljin

Reviewed By: yhchiang

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D22401

11 years agoFix ios compile
Igor Canadi [Thu, 28 Aug 2014 16:46:05 +0000 (12:46 -0400)]
Fix ios compile

Summary: No __thread for ios.

Test Plan: compile works for ios now

Reviewers: ljin, dhruba

Reviewed By: dhruba

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D22491

11 years agoMerge pull request #248 from wankai/master
Igor Canadi [Thu, 28 Aug 2014 13:42:31 +0000 (09:42 -0400)]
Merge pull request #248 from wankai/master

BlockBuilder typo improvement