1. 15 1月, 2015 11 次提交
  2. 14 1月, 2015 6 次提交
  3. 13 1月, 2015 7 次提交
  4. 11 1月, 2015 2 次提交
  5. 10 1月, 2015 4 次提交
    • I
      Fix build issues · 15d2abbe
      Igor Canadi 提交于
      15d2abbe
    • I
      Move compression functions from port/ to util/ · abb9b95f
      Igor Canadi 提交于
      Summary: We keep checksum functions in util/, there is no reason for compression to be in port/
      
      Test Plan: compiles
      
      Reviewers: sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D31281
      abb9b95f
    • S
      DB Stats Dump to print total stall time · 9132e52e
      sdong 提交于
      Summary:
      Add printing of stall time in DB Stats:
      
      Sample outputs:
      
      ** DB Stats **
      Uptime(secs): 53.2 total, 1.7 interval
      Cumulative writes: 625940 writes, 625939 keys, 625940 batches, 1.0 writes per batch, 0.49 GB user ingest, stall micros: 50691070
      Cumulative WAL: 625940 writes, 625939 syncs, 1.00 writes per sync, 0.49 GB written
      Interval writes: 10859 writes, 10859 keys, 10859 batches, 1.0 writes per batch, 8.7 MB user ingest, stall micros: 1692319
      Interval WAL: 10859 writes, 10859 syncs, 1.00 writes per sync, 0.01 MB written
      
      Test Plan:
      make all check
      verify printing using db_bench
      
      Reviewers: igor, yhchiang, rven, MarkCallaghan
      
      Reviewed By: MarkCallaghan
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D31239
      9132e52e
    • I
      Merge pull request #453 from fyrz/SimpleCExampleSigSegv · 93b35c29
      Igor Canadi 提交于
      Memory issue fix in c_simple_example
      93b35c29
  6. 09 1月, 2015 1 次提交
    • F
      Fixed memory issue in c_simple_example · ef390164
      fyrz 提交于
      Valgrind report prior to this fix:
      ==20829== Memcheck, a memory error detector
      ==20829== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
      ==20829== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info
      ==20829== Command: ./c_simple_example
      ==20829==
      ==20829== Invalid read of size 1
      ==20829==    at 0x4C2F1C8: strcmp (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==20829==    by 0x422522: main (in /home/user/rocksgit/transfer/rocksdb-git/examples/c_simple_example)
      ==20829==  Address 0x5f60df5 is 0 bytes after a block of size 5 alloc'd
      ==20829==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==20829==    by 0x4226D5: CopyString (c.cc:498)
      ==20829==    by 0x423032: rocksdb_get (c.cc:730)
      ==20829==    by 0x4224EB: main (in /home/user/rocksgit/transfer/rocksdb-git/examples/c_simple_example)
      ==20829==
      ==20829==
      ==20829== HEAP SUMMARY:
      ==20829==     in use at exit: 77 bytes in 5 blocks
      ==20829==   total heap usage: 4,491 allocs, 4,486 frees, 839,216 bytes allocated
      ==20829==
      ==20829== LEAK SUMMARY:
      ==20829==    definitely lost: 5 bytes in 1 blocks
      ==20829==    indirectly lost: 0 bytes in 0 blocks
      ==20829==      possibly lost: 0 bytes in 0 blocks
      ==20829==    still reachable: 72 bytes in 4 blocks
      ==20829==         suppressed: 0 bytes in 0 blocks
      ==20829== Rerun with --leak-check=full to see details of leaked memory
      ==20829==
      ==20829== For counts of detected and suppressed errors, rerun with: -v
      ==20829== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
      ef390164
  7. 08 1月, 2015 7 次提交
    • I
      :%s/build_config/make_config · b89d58df
      Igor Canadi 提交于
      Summary: I'm tired of double-tab when opening build_tools/<something>. This change will make bu<tab> fully complete my path :)
      
      Test Plan: `vi bu<tab>` gives me `vi build_tools/` yay!
      
      Reviewers: yhchiang, rven, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D30639
      b89d58df
    • A
      Memtablerep Benchmark · 242b9769
      Ameya Gupte 提交于
      Summary:
      Create a benchmark for testing memtablereps. This diff is a bit rough, but it should do the trick until other bootcampers can clean it up.
      
      Addressing comments
      Removed the mutexes
      Changed ReadWriteBenchmark to fix number of reads and count the number of writes we can perform in that time.
      
      Test Plan:
      Run it.
      
      Below runs pass
      ./memtablerep_bench --benchmarks fillrandom,readrandom --memtablerep skiplist
      
      ./memtablerep_bench --benchmarks fillseq,readseq --memtablerep skiplist
      
      ./memtablerep_bench --benchmarks readwrite,seqreadwrite --memtablerep skiplist --num_operations 200 --num_threads 5
      
      ./memtablerep_bench --benchmarks fillrandom,readrandom --memtablerep hashskiplist
      
      ./memtablerep_bench --benchmarks fillseq,readseq --memtablerep hashskiplist
       --num_scans 2
      
      ./memtablerep_bench --benchmarks fillseq,readseq --memtablerep vector
      
      Reviewers: jpaton, ikabiljo, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, ameyag
      
      Differential Revision: https://reviews.facebook.net/D22683
      242b9769
    • S
      Add comments about properties supported by DB::GetProperty() and DB::GetIntProperty() · 73ee4feb
      sdong 提交于
      Summary: Add comments in db.h to help users discover their options.
      
      Test Plan: Compile
      
      Reviewers: rven, yhchiang, igor
      
      Reviewed By: igor
      
      Subscribers: MarkCallaghan, yoshinorim, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D31077
      73ee4feb
    • I
      Merge pull request #451 from StanislavGlebik/document_db_improvement · 2dca48f5
      Igor Canadi 提交于
      Fixed negative numbers comparison in DocumentDB
      2dca48f5
    • S
      Fixed negative numbers comparison in DocumentDB · 4b57d9a8
      stash93 提交于
      4b57d9a8
    • S
      VersionSet::AddLiveFiles() to assert current version is included. · 9ef59a09
      sdong 提交于
      Summary: Add an extra assert to make sure current version is included in VersionSet::AddLiveFiles().
      
      Test Plan: make all check
      
      Reviewers: yhchiang, rven, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, hermanlee4, leveldb
      
      Differential Revision: https://reviews.facebook.net/D30819
      9ef59a09
    • S
      VersionBuilder to optimize for applying a later edit deleting files added by previous edits · 4d16a9a6
      sdong 提交于
      Summary: During recovery, VersionBuilder::Apply() was called multiple times. If the DB is open for long enough, most of files added earlier will be deleted by later deletes. In current solution, sorting added file happens first and then deletes are applied. In this patch, deletes are applied when possible inside Apply(), which can significantly reduce the sorting time in some cases.
      
      Test Plan:
      Add unit tests in version_builder
      valgrind_check
      Open a manifest of 50MB, with 9K live files. The manifest read time reduced from 1.6 seconds to 0.7 seconds.
      
      Reviewers: rven, yhchiang, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D30765
      4d16a9a6
  8. 07 1月, 2015 1 次提交
    • I
      Simplify column family concurrency · 7731d51c
      Igor Canadi 提交于
      Summary:
      This patch changes concurrency guarantees around ColumnFamilySet::column_families_ and ColumnFamilySet::column_families_data_.
      
      Before:
      * When mutating: lock DB mutex and spin lock
      * When reading: lock DB mutex OR spin lock
      
      After:
      * When mutating: lock DB mutex and be in write thread
      * When reading: lock DB mutex or be in write thread
      
      That way, we eliminate the spin lock that protects these hash maps and  simplify concurrency. That means we don't need to lock the spin lock during writing, since writing is mutually exclusive with column family create/drop (the only operations that mutate those hash maps).
      
      With these new restrictions, I also needed to move column family create to the write thread (column family drop was already in the write thread).
      
      Even though we don't need to lock the spin lock during write, impact on performance should be minimal -- the spin lock is almost never busy, so locking it is almost free.
      
      This addresses task t5116919.
      
      Test Plan:
      make check
      
      Stress test with lots and lots of column family drop and create:
      
         time ./db_stress --threads=30 --ops_per_thread=5000000 --max_key=5000 --column_families=200 --clear_column_family_one_in=100000 --verify_before_write=0  --reopen=15 --max_background_compactions=10 --max_background_flushes=10 --db=/fast-rocksdb-tmp/db_stress/
      
      Reviewers: yhchiang, rven, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D30651
      7731d51c
  9. 06 1月, 2015 1 次提交