1
0
Fork 0
Commit Graph

45346 Commits

Author SHA1 Message Date
Jan Christoph Uhde f995c46b71 nested collect backport 3.5 (#9587)
* stop optimization for nested collects (#9484)

* Update CHANGELOG
2019-07-29 16:57:29 +03:00
Jan 7813c76f32 Bug fix 3.5/fix replication failures (#9591)
* fix wrong string constant

* fix load balancing tests for mmfiles

* remove print

* try to fix mmfiles test
2019-07-29 16:32:08 +03:00
Wilfried Goesgens d9057ad695 fix runInArangosh result evaluation (#9589) 2019-07-29 15:56:22 +03:00
KVS85 ed3741b87e
Set RC6 date in CHANGELOG (#9586) 2019-07-27 00:41:49 +03:00
KVS85 71dfaeebd3
release version 3.5.0-rc.5 (#9585) 2019-07-27 00:15:14 +03:00
Matthew Von-Maszewski 0832c6d546 Feature 3.5: add gzip and encryption support to arangoexport and arangoimport (#9579)
* port gzip/encryption for arangoexport/import from devel branch

* revert Dump default use of gzip from true to false.

* Stylefix in changelog.
2019-07-27 00:06:33 +03:00
Wilfried Goesgens 8d2accac7c don't keep the memory stats in the collections to save disk space (#9582) 2019-07-26 23:51:47 +03:00
KVS85 ef99c43c93
Upgrade arangosync 0.6.5 (#9584) 2019-07-26 23:50:43 +03:00
Wilfried Goesgens abd3856302 fix test result handling of tests running in own spawned arangosh (#9577) 2019-07-26 17:52:17 +03:00
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 9777f53878 Bug fix 3.5/add db list transactions function (#9575)
* added missing function db._transactions(), and equivalent REST API route
GET /_api/transaction

* updated

* use performRequests

* updated CHANGELOG

* added tests, fixed segfault

* use throwNotRunning

* use read transactions for testing (mmfiles blocks with multiple write
transactions on the same collection)
2019-07-26 16:34:57 +03:00
KVS85 78d12ee7b0 Fix MACOSX_DEPLOYMENT_TARGET absence case (#9573) 2019-07-25 19:33:30 +02:00
Jan c2c6fcb52c fixed a bug in RTRIM implementation, fixed issue #9558 (#9563) 2019-07-25 15:57:33 +03:00
jsteemann fc1d13756d Merge branch '3.5' of github.com:arangodb/arangodb into 3.5 2019-07-24 17:55:26 +02:00
jsteemann 33ad71dd1c fix explainer for compatibility with 3.4 2019-07-24 17:53:52 +02:00
KVS85 62c0f937db Backport of MACOSX_DEPLOYMENT_TARGET from devel (#9554)
* Backport of MACOSX_DEPLOYMENT_TARGET from devel

* Fix typo
2019-07-24 15:42:12 +03:00
Jan 0a2c9359ac Added startup error for bad temporary directory setting. (#9551)
* 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).

* fix failing tests
2019-07-24 13:49:48 +03:00
Andrey Abramov 8913dd4062 Bug fix/iresearch trx (#9536) (#9549)
* 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 18:43:18 +03:00
Jan d2b01a4c5e Bug fix 3.5/make ttl indexes behave like others (#9547)
* 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.

* added tests

* updated CHANGELOG
2019-07-23 15:46:50 +03:00
Andrey Abramov 07039da8b1 fix asan issue (#9540) (#9541) 2019-07-22 19:24:33 +03:00
KVS85 5b8ed183c1
release version 3.5.0-rc.5 (#9539) 2019-07-22 19:17:03 +03:00
Jan 2209d568d0 fix undefined behavior in Scheduler calculations (#9538) 2019-07-22 19:14:16 +03:00
Michael Hackstein d5840c125a 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
2019-07-22 17:48:34 +03:00
Jan 313d60e656 Bug fix 3.5/fix smart join restrictions (#9534)
* fixed a query abort error with smart joins if both collections were
restricted to a single shard using the "restrict-to-single-shard"
optimizer rule

* updated CHANGELOG

* try to fix Windows build error
2019-07-22 15:52:08 +03:00
Jan 9b62f07478 move deleting of ClusterComm threads to the unprepare of the ClusterFeature (#9369) (#9525) 2019-07-22 10:50:37 +03:00
Andrey Abramov 8c74c16dbc properly handle removals during recovery (#9528) (#9529) 2019-07-21 16:20:02 +03:00
Andrey Abramov be88d8d499 bug-fix/internal-issue-#609 (#9464) (#9520)
* allow to access last operation tick of the transaction

* modify IResearchLink to rely on last commtted tick

* get rid of writing arangosearch markers to WAL

* further implementation

* local changes in iresearch

* add recovery states

* properly handle link creation during recovery

* adjust test cases

* properly handle nested transactions

* ungreylist recovery tests

* add more recovery tests

* do not use transaction to pass recovery tick

* do not store recoveryTick in MMFilesRecoveryState

* adjust tests

* fix mmfiles

* cleanup

* add context validity check

* fix tests

* fix more tests

* ensure subscription is not being released during commit

* address review comment

* final cleanup

* fix crash

* fix tests

* address test failures

* address review comments

* address review comments

* properly set recovery tick even if no recovery happened

# Conflicts:
#	arangod/IResearch/IResearchLink.cpp
2019-07-19 14:01:33 +03:00
Wilfried Goesgens 539fe919f5 Documentation 3.5/backport maintainers2 (#9513)
* connect the mocha testresults if we run it in an extra arangosh instance

* fix status handling, lint

* sometimes we have the string undefined to ignore

* fix filter forwarding for spawned arangoshs - add mocha version

* migrate mochaGrep into --testCase parametrizing

* re-sync maintainers readme
2019-07-19 11:25:33 +03:00
Tobias Gödderz 7e6b6fbed7 Bug fix 3.5/count collect should skip (#9512)
* Make CountCollectExecutor skip rather than fetch

* Cleanup, fix and test for top-level variables

* Added CHANGELOG entry and tests
2019-07-19 00:47:26 +03:00
Jan 47d7f9e3e2 Bug fix 3.5/fix uninitialized value (#9515)
* fix uninitialized time point value, which led to potential bogus error
messages

* fix typo in info message
2019-07-18 23:26:51 +03:00
Wilfried Goesgens 9781b9890c Bug fix 3.5/connect mocha results to testing js (#9493)
* connect the mocha testresults if we run it in an extra arangosh instance

* fix status handling, lint

* sometimes we have the string undefined to ignore

* fix filter forwarding for spawned arangoshs - add mocha version

* migrate mochaGrep into --testCase parametrizing
2019-07-18 19:49:03 +03:00
Tobias Gödderz 87e5fe7dd2 Bug fix 3.5/clean replication api wal tracking (#9503)
* Use int type for server id

Change serverId to an int

Pass syncerId only for synchronous replication

Added UrlBuilder

structs to classes, reordering

Added Location class, cleanup

Fixed initialization order

Use Location class

Use string for large ints

Documentation

Added clientInfo to ReplicationClientProgressTracker and corresponding rest handlers

Pass clientInfo string in sync replication

Pass clientInfo in addFollower, too

Updated docu

Renamed UrlBuilder to UrlHelper

Updated docu

Try to fix compile error on windows

Fixed a bug and a test

* Implemented @jsteeman's comments
2019-07-18 19:38:31 +03:00
Jan 2185cb7309 fix races in cluster collection creation, fix return codes of collection deletion (#9505)
* fix races in cluster collection creation, fix return codes of collection deletion

* honor review comments (partially)

* produce agency dumps only in maintainer mode

* fix unit test failures
2019-07-18 18:33:08 +03:00
Matthew Von-Maszewski 4441a806de Bugfix 3.5: Import would not report communication errors (#9500)
* arangoimport was neither reporting nor stopping on communications errors.  Add reporting of impacted lines for CSV imports.

* correct warning from Windows build about size_t to int conversion
2019-07-18 16:40:01 +03:00
Simran 391f1f534e Add updated JS deps to changelog (#8773) (#9475) 2019-07-18 15:46:40 +03:00
Wilfried Goesgens 338e7ce087 jslint is your friend. (#9509) 2019-07-18 14:52:25 +03:00
Simran ef3aeb00e5 Documentation 3.5/example generation improvements (#9498)
* Documentation/switch example generation to rocksdb (#9478)

* improve the formatting of the batch request documentation

* split to linewise, check whether we have a json and format it.

* Add missing asterisk

* Minor fixes / improvements
2019-07-18 14:45:59 +03:00
Simon 165e22658c Fix Arangosh windows instability (3.5) (#9492) 2019-07-17 18:23:12 +02:00
Jan e59a68be54 retry (#9480) 2019-07-17 11:01:25 +03:00
Simon 1432156e91 Port changes to fix the keep alive timeout (#9483) 2019-07-16 19:39:40 +03:00
Jan ae1133e2ad port fix for NowMicros (#9482) 2019-07-16 16:28:30 +03:00
Max Neunhoeffer a52ffb4e34
Add hot_backup to testing black list. 2019-07-15 11:49:52 +02:00
KVS85 43984488cd
Revert macOS package naming (#9470)
For alpha, beta, milestone, preview, rc release types
2019-07-12 19:13:22 +03:00
Matthew Von-Maszewski 02d1a17700 BugFix 3.5: Some error results have messages that are not reporting (#9463)
* coordinator would not always include rocksdb error message with error code

* Fix changelog
2019-07-11 23:06:23 +03:00
Frank Celler 2beb731264 Merge branch 'devel' of github.com:arangodb/arangodb into 3.5 2019-07-11 15:22:32 +02:00
Andrey Abramov f2ff365206
bug-fix/fix-arangosearch-recovery-mmfiles (#9448)
* start maintenance arangosearch threads after recovery is done

* ensure flush subscription is not being deallocated while in use

* add some tests

* properly determine storage engine

* adjust default view options

* stick to old index meta format in 3.5

* address test failures

* and cluster tests
2019-07-11 11:42:08 +03:00
Wilfried Goesgens 623048aff8 fix 6561f21536 - only abort on timeout, not regular exit failures (#9434)
* fix 6561f21536 - only abort on timeout, not regular exit failures

* make pre-check exception distinguishable, its got no ready existing test status
2019-07-10 18:48:46 +03:00
Dronplane 468a334894 Enabled and fixed disabled tests in ArangoSearch (#9450) 2019-07-10 18:19:09 +03:00
Michael Hackstein 43858dcd58 Bug fix/replication fast lane (#9373)
* Let sync replication go through FAST lane instead of SLOW lane. This should reduce the amount of drop followers under high load.

* First draft of a generic MockServer to test RestHandlers. Needs adaption later on

* Added a  test case for the RestDocumentHandler lane decission, synchronous replications should be fast-lane.

* Added CHANGELOG entry

* Applied review fixes

* Update CHANGELOG

Thanks for finding!

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

* Test with absurd timeout

* Removed debug timeout
2019-07-10 17:30:31 +03:00
Wilfried Goesgens 0ad76a8185 fix location - while they work with the server these tests are run in arangosh so they need to be in client/ (#9435)
* fix location - while they work with the server these tests are run in arangosh so they need to be in client/

* rename testsuite

* rename file as its testsuite

* Rename permissions_server to server_permissions
2019-07-10 16:49:12 +03:00