1
0
Fork 0
Commit Graph

45769 Commits

Author SHA1 Message Date
Jan 7c98893c73
reduce wait timeouts as a mitigation for notifying waiters without holding the required mutex (#9618) 2019-08-02 15:44:38 +02:00
Jan d05d305511
attempt to fix load_balancing tests in slow test environments (#9625) 2019-08-02 14:18:31 +02:00
Lars Maier af03f81562 Fail the FailedLeader Job if the new leader fails. (#9456)
* Fail the FailedLeader Job if the new leader fails.
* In case of timeout do not rollback.
* Fixed catch tests.
2019-08-02 11:49:04 +02:00
Jan 5282fa23c5
fix lagging AgencyCallbacks (#9617) 2019-08-02 11:44:01 +02:00
Lars Maier ed496fe5dd Feature/hotbackup devel (#9495)
Hotbackup
2019-08-02 11:39:46 +02:00
Dronplane 25caffe709 Bug fix/internal issue #616 (#9607)
* Added tests for analyzer removal and get with wrong db context

* Added Link ddl tests

* Added cross-base access to analyzers tests

* Fixed v8 analyzer remove/get operation. Removed redundant sorting.

* Fixed link creation with analyzer from other database

* Added check for cross-use analyzer from system db

* Fixed tests

* Fix typo in test

* Fixed comments

* Fixed indentation

* Link validation moved to LinkHelper

* Code cleanup

* Applied review comments

* Applied review comments

* Small reformatting

* added assert
2019-08-01 17:39:04 +03:00
KVS85 20d683251c upgrade Starter 0.14.12 2019-08-01 16:19:28 +02:00
KVS85 babfb90084 upgrade Starter 0.14.11 2019-08-01 14:26:45 +02:00
Wilfried Goesgens 81dd52099a fix typo (#9610) 2019-08-01 11:29:31 +02:00
Jan 7d829de89e added internal function getResponsibleServers() (#9604)
* added internal function getResponsibleServers()

* forgot to commit

* honor review comments

* Update arangod/Cluster/ClusterInfo.cpp

Potentially Fixed Unique logID usage. (let Jenkins test it)
2019-07-31 10:18:37 +02:00
KVS85 91f3ecd7f0 Upgrade arangosync 0.6.5 2019-07-30 17:05:14 +02:00
jsteemann 1bac6f00a4 slightly changed wording 2019-07-30 09:23:32 +02:00
Wilfried Goesgens b9020abc11 Bug fix/fix swagger datatype (#9045)
* remove http so https arangos will work

* verify that query parameters are proper swagger data types, fix offending documentation files

* return the actual type - not the list of available ones

* check formats

* there is no uint64 in swagger

* fresh swagger
2019-07-29 22:20:35 +02:00
KVS85 7945e01037
Fix ArangoSearch view creation errors (#9600) 2019-07-29 20:43:08 +03:00
Wilfried Goesgens a951a9f6af fix runInArangosh result evaluation (#9588) 2019-07-29 20:42:48 +03:00
Simon efa0cf4034 Add missing shared_from_this (#9594) 2019-07-29 16:53:26 +02:00
jsteemann a2fc0f8f17 emit a bit more context when certain failure occurs next time 2019-07-29 15:53:37 +02:00
jsteemann a723c21db1 try to fix mmfiles test 2019-07-29 15:00:24 +02:00
jsteemann 26e48d118e add missing includes 2019-07-29 14:06:30 +02:00
Jan 089895acf7
Bug fix/fix replication failures (#9592) 2019-07-29 13:24:52 +02:00
Jan Christoph Uhde fb839d1c40 stop optimization for nested collects (#9484) 2019-07-29 09:00:03 +02:00
Wilfried Goesgens 6b2486db21 don't keep the memory stats in the collections to save disk space (#9581) 2019-07-29 08:45:15 +02:00
Jan 5cc8e8ffb9
remove an optimization that is none (#9578) 2019-07-29 08:42:42 +02:00
Wilfried Goesgens 0abf2be222 Feature/add js isolate mem statistics (#9567) 2019-07-26 17:48:24 +02:00
Jan 50f41cec59
added missing function db._transactions(), and equivalent REST API route GET /_api/transaction (#9571) 2019-07-26 16:20:28 +02:00
Wilfried Goesgens c76d3a0323 fix test result handling of tests running in own spawned arangosh (#9576) 2019-07-26 15:03:24 +02:00
Matthew Von-Maszewski 91b56a50a3
Feature: Add gzip and encryption to import/export (#9560)
* port of feature-3.4/mv-gzip-export to devel branch

* add explicit namespaces so gcc 6.3.0 would successfully compile

* add conditional cleanup of ENCRYPTION file from another branch

* use _lseek() for Windows build to avoid deprecated warning.

* change from ifdef for lseek variants to TRI_LSEEK.

* force Windows lseek to return Linux expected type.
2019-07-26 07:53:39 -04:00
KVS85 0fb224af78 Fix MACOSX_DEPLOYMENT_TARGET absence case (#9574) 2019-07-25 19:33:12 +02:00
Jan b62eee034b
fixed a bug in RTRIM implementation, fixed issue #9558 (#9562) 2019-07-25 13:04:46 +02:00
Jan 4ea95bc109
ascii art (#9565) 2019-07-25 13:03:30 +02:00
jsteemann f9cb4d6590 fix explainer for compatibility with 3.4 2019-07-24 17:55:50 +02:00
Simon f7411627af Bug fix/http comm tasks (#9543) 2019-07-24 14:38:11 +02:00
Jan 973f00a997
Added startup error for bad temporary directory setting. (#9552)
* Added startup error for bad temporary directory setting.

  If the temporary directory (--temp.path) setting is identical to the database
  directory (`--database.directory`) this can eventually lead to data loss, as
  temporary files may be created inside the temporary directory, causing overwrites of
  existing database files/directories with the same names.
  Additionally the temporary directory may be cleaned at some point, and this would lead
  to an unintended cleanup of the database files/directories as well.
  Now, if the database directory and temporary directory are set to the same path, there
  will be a startup warning about potential data loss (though in ArangoDB 3.4 allowing to
  continue the startup - in 3.5 and higher we will abort the startup).
2019-07-24 12:47:42 +02:00
jsteemann 59e91838d8 added comments 2019-07-24 12:43:34 +02:00
KVS85 53af916cf6
Fix typo 2019-07-24 01:46:38 +03:00
Frank Celler 56d22ca438 added MACOSX_DEPLOYMENT_TARGET (#9532) 2019-07-24 01:35:22 +03:00
Andrey Abramov d91fb35e39
Bug fix/iresearch trx (#9536)
* add tescase for trx and iresearch

* iresearch transaction integration

* adjust test

* reverse operation for correct index

* remove debug output

* address jsling errors

* address review comments

* forgot something

* added missing fail
2019-07-23 17:44:29 +03:00
Jan b5932c2edf
make TTL indexes behave like other indexes on creation (#9546)
* make TTL indexes behave like other indexes on creation

if a TTL index is already present on a collection, the previous behavior
was to make subsequent calls to `ensureIndex` fail unconditionally with
the error "there can only be one ttl index per collection".

now, we are comparing the attributes of the to-be-created index with the
attributes of the existing TTL index and make it only fail when the
attributes differ. if the attributes are identical, the `ensureIndex`
call succeeds and returns the existing index.
2019-07-23 13:53:58 +02:00
Michael Hackstein 987ad41364
Forward Port of changes in 3.5 review (#9544)
* Bug fix 3.5/min replication factor (#9524)

* Cherry-pick minReplicationFactor

* Bug fix/failover with min replication factor (#9486)

* Improve collection time of IResearchQueryOptimizationTest

* Added a minReplicationFactor field in Collections. It is not possible to modify it yet and noone cares for it

* Added some assertion son minReplicationFactor

* Transaction API will now reject writes as soon as minimal replication factor is NOT fulfilled

* added minReplicationFactor to the user interface, preparation for the collection api changes

* added minReplicationFactor to VocBaseCollection, RestReplicationHandler, RestCollectionHandler, ClusterMethods, ClusterInfo and ClusterCollectionCreationInfo

* added minReplicationFactor usage to tests

* TODO TEMOPORARY COMMIT FOR TESTING PLEASE REVERT ME

* minReplicationFactor now able to change via collection  properties route

* fixed wrongly assert

* added minReplicationFactor to the graph management ui

* added minReplicationFactor to the gharial api

* Fixed off-by-one error in minReplicationFactor. We actually enforced one more.

* adjusted description of minReplicationFactor

* FollowerInfo Refactoring

* added gharial api graph creation tests with minimal replication factor

* proper cleanup of shell collection tests, removed lots of duplicate code, preparation for some new tests

* added collection create tests using invalid/valid names, replicationFactor and minReplicationFactor

* Debug logging

* MORE Debug logging

* Included replication fast lane

* Use correct minreplicationfactor

* modified debug logging

* Fixed compileissues

* MORE Debug logging

* MORE Debug logging

* MORE Debug logging

* MORE Debug logging

* MORE Debug logging

* MORE Debug logging

* MORE Debug logging

* Revert "MORE Debug logging"

This reverts commit dab5af28c0.

* Revert "MORE Debug logging"

This reverts commit 6134b664bd.

* Revert "MORE Debug logging"

This reverts commit 80160bdf3b.

* Revert "MORE Debug logging"

This reverts commit 06aabcdfe1.

* Removed debug output

* Added replication fast lane. Also refactored the commands as i cannot take it any more...

* Put some requests of RocksDBReplication onto CATCHUP Lane.

* Put some requests of MMFilesReplication onto CATCHUP Lane.

* Adjusted Fast and MED lane usage in Supervised scheduler

* Added changelog entry

* Added new features entry

* A new leader will now keep old followers in case of failover

* Update arangod/Cluster/ClusterCollectionCreationInfo.cpp

Co-Authored-By: Tobias Gödderz <tobias@arangodb.com>

* Fixed JSLINT

* Unified lane handling of replication handlers

* Sorry forgotten in last commit

* replaced strings with static strings

* more use of static strings

* optimized min repl description in the ui

* decr initial loop variable

* clean up of the createWithId test

* more use of static strings

* Update js/apps/system/_admin/aardvark/APP/frontend/js/views/collectionsView.js

Co-Authored-By: Tobias Gödderz <tobias@arangodb.com>

* Added some comments on condition, renamed variable as suggested in review

* Added check for min replicationFactor to be non-zero

* Added assertion

* Added function to modify min and max replication factor in one go

* added missing semicolon

* rm log devel

* Added a second information to follower info that can keep track of followers that have been in sync before a failover has taken place

* Maintenance reports previous version now to follower info. instead of lying by itself. The Follower Info now gets a failover save mode to report insync followers

* check replFactor against nr dbservers

* Add lie reporting in CURRENT

* Reverted most of my recent commits about Failover situation. The intended plan simply does not work out

* move replication checks from logical collection to rest collection handler

* added more replication tests

* Include assert only if we are not in gtest

* jslint

* set min repl factor to zero if satellite collection

* check replication attributes in v8 collection

* Initial commit, old plan, does not yet work

* fixed ires tests

* Included FailoverCandidates key. Not fully implemented

* fixed wrong assert

* unified in sync follower reporting

* fixed compiler errors

* Cleanup locking, and fixed potential deadlocks

* Comments about locking order in FollowerInfo.

* properly check uint

* Keep old leader as potential failover candidate

* Transaction methods now use followerInfo to check if the leader can write, this might have the sideeffect that 'failoverCandidates' are updated

* Let agency check failoverCandidates if possible

* Initialize member variables

* Use unified follower reporting in DBServerAgencySync

* Removed obsolete variable, collecting it somewhere else

* repl factor attr check

* Reimplemented previous followers, second attempt now. PhaseOne and PhaseTwo can now synchronize on current.

* Fixed assertion, forgot an off-by-one

* adjusted test to be more preciese now

* Fixed failove candidates list

* Disable write on dropping too many followers

* Allow to run updateFailoerCandidates multiple times with same leader.

* Final fixes, resilience tests now green, crossing fingers for jenkins

* Fixed race on atomics comparison

* Fixed invalid number type

* added nullptr handling

* added nullptr handling

* Removed invalid assert

* Make takeover of leadership an atomic operation

* Update tests/js/common/shell/shell-cluster-collection.js

Co-Authored-By: Tobias Gödderz <tobias@arangodb.com>

* Review fixes

* Fixed creation code to use takeoverLeadership

* Update arangod/Cluster/FollowerInfo.h

Co-Authored-By: Tobias Gödderz <tobias@arangodb.com>

* Applied review fixes

* There is no timeout

* Moved AQL + Pregel to INTERNAL_AQL lane, which is medium priority, to avoid deadlocks with Sync replication

* More review fixes

* Use difference if you want to compare two vectors...

* Use std::string ...

* Now check if we are in recovery mode

* Added documentation for minReplicationFactor

* Added readme update as well in documenation

* Removed merge conflict leftovers 0o, i should not trust the IDE

* Update js/apps/system/_admin/aardvark/APP/frontend/js/views/collectionsView.js

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

* Update js/apps/system/_admin/aardvark/APP/frontend/js/views/collectionsView.js

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

* Update Documentation/Books/Manual/Architecture/Replication/README.md

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

* Update CHANGELOG

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

* Update Documentation/Books/Manual/DataModeling/Collections/DatabaseMethods.md

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

* Update Documentation/Books/Manual/ReleaseNotes/NewFeatures35.md

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

* Update Documentation/DocuBlocks/Rest/Collections/1_structs.md

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

* Update js/apps/system/_admin/aardvark/APP/frontend/js/views/graphManagementView.js

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

* Update js/apps/system/_admin/aardvark/APP/frontend/js/views/graphManagementView.js

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

* Update Documentation/DocuBlocks/Rest/Graph/1_structs.md

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

* Apply suggestions from code review

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

* Adepted review requests, thanks for finding!

* Removed unnecessary const

* Apply suggestions from code review

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

* Moved initilization of variable more downwards

* Apply lock before notify_all()

* Remove documentation except DocuBlocks, covered by PR in docs repo

* Remove accidental indent

* Removed leftover merge conflict in documentation block
2019-07-23 13:14:38 +02:00
Jan 1e600c82a8
fix undefined behavior in Scheduler calculations (#9537) 2019-07-23 10:57:43 +02:00
Andrey Abramov 2f3c12eccb
fix asan issue (#9540) 2019-07-22 19:19:31 +03:00
Simran Brucherseifer 373b857e88 Docs: Add missing Cookbook placeholder folder 2019-07-22 16:12:36 +02:00
m0ppers 1430c38865 Remove documentation, now here: github.com/arangodb/docs (#8918)
DocuBlocks and Scripts remain in this repository!
2019-07-22 16:03:26 +02:00
Simran Brucherseifer b62fe08e9b Revert "Fix name of example graph in k Shortest Paths documentation (#8972)"
This reverts commit b09ab0657e.
2019-07-22 15:19:27 +02:00
Simran Brucherseifer 2aafef5324 Docs: Revert more accidental changes 2019-07-22 15:19:27 +02:00
Jan 53cd3024d2
fixed an issue with smart joins if both collections were restricted to a (#9535) 2019-07-22 15:16:10 +02:00
Simran Brucherseifer d5cbf9ee77 Remove some minReplicationFactor doc changes, fix indent 2019-07-22 15:10:23 +02:00
Dronplane 11ef4bf18c Bug fix/internal issue #566 (#9497)
* Implemented TOKENS with array as parameter

* Binary terms encoded as Base64

* Fixed tests for base64 encoded values

* Code cleanup

* Fixed error codes

* Fixed Mac build issue

* Changed error code in case of type error. Code cleanup.

* Reverted MSVC formatting

* added changelog message

* Applied review comments

* Applied review comments

* numeric terms moved to raw pointer.

* Fix *nix build issue
2019-07-22 14:23:35 +03:00
Andrey Abramov ac9f940247
properly handle removals during recovery (#9528) 2019-07-19 22:32:48 +03:00
Michael Hackstein 19c25d1e3b Fixed merge conflict marker 2019-07-19 17:26:45 +02:00