1
0
Fork 0
Commit Graph

218 Commits

Author SHA1 Message Date
Simon Grätzer 27c617fe10 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	3rdParty/V8/v8
#	arangod/Transaction/Methods.h
#	arangod/Utils/UserTransaction.h
#	arangod/V8Server/v8-collection.cpp
2017-03-01 14:52:35 +01:00
Michael Hackstein 7950270134 Removed obsolete code in LogicalCollection. 2017-02-28 16:08:54 +01:00
Michael Hackstein 900b15dd3a API cleanup in LogicalCollection. Removed some unused exposed toVelocypack functions. Removed toVelocyPack with maxTick variant. That is available in the StorageEngine instead 2017-02-28 15:35:31 +01:00
Michael Hackstein df4eadac75 Replaced several specialized toVelocyPack functions of LogicalCollection by toVelocyPackIgnore(). Fixed distributeLike bug that occured through this. 2017-02-28 14:54:32 +01:00
Michael Hackstein a884ee2bfb Intermediate commit. Moved many toVPack functions of LogicalCollection to a unified vpack + ignore-keys alternative. This commit is used to run all tests everywhere. May be red 2017-02-27 13:01:07 +01:00
Michael Hackstein c8f03d16e3 updateProperties now returns an CollectionResult container with errorMessage and code. Moved error reporting logic for cluster-case into this function. 2017-02-24 17:00:41 +01:00
Michael Hackstein 076198106d Now also the cluster variant of collection properties uses the shared toVPackVariant 2017-02-23 16:40:33 +01:00
Michael Hackstein cc78b0131f v8-collection-properties now reuses propertiesVPack on logical collection (SingleServerCase) 2017-02-23 15:31:13 +01:00
Michael Hackstein de31c68539 Moved isVolatile into MMfiles collection. 2017-02-23 14:56:54 +01:00
Michael Hackstein 853394da79 Moved keyGenerator into physicalCollection. Only used when actually storing data. 2017-02-23 11:10:58 +01:00
Michael Hackstein df59411710 Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-02-22 14:43:10 +01:00
Michael Hackstein a359424af0 Moved logic of write Marker out of the dropIndex API from Logical collection. Can be derived from the engine internally. 2017-02-22 12:32:54 +01:00
Jan Christoph Uhde 711a71ac4d add LogicalCollection::invokeOnAllElements()
and remove MMFilesPrimaryIndex.h from Transaction/Methods.cpp
2017-02-22 10:40:27 +01:00
Jan Christoph Uhde fcfe66e254 add getAll/AnyIterator to LogicalCollection 2017-02-22 09:24:38 +01:00
Jan Christoph Uhde 3467031cb9 remove transferMarkers from StorageEngine.h 2017-02-21 16:00:37 +01:00
Michael Hackstein 0f7d50765d Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-02-21 14:12:16 +01:00
Michael Hackstein fbdbfdcb6d Moved primaryIndex knowledge out of Logical Collection. Also moved logic for close into MMFiles 2017-02-21 14:12:07 +01:00
Jan Christoph Uhde 133961ff8d remove applyForTickRange from LogicalCollection 2017-02-21 13:42:59 +01:00
Jan Christoph Uhde e9555e4b10 remove rotateJournals from LogicalCollection 2017-02-21 11:06:53 +01:00
Jan Christoph Uhde 6e1f77be24 remove ditches from interface. the ditches concept needs fixing!! 2017-02-21 10:53:51 +01:00
Jan Christoph Uhde 0f86801645 remove updateStats from LogicalCollection interface 2017-02-21 10:06:51 +01:00
Jan Christoph Uhde cf970ed230 Squashed commit of the following:
commit 2644735fe06806ec8ffb78ceb2ede04037258952
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Tue Feb 21 09:10:55 2017 +0100

    failed ammend

commit c2b8604df5a60fd00e57b4f088fe8a2624d9ac3b
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Mon Feb 20 12:49:58 2017 +0100

    move - maxTick to Physical - RACE!
2017-02-21 09:19:49 +01:00
Jan Christoph Uhde 071137adf6 move doCompact into PhysicalColletion 2017-02-20 10:53:11 +01:00
Jan Christoph Uhde f3a1f128ee remove isFullyCollected from LogicalCollection 2017-02-20 10:28:28 +01:00
Jan Christoph Uhde 40a1345f76 Merge branch 'engine-api' of github.com:arangodb/arangodb into obi-engine-api
* 'engine-api' of github.com:arangodb/arangodb:
  Moved logic for drop index into MMFilesCollection
