1
0
Fork 0
arangodb/arangod/RocksDBEngine
Jan 9c76613e63
fix premature unlock (#3802)
* fix some deadlocks found by evil lock manager (tm)

* fix duplicate lock

* fix indentation

* ensure proper lock dependencies

* fix lock acquisition

* removed useless comment

* do not lock twice

* create either a V8 transaction context or a standalone transaction context, depending on if we are called from within V8 or not

* AQL micro optimizations

* use explicit constructor

* only use V8DealerFeature's ConditionLocker for acquiring a free V8 context

entering and exiting the selected context is then done later on without having to hold the ConditionLocker

* remove some recursive locks

* Disable custom deadlock detection when Thread Sanitizer is enabled

* Changing ifdef's

* grr

* broke gcc

* Using atomic for ApplicationServer::_server

* fix premature unlock

* add some asserts

* honor collection locking in cluster

* yet one more lock fix

* removed assertion

* some more bugfixes

* Fixing assert

(cherry picked from commit 1155df173bfb67303077fbe04ee8d909517bfd21)
2017-12-13 13:27:42 +01:00
..
CMakeLists.txt make the replication applier auto-start for the RocksDB engine if con… (#3647) 2017-11-15 12:02:37 +01:00
RocksDBAqlFunctions.cpp Fixing some accidentally broken fulltext tests (#3951) 2017-12-13 10:19:17 +01:00
RocksDBAqlFunctions.h Fixing parser bug 2017-05-06 01:28:44 +02:00
RocksDBBackgroundThread.cpp Fixed issue with periodic syncing and WAL file retention. (#3098) 2017-08-22 15:51:12 +02:00
RocksDBBackgroundThread.h Added explicit WAL file lifecycle management to reduce space overhead from replication. 2017-05-04 15:16:24 -04:00
RocksDBCollection.cpp make replication abortable (#4016) 2017-12-13 12:32:04 +01:00
RocksDBCollection.h Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
RocksDBColumnFamily.h a few simplifications and extensions (#3115) 2017-08-24 14:46:16 +02:00
RocksDBCommon.cpp Bug fix/issues 2308 (#3117) 2017-08-24 14:47:22 +02:00
RocksDBCommon.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
RocksDBComparator.cpp Feature/rocksdb hashsearch (#2713) 2017-07-05 10:18:52 +02:00
RocksDBComparator.h Feature/rocksdb hashsearch (#2713) 2017-07-05 10:18:52 +02:00
RocksDBCounterManager.cpp remove TRI_usleep and TRI_sleep, and use std::this_thread::sleep_for … (#3817) 2017-12-06 18:43:49 +01:00
RocksDBCounterManager.h Further checks/fixes for RocksDB recovery process (#3110) 2017-08-23 11:07:10 +02:00
RocksDBCuckooIndexEstimator.h Feature/rocksdb hashsearch (#2713) 2017-07-05 10:18:52 +02:00
RocksDBEdgeIndex.cpp remove TRI_usleep and TRI_sleep, and use std::this_thread::sleep_for … (#3817) 2017-12-06 18:43:49 +01:00
RocksDBEdgeIndex.h Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
RocksDBEngine.cpp allow passing a serverId value of "none" to replication APIs (#3909) 2017-12-08 11:35:53 +01:00
RocksDBEngine.h Fix issues due to throttle started with too small a flush (#3707) 2017-11-16 09:13:08 +01:00
RocksDBExportCursor.cpp Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
RocksDBExportCursor.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
RocksDBFulltextIndex.cpp fix compile warning 2017-12-06 14:41:15 +01:00
RocksDBFulltextIndex.h Fulltext Index Cursor (#3807) 2017-12-06 14:29:57 +01:00
RocksDBGeoIndex.cpp Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
RocksDBGeoIndex.h Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
RocksDBGeoIndexImpl.cpp improve rocksdb logging (#3613) 2017-11-11 19:35:27 +01:00
RocksDBGeoIndexImpl.h fix undefined behavior in RocksDB geo index (#3479) 2017-10-25 18:04:26 +02:00
RocksDBGeoIndexImplHelper.h Added geo index CRUD functionality 2017-05-08 14:49:58 +02:00
RocksDBHashIndex.cpp potential fix for issue #3581: Unexpected "rocksdb unique constraint violated" with unique hash index (#3596) 2017-11-07 10:42:41 +01:00
RocksDBHashIndex.h Feature/rocksdb hashsearch (#2713) 2017-07-05 10:18:52 +02:00
RocksDBIncrementalSync.cpp Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
RocksDBIncrementalSync.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
RocksDBIndex.cpp Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
RocksDBIndex.h Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
RocksDBIndexFactory.cpp Bug fix/fixes 0211 (#3568) 2017-11-09 12:48:15 +01:00
RocksDBIndexFactory.h Feature/rocksdb hashsearch (#2713) 2017-07-05 10:18:52 +02:00
RocksDBIterators.cpp Fixing some accidentally broken fulltext tests (#3951) 2017-12-13 10:19:17 +01:00
RocksDBIterators.h Fixing some accidentally broken fulltext tests (#3951) 2017-12-13 10:19:17 +01:00
RocksDBKey.cpp Feature/unique vpack index lookup performance improvements with rocksdbkey optimizations (#3123) 2017-08-31 20:00:05 +02:00
RocksDBKey.h Feature/unique vpack index lookup performance improvements with rocksdbkey optimizations (#3123) 2017-08-31 20:00:05 +02:00
RocksDBKeyBounds.cpp Feature/unique vpack index lookup performance improvements (#3087) 2017-08-24 14:39:09 +02:00
RocksDBKeyBounds.h Feature/unique vpack index lookup performance improvements (#3087) 2017-08-24 14:39:09 +02:00
RocksDBLogValue.cpp RocksDB WAL tailing fixes (#3595) 2017-11-10 09:31:53 +01:00
RocksDBLogValue.h RocksDB WAL tailing fixes (#3595) 2017-11-10 09:31:53 +01:00
RocksDBMethods.cpp improve rocksdb logging (#3613) 2017-11-11 19:35:27 +01:00
RocksDBMethods.h potential fix for issue #3581: Unexpected "rocksdb unique constraint violated" with unique hash index (#3596) 2017-11-07 10:42:41 +01:00
RocksDBOptimizerRules.cpp Bug fix/fix issue 3011 (#3012) 2017-08-09 17:38:44 +02:00
RocksDBOptimizerRules.h Feature/reduce extraction to projection (#2792) 2017-07-14 08:40:29 +02:00
RocksDBPersistentIndex.h
RocksDBPrefixExtractor.h potential fix for issue #3581: Unexpected "rocksdb unique constraint violated" with unique hash index (#3596) 2017-11-07 10:42:41 +01:00
RocksDBPrimaryIndex.cpp Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
RocksDBPrimaryIndex.h Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
RocksDBRecoveryFinalizer.cpp make the replication applier auto-start for the RocksDB engine if con… (#3647) 2017-11-15 12:02:37 +01:00
RocksDBRecoveryFinalizer.h make the replication applier auto-start for the RocksDB engine if con… (#3647) 2017-11-15 12:02:37 +01:00
RocksDBReplicationCommon.cpp fix replication context locking (#3875) 2017-12-06 12:11:55 +01:00
RocksDBReplicationCommon.h fix replication context locking (#3875) 2017-12-06 12:11:55 +01:00
RocksDBReplicationContext.cpp fix premature unlock (#3802) 2017-12-13 13:27:42 +01:00
RocksDBReplicationContext.h fix replication context locking (#3875) 2017-12-06 12:11:55 +01:00
RocksDBReplicationManager.cpp remove TRI_usleep and TRI_sleep, and use std::this_thread::sleep_for … (#3817) 2017-12-06 18:43:49 +01:00
RocksDBReplicationManager.h fix replication context locking (#3875) 2017-12-06 12:11:55 +01:00
RocksDBReplicationTailing.cpp added assertions to make sure the generated ticks are as expected (#3969) 2017-12-13 10:19:00 +01:00
RocksDBReplicationTailing.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
RocksDBRestExportHandler.cpp Reuse buffers for HttpResponse (#3433) 2017-10-30 17:30:36 +01:00
RocksDBRestExportHandler.h Fixed RocksDB export API. 2017-05-23 10:16:53 -04:00
RocksDBRestHandlers.cpp
RocksDBRestHandlers.h
RocksDBRestReplicationHandler.cpp added assertions to make sure the generated ticks are as expected (#3969) 2017-12-13 10:19:00 +01:00
RocksDBRestReplicationHandler.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
RocksDBRestWalHandler.cpp make truncate a bit less obstrusive (#3721) 2017-11-16 20:28:33 +01:00
RocksDBRestWalHandler.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
RocksDBSkiplistIndex.h
RocksDBThrottle.cpp add defensive coding and logging in response to a divide by zero. ColumnFamilyData::RecalculateWriteStallConditions() called SetBytePerSecond() with some value less than four. Could have been a race condition due to our SetThrottle() called without db mutex. No proof, just likely. (#3949) 2017-12-08 15:42:44 +01:00
RocksDBThrottle.h fix Windows ifdefs (#3824) 2017-12-06 18:43:12 +01:00
RocksDBTransactionCollection.cpp fix premature unlock (#3802) 2017-12-13 13:27:42 +01:00
RocksDBTransactionCollection.h fix premature unlock (#3802) 2017-12-13 13:27:42 +01:00
RocksDBTransactionContextData.h Feature/rocksdb hashsearch (#2713) 2017-07-05 10:18:52 +02:00
RocksDBTransactionManager.h Feature/rocksdb hashsearch (#2713) 2017-07-05 10:18:52 +02:00
RocksDBTransactionState.cpp fix premature unlock (#3802) 2017-12-13 13:27:42 +01:00
RocksDBTransactionState.h Fixing an issue with intermediate commits (#3975) 2017-12-12 09:17:18 +01:00
RocksDBTypes.cpp Feature/rocksdb hashsearch (#2713) 2017-07-05 10:18:52 +02:00
RocksDBTypes.h Feature/rocksdb hashsearch (#2713) 2017-07-05 10:18:52 +02:00
RocksDBV8Functions.cpp Replacing /_api/collection with RestHandler (#3543) 2017-11-02 14:57:17 +01:00
RocksDBV8Functions.h Feature/rocksdb hashsearch (#2713) 2017-07-05 10:18:52 +02:00
RocksDBVPackIndex.cpp Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
RocksDBVPackIndex.h Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
RocksDBValue.cpp Optimizations for Caches and Graph Traversals (#3169) 2017-08-31 18:33:10 +02:00
RocksDBValue.h Optimizations for Caches and Graph Traversals (#3169) 2017-08-31 18:33:10 +02:00
RocksDBView.cpp Feature/unique vpack index lookup performance improvements with rocksdbkey optimizations (#3123) 2017-08-31 20:00:05 +02:00
RocksDBView.h
RocksDBWalAccess.cpp Fixing collection name collection handling in Syncer (#3710) 2017-11-17 16:36:57 +01:00
RocksDBWalAccess.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00