1
0
Fork 0
Commit Graph

44 Commits

Author SHA1 Message Date
Wilfried Goesgens 18748882d8 Feature 3.5/add js isolate mem statistics (#9569)
* add statistics about isolate memory usage, add isolate numbers to logs

* add statistics about isolate memory usage, add isolate numbers to logs

* add documentation

* Update Documentation/DocuBlocks/Rest/Administration/get_admin_statistics.md

Co-Authored-By: Jan <jsteemann@users.noreply.github.com>

* Update arangod/Statistics/Descriptions.cpp

Co-Authored-By: Jan <jsteemann@users.noreply.github.com>

* Update arangod/Statistics/StatisticsWorker.cpp

Co-Authored-By: Jan <jsteemann@users.noreply.github.com>

* Update lib/ApplicationFeatures/V8PlatformFeature.cpp

Co-Authored-By: Jan <jsteemann@users.noreply.github.com>

* Update lib/V8/v8-globals.h

Co-Authored-By: Jan <jsteemann@users.noreply.github.com>

* Update arangod/Statistics/Descriptions.cpp

Co-Authored-By: Jan <jsteemann@users.noreply.github.com>

* fix time handling as sugested by @jsteemann

* cleanup

* Update Documentation/DocuBlocks/Rest/Administration/get_admin_statistics.md

Co-Authored-By: Jan <jsteemann@users.noreply.github.com>

* Update Documentation/DocuBlocks/Rest/Administration/get_admin_statistics.md

Co-Authored-By: Jan <jsteemann@users.noreply.github.com>

* Update arangod/Statistics/StatisticsWorker.cpp

Co-Authored-By: Jan <jsteemann@users.noreply.github.com>
2019-07-26 16:36:20 +03:00
Jan Christoph Uhde 677a79026c Foxx Security (#8845) 2019-04-25 09:56:29 +02:00
Jan 207c978d1e
Bug fix/move a few actions from js to cpp (#8549) 2019-03-26 10:02:21 +01:00
Frank Celler ac9f375fb5 big reformat 2018-12-26 00:54:03 +01:00
Jan 360888c3ef
do not copy node_modules directory on startup (#6945) 2018-10-22 16:43:13 +02:00
Simon 82aa24ad7e Copy installation files on startup (#6491) 2018-09-14 11:15:21 +02:00
Jan 5873f63a72
Bug fix/fixes 2908 (#6279) 2018-08-31 17:26:54 +02:00
Vasiliy 6fd541d110 issue 427.5: use ApplicationServer reference instead of pointer (#6145)
* issue 427.5: use ApplicationServer reference instead of pointer

* address MSVC build failure
2018-08-15 12:16:02 +03:00
Frank Celler a688dc0962
Feature/remove job queue thread (#5986)
limiting V8 calls in flight
2018-08-10 12:17:43 +02:00
Michael Hackstein 7a95c5e675
Feature/feature phases (#5272)
* Added feature phases

* BasicsPhase and DatabasePhase to the required files. Server now has Feature circles and does not boot. Will be sorted out later on.

* Added ClusterPhase to features

* Added V8Phase to the required features

* Added AQLPhase to the affected features

* Added ServerPhase to Features

* Added FoxxPhase to the relevant features

* Added AgencyPhase to the relevant features

* Moved registration from local variable SYS_SYSTEM_REPLICATION_FACTOR from cluster to V8 as their ordering is now vice versa

* Moved Bootstrap feature into FoxxPhase. It could be moved to ServerPhase easily if the FoxxQueue dependency would be removed

* Final movement of Startup Phases. Now solved all circles.

* Removed merge conflict

* Moved ReplicationTimeout into cluster phase and fixed cross-phase requirements

* Added greetings phase. This phase separates the Basics Phase and is the first to be run. Includes Logger and Hello/Goodbye

* Added the GreetingsPhase in the corresponding features. Now all BasicsPhase features start after greetings Phase. There is some issue in this branch which prevents the Agency from Gossipping right now. Will be fixed next

* Moved creation of the Agent into the prepare phase of the feature. THereby it is guaranteed that agents at least exists before the GeneralServer is activating endpoints

* Recovery needs to be started after the ServerID

* Moved log output of FeaturePhases to DEBUG instead of ERROR.

* Added feature phases for clients

* ClusterFeature now does not directly require AgencyFeature any more

* Added requirement of TravEngineRegistryFeature in AQL feature. Otherwise shutdown may be undefined

* The ApplicationServer can now handout the list of ordered features. Used for testing purposes

* Fixed IResearchVew Tests Setup to honor new feature ordering

* Fixed IResearchViewDBServer Tests Setup to honor new feature ordering

* Started fixing IResearchView Coordinator tests with startup ordering. Not finished yet

* Added startup phases to ViewCoordinator test

* Disabled expected logoutput in ClusterRepairsTest

* Fixed indention in test code

* LinkCoordinator now honors startup ordering

* Link meta now honors startup rdering

* Supress expected cluster logs in ViewTest

* Removed '#' accidentially added.
2018-07-16 14:09:36 +02:00
Jan e6dcff8360
Bug fix/cleanup 2805 (#5477) 2018-05-29 10:16:48 +02:00
Simon a1416e1067 Make v8 optional on startup (#5220) 2018-04-30 12:48:57 +02:00
Wilfried Goesgens 5fbb78f4e3 Bug fix/fix context allocation (#4892) 2018-03-19 13:26:13 +01:00
Wilfried Goesgens 5c70062929 fix V8-context enter/exit pairs (#4879) 2018-03-19 11:03:54 +01:00
Simon 272859c5fd Replacing js upgrade logic (#4061) 2018-03-08 13:57:30 +01:00
Wilfried Goesgens 619155a62d Feature/aqlfunction to cpp (#4573) 2018-02-13 11:50:49 +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 7613bc4314 Bug fix/fixes 0211 (#3568)
* remove some non-unused V8 persistents

* do not throw that many bogus assertions

* do not rely on server role being defined

* slightly better debug output for V8 context debugging

* fix collection ids in inventory response

* simplify bootstrap a bit

* slightly better error handling

* make elapsed time a queryable value

* use less memory for stub collections

* added assertions that will always make sense

* added assertions

* do not garbage-collect while waiting

* less copying of parameters

* do not show "load indexes into memory" buttons for mmfiles engine

  as all indexes are in memory anyway

* when a collection is truncated via the web interface, flush the WAL and rotate all active journals

this will make close all open journals on leader and followers and make them subject to compaction opportunities

* fix invalid server id values being passed from web interface to backend

* introduce afterTruncate method for indexes

* added test case for issue #3447

* updated CHANGELOG

* don't warn about replicationFactor for system collections

* check that the queries actually use the geo index and not some other index

* properly report error in web interface

* fix some internals checks that made truncate fail for bigger collections in maintainer mode

* also run a compact() operation after a serious truncate

in order to make iteration over the truncated range much faster
when the collection is next accessed

* increase default maximum number of V8 contexts to at least 16
2017-11-09 12:48:15 +01:00
Simon Grätzer 7c31960cf2 Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
Jan 9358cc0b8e fix setting minimum number of v8 contexts (#3435) 2017-10-16 21:17:43 +02:00
Jan 4174cd20b9 minimum number of V8 contexts in console mode must be 2, not 1 (#3397)
this is required to ensure the console gets one dedicated V8 context and all other
operations have at least one extra context. This requirement was not enforced
anymore.
2017-10-13 12:24:03 +02:00
Wilfried Goesgens 69dbbf9e2d add more statistical values to the statistics handler (#3344) 2017-09-29 14:22:00 +02:00
Jan 5165155ed1 Bug fix/fixes 0609 (#3227)
* do not use V8 variant of AQL functions in early optimization stage when a C++ variant is available

* additionally, simplify AQL function definitions and aliases

* warn when more than 90% of max mappings are in use

* added C++ variant of replication catchup

* added `--log.role` option

* updated CHANGELOG

* removed non-existing scheduler.threads option from config

* removed useless __FILE__, __LINE__ invocations

* updated CHANGELOG

* allow a priority V8 context

* remove TRI_CORE_MEM_ZONE

* try to fix Windows errors & warnings

* cleanup

* removed memory zones altogether

* exclude system collections from collection tests
2017-09-13 16:28:21 +02:00
Jan 1ace247273 Bug fix/scheduling et al (#3161)
* added V8 context lifetime control options `--javascript.v8-contexts-max-invocations` and `--javascript.v8-contexts-max-age`

* make thread scheduling take into account most of the tasks dispatched via the io service
2017-08-30 10:40:02 +02:00
Frank Celler a692577f5b Feature/auth context (#2815) 2017-07-16 09:39:03 +02:00
Jan 345c8bc6f9 fix v8 context races on startup (#2747) 2017-07-07 12:34:56 +02:00
Max Neunhöffer e5819bf5ff don't enter a context if another thread is using it (#2671)
* don't enter a context if another thread is using it

* fix potential issues with other threads that could modify the list of contexts while we're waiting for a used context
2017-06-26 14:28:04 +02:00
Max Neunhoeffer 4bddb0c1ad Handle errors in loadScript for JS, use in cluster-bootstrap.
This recognizes errors that happen during the global cluster bootstrap.
If an error happens, the bootstrap is tried again later. The cluster
does not start until the cluster bootstrap has been finished
successfully.
2017-05-22 15:34:41 +02:00
jsteemann 83a607d6c4 make number of v8 contexts dynamic. start with just 1 or 2 contexts 2017-03-10 17:59:44 +01:00
jsteemann 6a1ddf7bec make method private 2017-03-09 13:32:19 +01:00
Frank Celler f559344034 added different path for different editions 2016-09-30 15:24:31 +02:00
jsteemann 96686b88cf don't copy 2016-06-07 23:08:43 +02:00
Frank Celler 16c6c2087d added unprepare 2016-06-06 18:27:51 +02:00
Max Neunhoeffer b05464b78c Cluster bootstrap revolution. 2016-04-29 13:59:12 +02:00
Frank Celler 2dd798cd48 WIP 2016-04-15 22:09:55 -07:00
Frank Celler 3f9dd62d4c WIP 2016-04-13 12:30:18 +02:00
Frank Celler dc3e8e6bdb WIP 2016-04-12 20:27:46 +02:00
Frank Celler 922753ef3d WIP 2016-04-11 17:44:41 +02:00
Frank Celler 3d2cc31306 WIP 2016-04-11 00:05:37 +02:00
Frank Celler 1b7c47c6bc added --console 2016-04-10 13:47:53 +02:00
Frank Celler 58b9cf7e91 WIP 2016-04-07 15:40:11 +02:00
Frank Celler 31d477477e WIP 2016-04-04 15:52:14 +02:00
Frank Celler 66b2a3717d WIP 2016-04-03 00:25:36 +02:00
Frank Celler e83c1f09b4 WIP 2016-04-02 23:41:21 +02:00