2017-02-20 09:50:17 +01:00
Michael Hackstein 17effdc065 Moved logic for drop index into MMFilesCollection 2017-02-20 09:06:41 +01:00
Jan Christoph Uhde 21cb8e3217 Merge branch 'engine-api' of github.com:arangodb/arangodb into obi-engine-api
* 'engine-api' of github.com:arangodb/arangodb:
  Removed readRevision from LogicalCollection. You only get readDocument with a token. Moved it's logic into MMFilesCollection. removed the ignoreWal parameter from readDocumentConditional. It was always true anyways...
  Moved pre-commit document modifications out of logical-collection into the physical collection. They are only relevant when actually writing to disc.
  Moved useSecondaryIndexes check from Logical to MMFiles collection
  Some cleanup in Logical collection imports
  Moved index filling into the MMFiles collection
  changelog
  grunt build
  css
  ui: queries now using cursors api - issue #2065
  remove crosscompile hack - it doesn't work anymore
  updated CHANGELOG
  add changlog entry for stacktrace log messages
  clean up write lockers a bit
  fix too early closing of sockets
  Moved restoreIndex to Physical collection.
  Fix a shell script used during build.
  Lower log level to debug in shutdown message.
  fix spelling
  Moved saveIndex logic into the physical collection
  fix potential deadlock

Conflicts:
	arangod/MMFiles/MMFilesCollection.cpp
	arangod/MMFiles/MMFilesCollection.h
	arangod/VocBase/LogicalCollection.cpp
2017-02-18 19:10:45 +01:00
Jan Christoph Uhde 2d5e74f7f6 move journaize() to PhysicalCollection
MMFilesCollection ctor might be buggy
2017-02-17 20:06:47 +01:00
Michael Hackstein 91f303e963 Removed readRevision from LogicalCollection. You only get readDocument with a token. Moved it's logic into MMFilesCollection. removed the ignoreWal parameter from readDocumentConditional. It was always true anyways... 2017-02-17 17:29:49 +01:00
Michael Hackstein b84b05244f Moved pre-commit document modifications out of logical-collection into the physical collection. They are only relevant when actually writing to disc. 2017-02-17 16:07:02 +01:00
Michael Hackstein 5366f09ec8 Moved useSecondaryIndexes check from Logical to MMFiles collection 2017-02-17 13:33:00 +01:00
Michael Hackstein e396446a17 Some cleanup in Logical collection imports 2017-02-17 13:16:22 +01:00
Michael Hackstein c543dd06a4 Moved index filling into the MMFiles collection 2017-02-17 12:56:54 +01:00
Michael Hackstein f0fbe78b2d Moved restoreIndex to Physical collection. 2017-02-16 15:01:00 +01:00
Michael Hackstein a3aae2e43b Moved saveIndex logic into the physical collection 2017-02-16 12:53:05 +01:00
Michael Hackstein 94fbfaa453 Moved the entire logic of open() to the Physical collection. It is different for each StorageEngine. 2017-02-15 16:26:55 +01:00
Michael Hackstein c3ff82f4e1 Moved version management to MMFiles collection. Logical does not need to know it. Removed PhysicalCollection inclode from logicical collection. Now we should rebuild less code whan changing sth in storage engine. 2017-02-15 15:48:33 +01:00
jsteemann 7ff2e19abb Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-15 12:46:06 +01:00
Jan Christoph Uhde be89cac445 move path from logical to physical 2017-02-15 11:43:38 +01:00
Michael Hackstein d49cbffc46 Moved revision handling from Logical to MMFiles collection. That is only relevant for MMFiles. 2017-02-15 11:26:58 +01:00
Michael Hackstein 9e41a7a6bb Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-02-15 10:09:55 +01:00
Michael Hackstein 089816a353 Moved Rollback Operation and InsertIntoIndexes from Logical to MMFilesCollection. This is marker/index specific code. 2017-02-15 10:09:51 +01:00
jsteemann 328ff8a09e Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-15 00:09:42 +01:00
Jan Christoph Uhde ce3b1ff9b5 Merge branch 'obi-storage' into devel
* obi-storage:
  move compation locking / figures out of logical collection

Conflicts:
	arangod/MMFiles/MMFilesCollection.h
	arangod/VocBase/LogicalCollection.h
