1. 07 2月, 2014 5 次提交
  2. 06 2月, 2014 3 次提交
  3. 05 2月, 2014 1 次提交
  4. 04 2月, 2014 5 次提交
  5. 03 2月, 2014 2 次提交
  6. 01 2月, 2014 3 次提交
    • D
      Fix corruption_test failure caused by auto-enablement of checksum verification. · 30a70065
      Dhruba Borthakur 提交于
      Summary:
      Patch  https://reviews.facebook.net/D15591 enabled checksum
      verification by default. This caused the unit test to fail.
      
      Test Plan: ./corruption_test
      
      Reviewers: igor, kailiu
      
      Reviewed By: igor
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15795
      30a70065
    • I
      Mark the log_number file number used · dbbffbd7
      Igor Canadi 提交于
      Summary:
      VersionSet::next_file_number_ is always assumed to be strictly greater than VersionSet::log_number_. In our new recovery code, we artificially set log_number_  to be (log_number + 1), so that once we flush, we don't recover from the same log file again (this is important because of merge operator non-idempotence)
      
      When we set VersionSet::log_number_ to (log_number + 1), we also have to mark that file number used, such that next_file_number_ is increased to a legal level. Otherwise, VersionSet might assert.
      
      This has not be a problem so far because here's what happens:
      1. assume next_file_number is 5, we're recovering log_number 10
      2. in DBImpl::Recover() we call MarkFileNumberUsed with 10. This will set VersionSet::next_file_number_ to 11.
      3. If there are some updates, we will call WriteTable0ForRecovery(), which will use file number 11 as a new table file and advance VersionSet::next_file_number_ to 12.
      4. When we LogAndApply() with log_number 11, assertion is true: assert(11 <= 12);
      
      However, this was a lucky occurrence. Even though this diff doesn't cause a bug, I think the issue is important to fix.
      
      Test Plan: In column families I have different recovery logic and this code path asserted. When adding MarkFileNumberUsed(log_number + 1) assert is gone.
      
      Reviewers: dhruba, kailiu
      
      Reviewed By: kailiu
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15783
      dbbffbd7
    • S
      When using Universal Compaction, Zero out seqID in the last file too · 56bea9f8
      Siying Dong 提交于
      Summary: I didn't figure out the reason why the feature of zeroing out earlier sequence ID is disabled in universal compaction. I do see bottommost_level is set correctly. It should simply work if we remove the constraint of universal compaction.
      
      Test Plan: make all check
      
      Reviewers: haobo, dhruba, kailiu, igor
      
      Reviewed By: dhruba
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15423
      56bea9f8
  7. 31 1月, 2014 3 次提交
  8. 30 1月, 2014 10 次提交
    • Y
      Allow command line tool sst-dump to display table properties. · a46ac921
      Yueh-Hsuan Chiang 提交于
      Summary:
      Add option '--show_properties' to sst_dump tool to allow displaying
      property block of the specified files.
      
      Test Plan:
      Run sst_dump with the following arguments, which covers cases affected by
      this diff:
      
        1. with only --file
        2. with both --file and --show_properties
        3. with --file, --show_properties, and --from
      
      Reviewers: kailiu, xjin
      
      Differential Revision: https://reviews.facebook.net/D15453
      a46ac921
    • I
      InternalStatistics · 3c0dcf0e
      Igor Canadi 提交于
      Summary:
      In DBImpl we keep track of some statistics internally and expose them via GetProperty(). This diff encapsulates all the internal statistics into a class InternalStatisics. Most of it is copy/paste.
      
      Apart from cleaning up db_impl.cc, this diff is also necessary for Column families, since every column family should have its own CompactionStats, MakeRoomForWrite-stall stats, etc. It's much easier to keep track of it in every column family if it's nicely encapsulated in its own class.
      
      Test Plan: make check
      
      Reviewers: dhruba, kailiu, haobo, sdong, emayanke
      
      Reviewed By: haobo
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15273
      3c0dcf0e
    • K
      Remove unused classes · 3170abd2
      kailiu 提交于
      Summary: This is a followup diff for https://reviews.facebook.net/D15447, which picks the most simple task: delete some unused memtable reps.
      
      Test Plan: make
      
      Reviewers: haobo, dhruba
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15585
      3170abd2
    • L
      set bg_error_ when background flush goes wrong · d118707f
      Lei Jin 提交于
      Summary: as title
      
      Test Plan: unit test
      
      Reviewers: haobo, igor, sdong, kailiu, dhruba
      
      Reviewed By: dhruba
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15435
      d118707f
    • L
      convert Tickers back to array with padding and alignment · fb84c49a
      Lei Jin 提交于
      Summary:
      Pad each Ticker structure to be 64 bytes and make them align on 64 bytes
      boundary to avoid cache line false sharing issue.
      Please refer to task 3615553 for more details
      
      Test Plan:
      db_bench
      
      LevelDB:    version 2.0s
      Date:       Wed Jan 29 12:23:17 2014
      CPU:        32 * Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz
      CPUCache:   20480 KB
      rocksdb.build.overwrite.qps 49638
      rocksdb.build.overwrite.p50_micros 58.73
      rocksdb.build.overwrite.p75_micros 210.56
      rocksdb.build.overwrite.p99_micros 733.28
      rocksdb.build.fillseq.qps 366729
      rocksdb.build.fillseq.p50_micros 1.00
      rocksdb.build.fillseq.p75_micros 1.00
      rocksdb.build.fillseq.p99_micros 2.65
      rocksdb.build.readrandom.qps 1152995
      rocksdb.build.readrandom.p50_micros 11.27
      rocksdb.build.readrandom.p75_micros 15.69
      rocksdb.build.readrandom.p99_micros 33.59
      rocksdb.build.readrandom_smallblockcache.qps 956047
      rocksdb.build.readrandom_smallblockcache.p50_micros 15.23
      rocksdb.build.readrandom_smallblockcache.p75_micros 17.31
      rocksdb.build.readrandom_smallblockcache.p99_micros 31.49
      rocksdb.build.readrandom_memtable_sst.qps 1105183
      rocksdb.build.readrandom_memtable_sst.p50_micros 12.04
      rocksdb.build.readrandom_memtable_sst.p75_micros 15.78
      rocksdb.build.readrandom_memtable_sst.p99_micros 32.49
      rocksdb.build.readrandom_fillunique_random.qps 487856
      rocksdb.build.readrandom_fillunique_random.p50_micros 29.65
      rocksdb.build.readrandom_fillunique_random.p75_micros 40.93
      rocksdb.build.readrandom_fillunique_random.p99_micros 78.68
      rocksdb.build.memtablefillrandom.qps 91304
      rocksdb.build.memtablefillrandom.p50_micros 171.05
      rocksdb.build.memtablefillrandom.p75_micros 196.12
      rocksdb.build.memtablefillrandom.p99_micros 291.73
      rocksdb.build.memtablereadrandom.qps 1340411
      rocksdb.build.memtablereadrandom.p50_micros 9.48
      rocksdb.build.memtablereadrandom.p75_micros 13.95
      rocksdb.build.memtablereadrandom.p99_micros 30.36
      rocksdb.build.readwhilewriting.qps 491004
      rocksdb.build.readwhilewriting.p50_micros 29.58
      rocksdb.build.readwhilewriting.p75_micros 40.34
      rocksdb.build.readwhilewriting.p99_micros 76.78
      
      Reviewers: igor, haobo
      
      Reviewed By: igor
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15573
      fb84c49a
    • K
      LIBNAME in Makefile is not really configurable · b7db2411
      Kai Liu 提交于
      Summary:
      In new third-party release tool, `LIBNAME=<customized_library> make`
      will not really change the LIBNAME.
      
      However it's very odd that the same approach works with old third-party
      release tools. I checked previous rocksdb version and both librocksdb.a
      and librocksdb_debug.a were correctly generated and copied to the
      right place.
      
      Test Plan:
      `LIBNAME=hello make -j32` generates hello.a
      `make -j32` generates librocksdb.a
      
      Reviewers: igor, sdong, haobo, dhruba
      
      Reviewed By: igor
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15555
      b7db2411
    • K
      Canonicalize "RocksDB" in make_new_version.sh · b1874af8
      kailiu 提交于
      Summary: Change all occurrences of "rocksdb" to its canonical form "RocksDB".
      
      Test Plan: N/A
      
      Reviewers: igor
      
      Reviewed By: igor
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15549
      b1874af8
    • K
      Improve make_new_version.sh · c9eef784
      kailiu 提交于
      c9eef784
    • I
      Installation instructions for CentOS · 9a597dc6
      Igor Canadi 提交于
      9a597dc6
    • I
      add include <atomic> to version_set.h · e57f0cc1
      Igor Canadi 提交于
      e57f0cc1
  9. 29 1月, 2014 7 次提交
    • K
      Add history log and revise script · 9fe60d50
      kailiu 提交于
      Summary:
      * Add a change log for rocksdb releases.
      * Remove the hacky parts of make_new_version.sh, which are either
        no longer useful or will be done in our dedicated 3rd-party release
        tool.
      
      Test Plan: N/A
      
      Reviewers: igor, haobo, sdong, dhruba
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15543
      9fe60d50
    • L
      only corrupt private file checksum in backupable_db_test · 9a126ba3
      Lei Jin 提交于
      Summary:
      if it happens (randomly) to corrupt shared file in the test, then the
          checksum will be inconsistent between meta files from different backup.
          BackupEngine will then detect this issue and fail. But in reality, this
          does not happen since the checksum is checked on every backup. So here,
          only corrupt checksum of private file to let BackupEngine to construct
          properly (but fail during restore).
      
      Test Plan: run test with valgrind
      
      Reviewers: igor
      
      Reviewed By: igor
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15531
      9a126ba3
    • I
      Only get the manifest file size if there is no error · 5d2c6282
      Igor Canadi 提交于
      Summary:
      I came across this while working on column families. CorruptionTest::RecoverWriteError threw a SIGSEG because the descriptor_log_->file() was nullptr. I'm not sure why it doesn't happen in master, but better safe than sorry.
      
      @kailiu, can we get this in release, too?
      
      Test Plan: make check
      
      Reviewers: kailiu, dhruba, haobo
      
      Reviewed By: haobo
      
      CC: leveldb, kailiu
      
      Differential Revision: https://reviews.facebook.net/D15513
      5d2c6282
    • I
      Better interface to create BackupEngine · e5ec7384
      Igor Canadi 提交于
      Summary: I think it looks nicer. In RocksDB we have both styles, but I think that static method is the more common version.
      
      Test Plan: backupable_db_test
      
      Reviewers: ljin, benj, swk
      
      Reviewed By: ljin
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15519
      e5ec7384
    • I
      Export BackupEngine · ec2fa4a6
      Igor Canadi 提交于
      Summary:
      Lots of clients have problems with using StackableDB interface. It's nice to have BackupableDB as a layer on top of DB, but not necessary.
      
      This diff exports BackupEngine, which can be used to create backups without forcing clients to use StackableDB interface.
      
      Test Plan: backupable_db_test
      
      Reviewers: dhruba, ljin, swk
      
      Reviewed By: ljin
      
      CC: leveldb, benj
      
      Differential Revision: https://reviews.facebook.net/D15477
      ec2fa4a6
    • K
      Merge branch 'master' into performance · a5e220f5
      kailiu 提交于
      Conflicts:
      	Makefile
      	db/db_impl.cc
      	db/db_test.cc
      	db/memtable_list.cc
      	db/memtable_list.h
      	table/block_based_table_reader.cc
      	table/table_test.cc
      	util/cache.cc
      	util/coding.cc
      a5e220f5
    • L
      add checksum for backup files · 9dc29414
      Lei Jin 提交于
      Summary: Keep checksum of each backuped file in meta file. When it restores these files, compute their checksum on the fly and compare against what is in the meta file. Fail the restore process if checksum mismatch.
      
      Test Plan: unit test
      
      Reviewers: haobo, igor, sdong, kailiu
      
      Reviewed By: igor
      
      CC: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D15381
      9dc29414
  10. 28 1月, 2014 1 次提交
    • M
      Update monitoring to include average time per compaction and stall · 90f29ccb
      Mark Callaghan 提交于
      Summary:
      The new columns are msComp and msStall that provide average time per compaction and stall for that level in milliseconds.
      Level  Files Size(MB) Score Time(sec)  Read(MB) Write(MB)    Rn(MB)  Rnp1(MB)  Wnew(MB) RW-Amplify Read(MB/s) Write(MB/s)      Rn     Rnp1     Wnp1     NewW    Count   msComp   msStall  Ln-stall Stall-cnt
      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        0        8       15   1.5         2         0        30         0         0        30        0.0       0.0        15.5        0        0        0        0       16      112       0.2       1.3      7568
        1        8       16   1.6         1        26        26        15        11        16        3.5      17.6        18.1        8        6       13        7        3      362       0.0       0.0         0
        2        1        2   0.0         0         0         2         0         0         2        0.0       0.0        18.4        0        0        0        0        1       50       0.0       0.0         0
      
      Task ID: #
      
      Blame Rev:
      
      Test Plan:
      run db_bench
      
      Revert Plan:
      
      Database Impact:
      
      Memcache Impact:
      
      Other Notes:
      
      EImportant:
      
      - begin *PUBLIC* platform impact section -
      Bugzilla: #
      - end platform impact -
      
      Reviewers: haobo
      
      Reviewed By: haobo
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15345
      90f29ccb