1
0
Fork 0
Commit Graph

21 Commits

Author SHA1 Message Date
Max Neunhöffer 804ac13db2
SynchronizeShard's potentially long running while loops yield for shutdown (#7523) 2018-11-29 11:47:16 +01:00
Max Neunhöffer b74358a3dd
Improve log messages. (#7520) 2018-11-29 11:30:43 +01:00
Tobias Gödderz a83300dc29 Fix error handling in case ClusterCommResult.result == nullptr (#7355) 2018-11-26 16:22:43 +01:00
Michael Hackstein 8098bb4eed
Bug fix 3.4/syncing of followers (#7377)
* Added some DEBUG output for replication rest handler

* Some more debug logging.

* Increased the priority of the ReplicationHandler. This way we will not get stuck with locks that cannot be canceled. Also cancel the lock on the correct database.

* Added extensive log output for replication thins

* Added tombstones to RestReplicationHandler. In a very unlikely case the cancel of a lock can be executed BEFORE the code that actually registers the lock, in this case we will now write a tombstone and do not lock.

* Revert "Added extensive log output for replication thins"

This reverts commit 6d4e37ea1e59e3b3457336019cc7dbc4c979504d.

* Added extensive log output for replication things, now in ERR level instead of MAINTAINER only

* Now actually use hours for synchronization

* React to errors under soft lock if they show up.

* Added a retry loop to increase the read-lock timer.

* Added more timeing output in RocksDB collection internals to figure out why the followers are dropped

* Tweaked RocksDB options

* Revert "Tweaked RocksDB options"

This reverts commit 2bf9c43280beda4792c47d079387fe5154cdd896.

* Removed debug output

* Applied all requested changes by goedderz

* Deleted unused variable
2018-11-23 16:08:27 +01:00
Wilfried Goesgens c50d346453 add alternative to ClusterInfo::getCollection() that doesn't throw (#7413)
* add alternative to ClusterInfo::getCollection() that doesn't throw (#7339)

* handle more potential nullptrs, fix try/catch scope
2018-11-23 11:15:25 +01:00
Simon 5124633e6a Faster index creation (#7348) 2018-11-20 13:41:01 +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
Dan Larkin-York 8bd754b9ad [3.4] Fix nullptr dereference in SynchronizeShard. (#7267) 2018-11-08 14:12:33 +01:00
Simon 9271a11441 RocksDB replication thread safety (#7088) (#7131) 2018-10-30 11:24:17 +01:00
Michael Hackstein e05880895a
Bug fix 3.4/shorter foot in door (#7084)
* Implement `syncCollectionCatchup` in DatabaseTailingSyncer.

First stab, might not even compile.

* Fixed a typo.

* Fix a typo and a compilation problem.

* Further compilation fix.

* Implement two stage catchup.

* Two small corrections.

* Unified error messages in Synchronize shard job.

* Improved a code comment.

* Fixed autocasting bool->double and double->bool issue. That is truely one of the best features ever invented... </irony>

* Renamed doHardLock => toSoftLockOnly and inverted default value

* Merged soft/hard foot logic with Transaction splits

* Use scopeguards to cancel readlocks
2018-10-26 16:16:52 +02:00
Jan b903f1f8ff
Bug fix 3.4/fix catch test issues (#7045) 2018-10-25 12:49:00 +02:00
Max Neunhöffer 052d8f2cdb
Fix a bug when getting in sync and old requests are still lingering. (#6788) (#6795) 2018-10-10 18:04:31 +02:00
Tobias Gödderz ed2c7ad774 Fixed testSetup(). Reduced redundant code. (#6760) 2018-10-08 18:57:07 +02:00
Dan Larkin-York 3d15b96f66 [3.4] Additional and cleaned-up logging (#6648) 2018-10-01 19:03:05 +02:00
Max Neunhöffer b67718d6aa
Fix cleanup of Current entry in case a follower is removed from Plan. (#6623)
* Properly remove unplanned followers in leader and Current.
* Add a catch test.
* Fix tests.
* Fix a bug with a temporary object.
* Protect against exception from getCollection not found.
2018-09-28 17:37:14 +02:00
Lars Maier c5b67d217d Feature 3.4/static const strings cleanup (#6504)
* AgentConfiguration cleanup
* static strings in maintenance / agency
* fix windows build
* test bogus
* got rid of old inefficient create method
* completed with NonAction
* this works with osx / windows
* map creation can be outside function
* string init order fiasco
* startup init fiasco
* fix init-order fiasco with static strings (#6475)
* try to work around compile errors
* Removed broken and unused strings.
2018-09-21 13:18:37 +02:00
Simon 3c965ee48a Resilience test failure points (#6545) 2018-09-20 01:04:38 +02:00
Jan 5022ccc24d
Bug fix/fixes 2508 (#6254) 2018-08-27 21:36:39 +02:00
Lars Maier 5555bd2fad Schmutz++ Improved (#6259)
* Fixed startup order. Don't start maintenance threads in single-server or agent.
Added range check for `--server.maintenance-threads`.
Fixed invalid array access, when shard exists locally but not in plan.
* Removed unused header imports.
* Added CHANGELOG entry
* Fixed shutdown bug. Startup fixed.
* Fixed catch test.
* Add Maintenance improvements to NewFeature34.md.
2018-08-27 20:25:09 +02:00
jsteemann 08ee458608 blind attempt to fix MacOS compile error 2018-08-24 13:57:33 +02:00
Kaveh Vahedipour 28754cbf15 Feature/schmutz plus plus (#5972)
- Schmutz now called "Maintenance" and completely implemented in C++
 - Fix index locking bug in mmfiles
 - Fix a bug in mmfiles with silent option and repsert
 - Slightly increase supervision okperiod and graceperiod
2018-08-24 12:15:35 +02:00