]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/log
rocksdb.git
10 years agoRelax assertions in unit DropWrites to be more permissible rocksdb-3.12.1 v3.12.1
krad [Mon, 20 Jul 2015 19:37:54 +0000 (12:37 -0700)]
Relax assertions in unit DropWrites to be more permissible

Summary: This unit test is blocking our release since it fails under certain
compiler versions. The failure is due to a race in the unit test and not the
core functionality.

Test Plan: Run locally

Reviewers: sdong

CC: leveldb
Task ID: #7760955

Blame Rev:
(cherry picked from commit a75f23eb871b4981d9e784f763e08dcc3e8c0437)

Conflicts:
db/db_test.cc

10 years agoTag 3.12.1
agiardullo [Fri, 17 Jul 2015 00:33:45 +0000 (17:33 -0700)]
Tag 3.12.1

10 years agoFix data loss after DB recovery by not allowing flush/compaction to be scheduled...
sdong [Thu, 16 Jul 2015 02:58:28 +0000 (19:58 -0700)]
Fix data loss after DB recovery by not allowing flush/compaction to be scheduled until DB opened

Summary:
Previous run may leave some SST files with higher file numbers than manifest indicates.
Compaction or flush may start to run while DB::Open() is still going on. SST file garbage collection may happen interleaving with compaction or flush, and overwrite files generated by compaction of flushes after they are generated. This might cause data loss. This possibility of interleaving is recently introduced.
Fix it by not allowing compaction or flush to be scheduled before DB::Open() finishes.

Test Plan: Add a unit test. This verification will have a chance to fail without the fix but doesn't fix without the fix.

Reviewers: kradhakrishnan, anthony, yhchiang, IslamAbdelRahman, igor

Reviewed By: igor

Subscribers: dhruba, leveldb

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

10 years agoUpdate HISTORY.md for Listener rocksdb-3.12 v3.12
Yueh-Hsuan Chiang [Tue, 7 Jul 2015 19:39:36 +0000 (12:39 -0700)]
Update HISTORY.md for Listener

Summary: Update HISTORY.md for Listener

Test Plan: no code change

Reviewers: igor, sdong, IslamAbdelRahman, anthony

Reviewed By: anthony

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D41325
(cherry picked from commit 59b50dcef904b86dad7fe1c45a22ff59dbc2a865)

10 years agofixed leaking log::Writers
Yueh-Hsuan Chiang [Tue, 7 Jul 2015 19:10:10 +0000 (12:10 -0700)]
fixed leaking log::Writers

Summary: Fixes valgrind errors in column_family_test.

Test Plan: `make check`, `make valgrind_check`

Reviewers: igor, yhchiang

Reviewed By: yhchiang

Subscribers: dhruba

Differential Revision: https://reviews.facebook.net/D41181
(cherry picked from commit 4ce5be4255f654442986f0a9c0269e41cce7d362)

10 years agoRevert two diffs related to DBIter::FindPrevUserKey()
Yueh-Hsuan Chiang [Tue, 7 Jul 2015 18:36:24 +0000 (11:36 -0700)]
Revert two diffs related to DBIter::FindPrevUserKey()

Summary:
This diff reverts the following two previous diffs related to
DBIter::FindPrevUserKey(), which makes db_stress unstable.
We should bake a better fix for this.

* "Fix a comparison in DBIter::FindPrevUserKey()"
  ec70fea4c4025351190eba7a02bd09bb5f083790.

* "Fixed endless loop in DBIter::FindPrevUserKey()"
  acee2b08a2d37154b8f9e2dc74b1966202c15ec5.

Test Plan: db_stress

Reviewers: anthony, igor, sdong

Reviewed By: sdong

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D41301
(cherry picked from commit 685582a0b43cb19cb12bf7122657f9ea0f8c52c4)

10 years agoInitialize threads later in constructor
Aaron Feldman [Tue, 7 Jul 2015 17:49:16 +0000 (10:49 -0700)]
Initialize threads later in constructor

Summary: This addresses a test failure where an exception occured in the constructor's call to CreateDirIfMissing(). The existence of unjoined threads prevented this exception from propogating properly. See http://stackoverflow.com/questions/7381757/c-terminate-called-without-an-active-exception

Test Plan: Re-run tests from task #7626266

Reviewers: sdong, anthony, igor

Reviewed By: igor

Subscribers: dhruba

Differential Revision: https://reviews.facebook.net/D41313
(cherry picked from commit e12b403991217c5472135a1e2f8faad1b915d011)

10 years agoFix compaction_job_test
Igor Canadi [Mon, 6 Jul 2015 18:14:08 +0000 (11:14 -0700)]
Fix compaction_job_test

