* Fixed bug where the Foxxmaster doesn't reset jobs after a crash when it should, or a non-master coordinator removes jobs in progress during startup
* Added a regression test
* Removed foxxmaster test from greylist
* Updated CHANGELOG
* Fixed non-maintainer compile
* Bug fix/update foxx services after restore (#6774)
* triggers foxx queue update which leads to the internal selfHeal function of a foxx app to make foxx apps publicy visible after a foxx app is restored
* this will also add the recognition of imported foxx services
* Testing JS refactoring
* Added test case for Foxx dump -> restore cases
* Fixed check, sth- i tries to contact to the foxx service. Test is red now.
* Fixed tests for dump / restore using Foxx. Also first draft to fix the fox side. Blocked by sth. fixed in the Main Repositorx already
* Fixed typo in dump/restore testsuite
* Removed old version of the fix
* Fixed JSLint
* Removed debug-log output from foxx manager
* Add tests for service failing on mount
* Don't install broken services
* Restore error page for broken services
* Prefer JSON error pages
* Expose service upsert in API
* Add Foxx fixes to CHANGELOG
* Update CHANGELOG
Typo
* Fix codeFrame formatting
Pushing the codeFrame first results in ugly line breaks or extra spaces.
* Include cause in MODULE_FAILURE message
The error is always a wrapper for an underlying cause so it should be easier to determine what caused it.
* Add a codeFrame for failed _install
We normally only want this in dev mode but service CRUD should always provide detailed info.
* Expose codeFrame in Foxx CRUD
The codeFrame can only come from a failed _install, so let's make it visible to Foxx CLI and friends.
* Add codeFrame to runScript
Scripts can also only be executed with access to the Foxx API so we can provide the same info as during CRUD.
* Trim codeFrame fileName to basePath
If we have a basePath, we don't need to expose the full path to the user for the codeFrame to be meaningful.
* Fix getReadableName
Previously 'catch-fire' would become 'Catch Ire'.
* Add to changelog
* Built a C++ skeleton REST handler for gharial, with fallback to the JS handler
* Moved aql::Graph to graph::Graph
* Added complete edge definitions to Graph
Also:
- some cleanup
- used forward-declarations in headers
- use Graph in graph rest handler
* Handle graph lookup failures according to the test suite
* Added GET vertex
* Bugfixes in ResultT
- Added missing #include
- Fixed move semantics
* Move central code of readVertex to GraphOperations
* ResultT fixes and complements
* Implemented a graph cache
* Added and used graph cache to the rest handler
* Added GET edge
* Added DELETE edge
* Extracted some code
* Added PATCH and PUT for both edge and vertex
* Moved update/replace transaction code to GraphOperations
* Added stub routes for POST and a TODO note
* Added a test checking that deleting a vertex removes all incident edges as well
* Added a test checking that deleting a vertex does not remove edges in non-graph collections
* fixed compiler warnings and errors
* Began work on DELETE vertex
For this, added a V8Context to allow for AQL queries to use subtransactions
* Continued work on DELETE vertex (still WIP)
* prep for graph post routes
* fixed removeVertex operation (aql)
* added post vertex and post edge gharial routes
* wasSynchronoues flag changed
* gharial post c++ handler, naming conventions
* added gharial tests
* temporary disabled cache (because not completed), added graph property read functions
* added c++ gharial list vertex collections
* added c++ gharial graph config
* added c++ gharial list graphs
* added graph manager class
* first implementation of create graph in c++, WIP
* changed error messages
* added etag to create graph api, still multiple edge definition check missing
* finished POST /_api/gharial/<graph>
* WIP - DELETE /_api/gharial/<graphName>
* added DELETE /_api/gharial/<graphName> validation, still missing correct response
* gharial delete
* fixed delete gharial lock
* finished DELETE /_api/gharial/<graphName>
* added routes for graph based vertices and edge definitions
* improved delete route
* added add new edge definition to existing graph
* patch edge definition in a graph, still <WIP>
* finished edit edge definition route
* code changes due to devel code changes
* added remove edge definition route
* added vertex delete function
* added todo note regarding one drop collection issue
* add oprhan collection to graph route implemented
* Added a test
* Updated a comment
* Several minor changes
* Minor changes during review
* Changes during review
* Changes during review
* Bugfix: orphans may be null or omitted
* Bugfix: resolve externals
* minor code changes
* seperated graph class to independent component classes
* seperated graph class to independent component classes
* removed log output
* fixed create collection behaviour in a cluster environment
* fixed enterprise graphs behaviour in c++ gharial api
* removed log output
* formatting
* improved error handling, fixed a linux compile bug
* more result refactoring
* more result type cleanup
* fixed wrongly defined test
* result handling
* error handling
* more refactoring
* Bugfix: avoid race condition in cluster when creating collections
* updated graph documentation
* added graph related static strings
* static strings, new method to create options for gharial created collections
* Some minor cleanup
* more use of static strings
* minor code changes, review
* added missing parseint
* removed gharial foxx, added js common module, added v8 general graph module
* correct use of virtual method
* more v8, js general graph, broken state
* more v8 graph functions
* fixed editEdgeDefinition, added drop function
* fixed drop behaviour
* added _list, _exists
* added c++ rename graph collections, added v8 + graph module function
* Added a regression test
* added graph._deleteEdgeDefinition, v8, server
* more v8g
* added _removeVertexCollection
* added _extendEditDefinitions
* todo, need to add a helper sort method for a local defined relation
* fixed test
* fixed lots of tests, added more client functions, _addVertexCollection on client module is still broken
* added more client graph functions, all tests green
* more client functions
* add del edge def route
* Fix use after move
* Minor changes in client general-graph.js module
* Make a copy before sorting (don't touch the argument)
* Minor changes and some additional asserts in graph tests
* Consistently set parameter defaults
* Renamed static strings
* Remove superfluous function
* Made comment more verbose
* Minor changes in general-graph-common.js
* Added missing template arguments
* Fixed community build
* Cleanup in editEdgeDefinition
* Regression test & bugfix: comparison of edge definitions didn' order from and to
* Fixed errors introduced by merge
* Minor changes in v8-general-graph.cpp
* Fixed test failure due to wrong error code in CE
* added missing id field
* Added permission checks for graph._create
* Removed assertion that is no longer valid
* Moved removeGraph from GraphOperations to GraphManager
* Allow C++ implementation of graph._drop to handle smart graphs
* Flush js client db cache after creating/dropping collections via the general graph module
* Added _deleteEdgeDefinition to the general graph client module
* WIP: Added permission checks for drop graph
* Fixed permission checks for drop graph
* Added permission checks for other graph operations
* Bugfix: assert edge definitions are returned in order
* Some cleanup
* Removed unused method
* Minor improvements in GraphManager
* Fixed a type in general-graph common module
* Most useful fix of all times ever: Do not auto cast from bool to int and alternate error/noerror by this
* Added the initial keyword to StaticStrings
* Added a new error code, used whenever a user tries to inject a documentcollection as a relation into the graph, which is invalid
* Some GraphManager/Ops/Graph cleanup. Less Slice parsing, more usage of GraphObjects
* Test edgeDefinitions in graphs with a defined ordering
* GraphClass Layout cleanup
* Do not test error messages, use codes instead
* Recreated backwards compatibility of Graph Creation Permission errors
* Changed error-code if edgedefinition is used twice
* Added a StaticString for the GraphName
* Renamed graphToVpack => graphForClient
* Partly fixed graph-api test to work with better error messages. Still red: The edgeDefinitions are now sorted, the test is supposed to sort his own list, but appearently does not do so. Under investigation
* Added a new error code that rejects injection of differently sharded smart collection into smartgraph. Should be more helpful to our users
* graph createCollectionOptions now require an open object to be cross-called from enterprise. Made enterprise switch for creation of graph more elegant.
* Updated graphs.cpp
* Massive refactoring. Made Factories for graphs to make SmartGraph much more transparent. Also reduced amount of multiple implementations of the same stuff. Killed vocbase/graphs use GraphManager instead. Removed usage of GraphCache, was not completely implemented anyway and only partially used, which is bad at the moment. Option for later improvement never the less
* Adapted JS code to now really use c++ variants. ALso included 3 Classes: Graph, SmartGraph and GraphModule.
* Fixed undefined behaviour in Remove Vertex. Fixed smartgraph sharding if one collection already exists.
* Removed DEBUG output
* Removed DEBUG logs
* Removed dead code
* Fixed Graph EdgeDefinition test, they now have a different ordering.
* Added a test when adding a vertexCollection that it is actually valid in the graph
* Client Graph API now correctly sends `orphanCollections` and not `orphans`
* Let GraphOperations modify the graph in-place. It should now properly handle edgeDefinitions.
* Added initial cid StaticString
* Included the vocbase in fromPersistence creation of Graphs. Only required to enhance 3.3 SmartGraphs on the fly.
* Fixed internal error message
* Fixed compiler isses originiated from merging
* Removed unused imports
* Regenerated generated file
* Cherry Picking LDAP changes
* Adding missing merges
* Fixing remaining mentions of FeatureCacheFeature
* Fix jslint
* Fixing some failed tests
* Fixing cluster authentication issue, red tests
* Fixing ldap testsuite, adding trace logging
* Fixint ldap tesuite setup and LDAP recognition
(cherry picked from commit 686d28a779)
* Fixing wrong assert
* Adding changelog entry, making requested changes from code review
* Fixing dump_authentication, fix typos
* improvements found during code review
* oops
* more use of sessionstorage
* fix tests
* Fixing broken handling, disallowing adding of local users when disabled
* Fixing testInvalidGrants
* Removing undefined auth level externally
* Fixing previous commit
* added tests for ldap search mode
* intentionally removed `after` methods from tests
because they are executed before the tests start
no cleanup is performed right now after the authentication tests
however, a cleanup is done at start of every test
* ldap tests all modes
* forward port changes from 3.3
* added generated files
* forward port missing changes for web UI
* added generated files
* added generated files
* Correctly expose parsed/raw config
This makes accessing the configuration more consistent by distinguishing between the raw (assigned) and parsed (validated/default) values.
Previously there was no way to recognise default values for unset config options and the "current" value did not actually reflect what the service sees.
* Add minimal option to config/deps routes
The default values are backwards compatible with the existing behaviour but can be overridden to consistently get more/less output.
* Actually merge warnings into non-mininal response
* Cleanup after each testrun
- add a success testsuite next to the fail testsuite
- create temporary directories in the fail & success testsuites
- add a function to cleanup the last unshifted directory
- don't say we're crashed when exiting with the help message
* Specify temp path for SUT so its files will be removed after cleanup.
- cleanup
- don't use getTempFile(), it will create another subdirectory that we don't clean up afterwards...
* Fix temp path usage
- creating a 'bundles' directory wherein we would keep our temporary bundle files would collide if we'd clean it up.
- create 'bundles-tmpxxxx' instead so its individual to us and we can remove it when done without problems.
* properly create & pass in a temporary directory - as we now require this.
* Remove intermediate directory recursive - for some unknown reason there may be temp files created.
* we need to unify tempfilenames here too.
* use individual suite names
* use the standart performTests to run the backup tests - so we have the proper directory and server handling from the infrastructure.
* fix temporary directory handling in the recovery tests.
* script to build debugging debian packages
* Improve test shutdown
- handle a set of options globally per testsuite, so they don't need to clone them inside.
- properly cleanup the slave instance of the replication tests after each run.
- The per testsuite options vector will fix the behaviour that after one failed testsuite
all other suites won't be cleaned up anymore.
* don't call the overal cleanup if anything failed.
* fix cleaning up of directories.
* cleanup, fix directory creation / deletion / dummy creation.
* cleanup, fix directory creation / deletion / dummy creation.
* fix tempdir handling for the recovery tests
* Don't use global static variables as collection caches - this may cause troubles.
* cleanup: remove old cluster kickstarter UI remaints.
* cleanup - remove references to long gone tests
* Pass config/deps on _install so setup can see them
* Only register service when install succeeded
* Don't throw after point of no return: breaky install is breaky
* Delete service files during install if service validation fail
* Delete service files during install if service execution fails
* Fix commitLocalState with invalide services
* Remove deprecated test
* Fix Foxx API error
* Manager should distinguish between errors and services
* Foxx API should not require service to exist for uninstall
if force option is used
* Respect options.force in FM _install
* Serve error when service is out of sync
* Don't check system services for bundles
* Use appropriate errorNum if Foxx blows up
* Only check checksum when file exists
* Don't expose stack traces
* Implement new self-heal
* Add error codes for 503, service missing/outdated
* Detect changes to service via rev
* Pretty print incoming response object in log