1
0
Fork 0
Commit Graph

13 Commits

Author SHA1 Message Date
Frank Celler 9477af198b big reformat 2018-12-26 00:57:05 +01:00
Tobias Gödderz 3d1c643e23 [3.4] MMFiles replication: get followers under lock (#7298)
* Fix resign order

* Fixed a typo

* Get followers later, add TODOs

* Added a callback parameter to collection insert methods

* Get followers under the lock if necessary

* Extracted the replication of inserts into a separate method

* Move shortcut into replicate method

* Added callbacks for remove, replace and update

* Added missing overrides

* Extracted replication code from modifyLocal and removeLocal

* Update followers under lock also during replace, update, remove

* Fix changes from the last commit for update/replace

* Update comments, add asserts

* Remove changes for document-level locks that will be done in another PR

* Unify replication

* Adapt log messages to the devel ones

* Move common methods from its descendants to TransactionCollection, fix Mock on the way

* More IResearch test / mock fixes

* Relax asserts for nested transactions

* Reformat

* Fix non-babies remove and modify replication
2018-11-19 13:03:07 +01:00
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
Jan 3350164ec6 a few simplifications and extensions (#3115) 2017-08-24 14:46:16 +02:00
jsteemann 3c1ecb03a4 slightly less allocations for MMFiles transaction ops 2017-06-07 00:30:18 +02:00
jsteemann 2aa2fd65a4 more startup 2017-03-24 14:20:51 +01:00
jsteemann 2ea436b3e9 a bit more debug messages 2017-03-20 11:33:27 +01:00
jsteemann 7e690a0c61 renaming 2017-02-13 15:18:40 +01:00
jsteemann eb73dbf960 renaming 2017-02-13 13:30:57 +01:00
jsteemann 1555b0a453 move engine-specific things out of public API 2017-02-07 17:36:53 +01:00
jsteemann 4fccb56f93 make TransactionState a class and privatize some of its internals 2017-02-07 11:58:34 +01:00
jsteemann 4a7c3734e0 remove friend class declaration 2017-02-07 11:45:50 +01:00
jsteemann 3b1e3fac52 make TransactionCollection more engine-specific 2017-02-07 11:24:58 +01:00