Summary:
Two issues:
* the input keys to the compaction don't include sequence number.
* sequence number is set to max(seq_num), but it should be set to max(seq_num)+1, because the condition here is strictly-larger (i.e. we will only zero-out sequence number if the DB's sequence number is strictly greater than the key's sequence number): https://github.com/facebook/rocksdb/blob/master/db/compaction_job.cc#L830

Test Plan: make compaction_job_test && ./compaction_job_test

Reviewers: sdong, lovro

Reviewed By: lovro

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D41247
(cherry picked from commit 155ce60dafbc3841da73eedf0d9dc6c4fabd8404)

10 years agoFixed endless loop in DBIter::FindPrevUserKey()
Yueh-Hsuan Chiang [Thu, 2 Jul 2015 23:10:31 +0000 (16:10 -0700)]
Fixed endless loop in DBIter::FindPrevUserKey()

Summary: Fixed endless loop in DBIter::FindPrevUserKey()

Test Plan: ./db_stress --test_batches_snapshots=1 --threads=32 --write_buffer_size=4194304 --destroy_db_initially=0 --reopen=20 --readpercent=45 --prefixpercent=5 --writepercent=35 --delpercent=5 --iterpercent=10 --db=/tmp/rocksdb_crashtest_KdCI5F --max_key=100000000 --mmap_read=0 --block_size=16384 --cache_size=1048576 --open_files=500000 --verify_checksum=1 --sync=0 --progress_reports=0 --disable_wal=0 --disable_data_sync=1 --target_file_size_base=2097152 --target_file_size_multiplier=2 --max_write_buffer_number=3 --max_background_compactions=20 --max_bytes_for_level_base=10485760 --filter_deletes=0 --memtablerep=prefix_hash --prefix_size=7 --ops_per_thread=200 --kill_random_test=97

Reviewers: tnovak, igor, sdong

Reviewed By: sdong

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D41085
(cherry picked from commit acee2b08a2d37154b8f9e2dc74b1966202c15ec5)

10 years ago[wal changes 1/3] fixed unbounded wal growth in some workloads
Mike Kolupaev [Thu, 2 Jul 2015 21:27:00 +0000 (14:27 -0700)]
[wal changes 1/3] fixed unbounded wal growth in some workloads

Summary:
This fixes the following scenario we've hit:
 - we reached max_total_wal_size, created a new wal and scheduled flushing all memtables corresponding to the old one,
 - before the last of these flushes started its column family was dropped; the last background flush call was a no-op; no one removed the old wal from alive_logs_,
 - hours have passed and no flushes happened even though lots of data was written; data is written to different column families, compactions are disabled; old column families are dropped before memtable grows big enough to trigger a flush; the old wal still sits in alive_logs_ preventing max_total_wal_size limit from kicking in,
 - a few more hours pass and we run out disk space because of one huge .log file.

Test Plan: `make check`; backported the new test, checked that it fails without this diff

Reviewers: igor

Reviewed By: igor

Subscribers: dhruba

Differential Revision: https://reviews.facebook.net/D40893
(cherry picked from commit 218487d8dc45c4cb03dbb80bd4d7031b131b9f25)

10 years agoFix unity build by removing anonymous namespace
Aaron Feldman [Thu, 2 Jul 2015 19:27:35 +0000 (12:27 -0700)]
Fix unity build by removing anonymous namespace

Summary: see title

Test Plan: run 'make unity'

Reviewers: igor

Reviewed By: igor

Subscribers: dhruba

Differential Revision: https://reviews.facebook.net/D41079
(cherry picked from commit e70115e71b74e6cce9484fcf2ded7ecb2d77ece3)

10 years agoPrepare 3.12
agiardullo [Thu, 2 Jul 2015 18:08:34 +0000 (11:08 -0700)]
Prepare 3.12

Summary: About to cut release

Test Plan: none

Reviewers: igor

Reviewed By: igor

Subscribers: dhruba, leveldb

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

10 years agoMultithreaded backup and restore in BackupEngineImpl
Aaron Feldman [Thu, 2 Jul 2015 18:35:51 +0000 (11:35 -0700)]
Multithreaded backup and restore in BackupEngineImpl

Summary:
Add a new field: BackupableDBOptions.max_background_copies.
CreateNewBackup() and RestoreDBFromBackup() will use this number of threads to perform copies.
If there is a backup rate limit, then max_background_copies must be 1.
Update backupable_db_test.cc to test multi-threaded backup and restore.
Update backupable_db_test.cc to test backups when the backup environment is not the same as the database environment.

Test Plan:
Run ./backupable_db_test
Run valgrind ./backupable_db_test
Run with TSAN and ASAN

Reviewers: yhchiang, rven, anthony, sdong, igor

Reviewed By: igor

Subscribers: yhchiang, anthony, sdong, leveldb, dhruba

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