2017-02-14 16:14:25 +01:00
Michael Hackstein 50368b9985 Moved CollectionRead/WriteLocker to MMFiles. Also moved cleanupIndexes to MMFilesCollection 2017-02-14 15:12:36 +01:00
Michael Hackstein d5e14a95f4 Moved truncate logic from Transaction::Methods to MMFilesCollection. It can do optimizations if close to the DB layer 2017-02-14 13:50:29 +01:00
Michael Hackstein c6830fb999 Moved more internal logic from Logical to Physical collection 2017-02-14 12:38:09 +01:00
Jan Christoph Uhde 071d147c5f move compation locking / figures out of logical collection 2017-02-14 12:34:46 +01:00
Michael Hackstein 6605a01410 Moved lookupDocument form LogicalCollection into MMFilesCollection. It is SE specific. 2017-02-14 11:37:45 +01:00
Michael Hackstein 32bd15d098 Renamed collection->update() to update the properties of a collection to collection->updateProperties(). There is another update() which is used for the stored Documents. 2017-02-14 10:32:24 +01:00
Michael Hackstein c8757efc8e Moved engine specific logic of Document Remove from Logical To Physical Collection 2017-02-14 10:20:32 +01:00
Michael Hackstein 2824c349bb Moved EngineSpecific logic of update() from LogicalCollection to MMFilesCollection. 2017-02-13 17:45:33 +01:00
Michael Hackstein c42b358987 Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-02-13 16:27:41 +01:00
Michael Hackstein 91a0d30122 Moved the engine specific parts of remove from LogicalCollection to Physical Collection. 2017-02-13 16:17:26 +01:00
jsteemann 383b534f5d fix compile errors 2017-02-13 15:42:02 +01:00
jsteemann 1ce4d4a97e Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-13 15:29:59 +01:00
jsteemann 92f61416ca Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api 2017-02-13 15:25:17 +01:00
Jan Christoph Uhde 82f91cfa1b prepare move of compaction to physicalcollection 2017-02-13 15:22:38 +01:00
jsteemann 7e690a0c61 renaming 2017-02-13 15:18:40 +01:00
Michael Hackstein e0bdc5c122 Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-02-13 14:58:54 +01:00
Michael Hackstein 0c30c290c6 Moved parts of LogicalCollection->insert() into the PhysicalCollectioN 2017-02-13 14:38:22 +01:00
jsteemann eb73dbf960 renaming 2017-02-13 13:30:57 +01:00
Jan Christoph Uhde 163b3d45bf remove fullyCollected and friends from LogicalCollection 2017-02-13 11:47:22 +01:00
Simon Grätzer 13f19fe51b Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/CMakeLists.txt
#	arangod/RestServer/arangod.cpp
#	arangod/Utils/ExplicitTransaction.h
#	arangod/V8Server/v8-collection.cpp
2017-02-02 11:25:23 +01:00
jsteemann 6598828449 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-01-31 00:33:42 +01:00
Simon Grätzer 40b3d1511c Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-01-30 20:39:36 +01:00
Dan Larkin 5b736dc319 Changed index-filling to dispatch batch insertion tasks to scheduler, obsoleted index-threads option. 2017-01-30 13:05:10 -05:00
jsteemann d96ce9af37 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-01-30 12:53:10 +01:00
Simon Grätzer 37243315e9 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-01-28 15:30:28 +01:00
jsteemann 20a2fd308b speed up remove a bit 2017-01-26 12:49:34 +01:00
Michael Hackstein f61a27d0e6 Merge branch 'devel' of github.com:arangodb/arangodb into devel 2017-01-26 09:50:00 +01:00
Michael Hackstein 00448bfc26 Transaction::invokeOnAllElements now works with a callback taken DocumentIdentifierTokens instead of IndexElements. 2017-01-25 15:03:08 +01:00
Michael Hackstein ce6d3b3492 The Fulltext index now return DocumentIdentifierTokens instead of revisions. Removed one inderection rid <-> Index_doc which were a typedef. 2017-01-25 13:20:15 +01:00
Michael Hackstein 2133b1448c Moved index API to return DocumentIdentifierTokens which are independent of the underlying storage engine. The agreement is, that the Engine gives a uint64_t sized identifier which allows to fetch any document back again. For MMFiles Engine this identifier is the revision. 2017-01-24 18:19:25 +01:00
jsteemann e3bcb90916 remove revisions cache 2017-01-24 10:48:07 +01:00
jsteemann c4d2ff3dce renaming 2017-01-23 15:36:11 +01:00
Simon Grätzer dd14b7b2dd Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-01-20 15:56:11 +01:00
Simon Grätzer d71ebf7c1d Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-01-20 14:42:19 +01:00
Kaveh Vahedipour 648160c68a Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-01-20 09:35:45 +01:00
Kaveh Vahedipour 40c6e2b48c unobserve should not create entries in agency, if empty before 2017-01-20 08:06:27 +01:00
jsteemann 1b1dacd873 fixed issues with same revisions being inserted 2017-01-19 17:14:38 +01:00
Simon Grätzer 1d66c418b6 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/CMakeLists.txt
2017-01-16 17:56:44 +01:00
jsteemann cdabaa931f renaming 2017-01-16 14:48:13 +01:00
Michael Hackstein 4f67c8352c Renewed restore-collection in RestReplicationHandler. It now uses new API to create Collections, doing all sanity-checks etc. 2017-01-16 13:36:46 +01:00
Michael Hackstein 1d33197a4f Updated the clusterInventory endpoint to use LogicalCollection instead of reading the Agency. 2017-01-12 13:39:46 +01:00
Simon Grätzer 20d32d05b2 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/VocBase/LogicalCollection.cpp
2017-01-09 13:34:37 +01:00
jsteemann 3c9d71fdcf performance fix for locks 2017-01-02 15:36:43 +01:00
Simon Grätzer 730ea4755e Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	scripts/startLocalCluster.sh
2016-12-09 14:30:19 +01:00
Andreas Streichardt 11bd9381d5 Add satellite collections 2016-12-06 16:40:50 +01:00
Simon Grätzer bc4c441f30 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2016-11-25 17:03:26 +01:00
Andreas Streichardt aff77dea41 Fix replicationFactor: -1 almost endless loop 2016-11-25 13:38:52 +01:00
Simon Grätzer 6258f79fa2 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2016-11-09 16:51:13 +01:00
jsteemann da2aa24703 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2016-11-09 14:46:56 +01:00
jsteemann ab4933c994 performance optimizations 2016-11-09 14:46:50 +01:00
Simon Grätzer bcf545c856 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2016-11-08 11:38:49 +01:00
Jan Steemann 5324a6bbe8 fix _rev handling when creating collections 2016-11-08 10:29:53 +01:00
jsteemann 5f65a9ed4f allow more control over handling of pre-3.1 _rev values
this changes the server startup option `--database.check-30-revisions` from a boolean (true/false)
parameter to a string parameter with the following possible values:

