1
0
Fork 0
arangodb/arangod/Cluster
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
..
AgencyCallback.cpp
AgencyCallback.h
AgencyCallbackRegistry.cpp
AgencyCallbackRegistry.h
ClusterComm.cpp Bug fix/tidy up statistics (#3970) 2017-12-08 16:00:23 +01:00
ClusterComm.h fix premature unlock (#3802) 2017-12-13 13:27:42 +01:00
ClusterEdgeCursor.cpp No access collections Improvements (#3190) 2017-09-07 14:55:07 +02:00
ClusterEdgeCursor.h No access collections Improvements (#3190) 2017-09-07 14:55:07 +02:00
ClusterFeature.cpp remove TRI_usleep and TRI_sleep, and use std::this_thread::sleep_for … (#3817) 2017-12-06 18:43:49 +01:00
ClusterFeature.h Move Statistics into c++ (#3184) 2017-12-06 16:36:52 +01:00
ClusterHelpers.cpp Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
ClusterHelpers.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
ClusterInfo.cpp remove TRI_usleep and TRI_sleep, and use std::this_thread::sleep_for … (#3817) 2017-12-06 18:43:49 +01:00
ClusterInfo.h return error context for "some agency operation failed" (#3760) 2017-12-06 11:16:19 +01:00
ClusterMethods.cpp make truncate a bit less obstrusive (#3721) 2017-11-16 20:28:33 +01:00
ClusterMethods.h make truncate a bit less obstrusive (#3721) 2017-11-16 20:28:33 +01:00
ClusterTraverser.cpp Replaced EdgeCursors callback to return cid,rev instead of _id. Does less costly copying and comparision internally 2017-05-31 17:49:46 +02:00
ClusterTraverser.h No access collections Improvements (#3190) 2017-09-07 14:55:07 +02:00
CollectionLockState.cpp
CollectionLockState.h
DBServerAgencySync.cpp Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
DBServerAgencySync.h
FollowerInfo.cpp remove TRI_usleep and TRI_sleep, and use std::this_thread::sleep_for … (#3817) 2017-12-06 18:43:49 +01:00
FollowerInfo.h Feature/move shard fix (#2626) 2017-06-26 16:55:01 +02:00
HeartbeatThread.cpp make replication abortable (#4016) 2017-12-13 12:32:04 +01:00
HeartbeatThread.h Feature/server mode (#3590) 2017-11-10 17:56:21 +01:00
RestAgencyCallbacksHandler.cpp fix velocypack-over-HTTP responses 2017-02-28 17:01:59 +01:00
RestAgencyCallbacksHandler.h
RestClusterHandler.cpp Bug fix/fixes 1511 (#3711) 2017-11-16 14:18:51 +01:00
RestClusterHandler.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
SelectivityEstimates.cpp remove TRI_usleep and TRI_sleep, and use std::this_thread::sleep_for … (#3817) 2017-12-06 18:43:49 +01:00
SelectivityEstimates.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
ServerState.cpp fix premature unlock (#3802) 2017-12-13 13:27:42 +01:00
ServerState.h Bug fix/fixes 1511 (#3711) 2017-11-16 14:18:51 +01:00
ShardDistributionReporter.cpp Fixed minor issue in shard distribution reporter thanks to @danielhlarkin for spotting (#3695) 2017-11-14 16:47:25 +01:00
ShardDistributionReporter.h Bug fix/speedup shard distribution (#3645) 2017-11-10 15:17:08 +01:00
TraverserEngine.cpp fix premature unlock (#3802) 2017-12-13 13:27:42 +01:00
TraverserEngine.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
TraverserEngineRegistry.cpp Fixed unnecessary move of temporary object 2017-04-24 18:31:18 +02:00
TraverserEngineRegistry.h Integreated a ShortestPathEngine on DBServers and wired it up with ShortestPathNode and Options. The path seems to be computed correctly in clsuter now, but the vertices are not yet retrieved. 2017-04-20 13:57:14 +02:00
v8-cluster.cpp Bug fix/agencycomm validate methods broken (#3805) 2017-11-27 14:18:25 +01:00
v8-cluster.h