1. 01 10月, 2014 18 次提交
  2. 30 9月, 2014 16 次提交
    • D
      cuckoo_table_db_test.cc: add flush after delete · 7506198d
      Danny Al-Gaaf 提交于
      It seems that a FlushMemTable() call is needed in the
      Uint64Comparator test after call Delete(). Otherwise the later
      via Put() added keys get lost with the next FlushMemTable()
      call before the check.
      Signed-off-by: NDanny Al-Gaaf <danny.al-gaaf@bisect.de>
      7506198d
    • M
      Print MB per second compaction throughput separately for reads and writes · 1f963305
      Mark Callaghan 提交于
      Summary:
      From this line there used to be one column (MB/sec) that includes reads and writes. This change splits it and for real workloads the rd and wr rates might not match when keys are dropped.
      2014/09/29-17:31:01.213162 7f929fbff700 (Original Log Time 2014/09/29-17:31:01.180025) [default] compacted to: files[2 5 0 0 0 0 0], MB/sec: 14.0 rd, 14.0 wr, level 1, files in(4, 0) out(5) MB in(8.5, 0.0) out(8.5), read-write-amplify(2.0) write-amplify(1.0) OK
      
      Test Plan:
      make check, grepped LOG
      
      - begin *PUBLIC* platform impact section -
      Bugzilla: #
      - end platform impact -
      
      Reviewers: igor
      
      Differential Revision: https://reviews.facebook.net/D24237
      1f963305
    • S
      Add an instruction about SSE in INSTALL.md · ffe3d490
      sdong 提交于
      Summary: As tittle.
      
      Test Plan: Not needed
      
      Reviewers: MarkCallaghan, ljin, yhchiang, igor
      
      Reviewed By: igor
      
      Subscribers: rven, leveldb
      
      Differential Revision: https://reviews.facebook.net/D24231
      ffe3d490
    • M
      Package generation for Ubuntu and CentOS · ee1f3ccb
      mike@arpaia.co 提交于
      Summary:
      I put together a script to assist in the generation of deb's and
      rpm's. I've tested that this works on ubuntu via vagrant. I've included the
      Vagrantfile here, but I can remove it if it's not useful. The package.sh
      script should work on any ubuntu or centos machine, I just added a bit of
      logic in there to allow a base Ubuntu or Centos machine to be able to build
      RocksDB from scratch.
      
      Example output on Ubuntu 14.04:
      
      ```
      root@vagrant-ubuntu-trusty-64:/vagrant# ./tools/package.sh
      [+] g++-4.7 is already installed. skipping.
      [+] libgflags-dev is already installed. skipping.
      [+] ruby-all-dev is already installed. skipping.
      [+] fpm is already installed. skipping.
      Created package {:path=>"rocksdb_3.5_amd64.deb"}
      root@vagrant-ubuntu-trusty-64:/vagrant# dpkg --info rocksdb_3.5_amd64.deb
       new debian package, version 2.0.
       size 17392022 bytes: control archive=1518 bytes.
           275 bytes,    11 lines      control
          2911 bytes,    38 lines      md5sums
       Package: rocksdb
       Version: 3.5
       License: BSD
       Vendor: Facebook
       Architecture: amd64
       Maintainer: rocksdb@fb.com
       Installed-Size: 83358
       Section: default
       Priority: extra
       Homepage: http://rocksdb.org/
       Description: RocksDB is an embeddable persistent key-value store for fast storage.
       ```
      
       Example output on CentOS 6.5:
      
       ```
       [root@localhost vagrant]# rpm -qip rocksdb-3.5-1.x86_64.rpm
       Name        : rocksdb                      Relocations: /usr
       Version     : 3.5                               Vendor: Facebook
       Release     : 1                             Build Date: Mon 29 Sep 2014 01:26:11 AM UTC
       Install Date: (not installed)               Build Host: localhost
       Group       : default                       Source RPM: rocksdb-3.5-1.src.rpm
       Size        : 96231106                         License: BSD
       Signature   : (none)
       Packager    : rocksdb@fb.com
       URL         : http://rocksdb.org/
       Summary     : RocksDB is an embeddable persistent key-value store for fast storage.
       Description :
       RocksDB is an embeddable persistent key-value store for fast storage.
       ```
      
      Test Plan:
      How this gets used is really up to the RocksDB core team. If you
      want to actually get this into mainline, you might have to change `make
      install` such that it install the RocksDB shared object file as well, which
      would require you to link against gflags (maybe?) and that would require some
      potential modifications to the script here (basically add a depends on that
      package).
      
      Currently, this will install the headers and a pre-compiled statically linked
      object file. If that's what you want out of life, than this requires no
      modifications.
      
      Reviewers: ljin, yhchiang, igor
      
      Reviewed By: igor
      
      Differential Revision: https://reviews.facebook.net/D24141
      ee1f3ccb
    • M
      Fixing comile errors on OS X · f0f79554
      mike@arpaia.co 提交于
      Summary: Building master on OS X has some compile errors due to implicit type conversions which generate warnings which RocksDB's build settings raise as errors.
      
      Test Plan: It compiles!
      
      Reviewers: ljin, igor
      
      Reviewed By: ljin
      
      Differential Revision: https://reviews.facebook.net/D24135
      f0f79554
    • I
      remove 2 space linter · 99fb613e
      Igor Canadi 提交于
      99fb613e
    • I
      Fix linters, second try · b2d64a48
      Igor Canadi 提交于
      b2d64a48
    • M
      Print per column family metrics in db_bench · 747523d2
      Mark Callaghan 提交于
      Summary: see above
      
      Test Plan:
      make check, ran db_bench and looked at output
      
      - begin *PUBLIC* platform impact section -
      Bugzilla: #
      - end platform impact -
      
      Reviewers: igor
      
      Differential Revision: https://reviews.facebook.net/D24189
      747523d2
    • I
      Fix arc lint (should fix #238) · 56ebd408
      Igor Canadi 提交于
      Summary: See https://secure.phabricator.com/D9114
      
      Test Plan: arc lint
      
      Reviewers: yhchiang
      
      Reviewed By: yhchiang
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D24195
      56ebd408
    • I
      Merge pull request #321 from eonnen/master · 637f8917
      Igor Canadi 提交于
      Make test use a compatible type in the size checks.
      637f8917
    • E
      Make test use a compatible type in the size checks. · 827e31c7
      erik 提交于
      827e31c7
    • L
      CompactedDB: log using the correct info_log · fd5d80d5
      Lei Jin 提交于
      Summary:
      info_log from supplied Options can be nullptr. Using the one from
      db_impl. Also call flush after that since no more loggging will happen
      and LOG can contain partial output
      
      Test Plan: verified with db_bench
      
      Reviewers: igor, yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D24183
      fd5d80d5
    • L
      use GetContext to replace callback function pointer · 2faf49d5
      Lei Jin 提交于
      Summary:
      Intead of passing callback function pointer and its arg on Table::Get()
      interface, passing GetContext. This makes the interface cleaner and
      possible better perf. Also adding a fast pass for SaveValue()
      
      Test Plan: make all check
      
      Reviewers: igor, yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D24057
      2faf49d5
    • I
      Add AUTHORS file. Fix #203 · 983d2de2
      Igor Canadi 提交于
      983d2de2
    • I
      Merge pull request #316 from fyrz/ReverseBytewiseComparator · abd70c5e
      Igor Canadi 提交于
      Built-in comparator(s) in RocksJava
      abd70c5e
    • L
      handle kDelete type in cuckoo builder · 2dc6f62b
      Lei Jin 提交于
      Summary:
      when I changed std::vector<std::string, std::string> to std::string to
      store key/value pairs in builder, I missed the handling for kDeletion
      type. As a result, value_size_ can be wrong if the first add key is for
      deletion.
      The is captured by ./cuckoo_table_db_test
      
      Test Plan:
      ./cuckoo_table_db_test
      ./cuckoo_table_reader_test
      ./cuckoo_table_builder_test
      
      Reviewers: sdong, yhchiang, igor
      
      Reviewed By: igor
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D24045
      2dc6f62b
  3. 27 9月, 2014 2 次提交
  4. 26 9月, 2014 4 次提交
    • F
      Built-in comparator(s) in RocksJava · 53404842
      fyrz 提交于
      Extended Built-in comparators with ReverseBytewiseComparator.
      
      Reverse key handling is under certain conditions essential. E.g. while
      using timestamp versioned data.
      
      As native-comparators were not available using JAVA-API. Both built-in comparators
      were exposed via JNI to be set upon database creation time.
      53404842
    • L
      delay initialization of cuckoo table iterator · d439451f
      Lei Jin 提交于
      Summary:
      cuckoo table iterator creation is quite expensive since it needs to load
      all data and sort them. After compaction, RocksDB creates a new iterator
      of the new file to make sure it is in good state. That makes the DB
      creation quite slow. Delay the iterator db sort to the seek time to
      speed it up.
      
      Test Plan: db_bench
      
      Reviewers: igor, yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D23775
      d439451f
    • L
      reduce memory usage of cuckoo table builder · 94997eab
      Lei Jin 提交于
      Summary:
      builder currently buffers all key value pairs as a vector of
      pair<string, string>. That is too much due to std::string
      overhead. It wasn't able to fit 1B key/values (12bytes total) in 100GB
      of ram. Switch to use a plain string to store the key/value sequence and
      use only 12GB of ram as a result.
      
      Test Plan: db_bench
      
      Reviewers: igor, sdong, yhchiang
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D23763
      94997eab
    • L
      improve memory efficiency of cuckoo reader · c6275956
      Lei Jin 提交于
      Summary:
      When creating a new iterator, instead of storing mapping from key to
      bucket id for sorting, store only bucket id and read key from mmap file
      based on the id. This reduces from 20 bytes per entry to only 4 bytes.
      
      Test Plan: db_bench
      
      Reviewers: igor, yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D23757
      c6275956