- "fail":
  will validate _rev values of 3.0 collections on collection loading and throw an exception when invalid _rev values are found.
  in this case collections with invalid _rev values are marked as corrupted and cannot be used in the ArangoDB 3.1 instance.
  the fix procedure for such collections is to export the collections from 3.0 database with arangodump and restore them in 3.1 with arangorestore.
  collections that do not contain invalid _rev values are marked as ok and will not be re-checked on following loads.
  collections that contain invalid _rev values will be re-checked on following loads.

- "true":
  will validate _rev values of 3.0 collections on collection loading and print a warning when invalid _rev values are found.
  in this case collections with invalid _rev values can be used in the ArangoDB 3.1 instance.
  however, subsequent operations on documents with invalid _rev values may silently fail or fail with explicit errors.
  the fix procedure for such collections is to export the collections from 3.0 database with arangodump and restore them in 3.1 with arangorestore.
  collections that do not contain invalid _rev values are marked as ok and will not be re-checked on following loads.
  collections that contain invalid _rev values will be re-checked on following loads.

- "false":
  will not validate _rev values on collection loading and not print warnings.
  no hint is given when invalid _rev values are found.
  subsequent operations on documents with invalid _rev values may silently fail or fail with explicit errors.
  this setting does not affect whether collections are re-checked later.
  collections will be re-checked on following loads if `--database.check-30-revisions` is later set to either `true` or `fail`.

The change also suppresses warnings that were printed when collections were restored using arangorestore, and the restore
data contained invalid _rev values. Now these warnings are suppressed, and new HLC _rev values are generated for these documents
as before.
2016-11-04 23:17:01 +01:00
Simon Grätzer 1c0253e5dc Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2016-11-03 00:12:56 +01:00
jsteemann cfc9ecd198 fix Visual Studio complaints 2016-10-31 09:59:18 +01:00
jsteemann b31ef5356c fix compile warnings because of mismatched class/struct usages 2016-10-24 10:51:03 +02:00