Frank Celler
40d73d5a8b
Revert "[WIP] Feature/reduce extraction to projection ( #2735 )"
...
This reverts commit 5bfcff30cd
.
2017-07-12 12:52:14 +02:00
Jan
5bfcff30cd
[WIP] Feature/reduce extraction to projection ( #2735 )
...
* reduce extractions to projections
* recycle string buffers in SocketTask
* micro optimizations for mmfiles indexes
* added special lookup function for _key
* moved function into the correct file
* speed up key buffer allocations a bit
* added noexcept specifier
* correctly name variable
* explicitly move bounds
* fix and speedup from/toPersistent functions
* reuse string from ManagedDocumentResult for multiple lookups
* use move-assign
* a bit less work for single server
* speedup AQL function HASH
* single fetch optimization
* performance optimization for the case when no documents need to be returned
* make reduce-extraction-to-projection a RocksDB-only optimizer rule
2017-07-12 11:22:29 +02:00
Jan
5c25b6934e
fix issue #2744 ( #2745 )
2017-07-07 12:39:02 +02:00
Frank Celler
bbe7484521
Feature/auth context ( #2704 )
...
* added read-only users
2017-07-02 23:15:57 +02:00
Jan
cfbd8ed93c
Bug fix/rocksdb autoincrement ( #2648 )
...
* Added autoincrement keygen support to RocksDB engine with test.
* fixed key generator state keeping for mmfiles engine
2017-06-23 15:27:09 +02:00
Jan
67016ba560
potentially fixed issue #2559 : Duplicate _key generated on insertion ( #2593 )
2017-06-19 17:44:59 +02:00
Jan
5cd9ad7ee1
fail with exception and not with undefined behavior when the expected primary index is not there! ( #2590 )
2017-06-18 22:48:15 +02:00
jsteemann
ad9fa2bd78
cleanup error codes a bit
2017-06-09 14:50:05 +02:00
jsteemann
e38705ec24
fixed logic error in index code
2017-06-06 23:59:06 +02:00
Dan Larkin
8c7ba2aaa3
Changed several index/collection APIs to provide better context messages.
...
Addresses Issue #342 .
2017-06-06 12:27:08 -04:00
jsteemann
12132c60c7
improve waitForSync performance for mmfiles
2017-06-06 12:44:39 +02:00
Simon Grätzer
72661d85c3
fixed incremental replication
2017-05-31 18:08:05 +02:00
jsteemann
e49cdceaa1
added missing lock
2017-05-24 19:41:43 +02:00
jsteemann
8bc6b3d3a1
removed default parameters
2017-05-18 15:06:19 +02:00
Simon Grätzer
9950fa7245
removing unused and unimplemented methods
2017-05-10 18:25:41 +02:00
jsteemann
910f5680b0
moved files
2017-05-02 12:34:28 +02:00
Max Neunhoeffer
170942da4f
Reduce maximal timeout in exponential backoff when waiting for a lock.
2017-04-28 11:38:17 +02:00
jsteemann
66ec078bd5
turn off deadlock detector in obvious cases in which it is not necessary
2017-04-27 14:47:19 +02:00
jsteemann
7344a03623
fix crashes
2017-04-25 15:47:11 +02:00
jsteemann
bd5737c5e7
try to fix shutdown issues when collection opening thread is waiting forever for scheduler to finish
2017-04-25 14:20:00 +02:00
jsteemann
861291da16
honor exclusive locks
2017-04-25 12:56:56 +02:00
Simon Grätzer
7176d34169
Fixed incremental synced
2017-04-24 15:40:48 +02:00
Dan Larkin
841ef8b1a0
Changed index VPack building to include forPersistence flag.
2017-04-17 17:04:50 -04:00
jsteemann
5f72d80cc2
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-04-07 14:56:41 +02:00
jsteemann
f33d14f0d1
issue #2413 : improve logging in case of lock timeout and deadlocks
2017-04-07 12:30:11 +02:00
Jan Christoph Uhde
5e63ba1e6f
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api
...
* 'engine-api' of https://github.com/arangodb/arangodb :
fix objectId handling
Fixing windows build
Fixing windows build
Bugfix: we want the common _and_ the server tests.
Conversion warnings
Conversion errors
Renaming test files
fix windows build
fix if clause
exclude longrunning tests
add slash here too.
...
2017-04-06 11:20:32 +02:00
Jan Christoph Uhde
cc39030042
move key options ot logical collection
2017-04-06 11:19:30 +02:00
jsteemann
0e98a32455
fix objectId handling
2017-04-06 11:19:27 +02:00
jsteemann
5880daf2a5
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api
2017-04-05 13:40:25 +02:00
jsteemann
1c43920bfc
preparations for revision()
2017-04-05 13:40:18 +02:00
Simon Grätzer
5822e77843
invokeOnAllElements
2017-04-05 13:38:43 +02:00
jsteemann
7fc2d97ae1
fix dropping of indexes
2017-04-04 16:41:05 +02:00
Jan Christoph Uhde
c038815941
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api
...
* 'engine-api' of https://github.com/arangodb/arangodb :
transaction-specific count tracking
initial implementation of count()
Fixed memory leaks in traverser.
Fix links in docs
Fix links in docs
pass trx into numberDocuments
Fixed undefined behaviour in TraverserCache.
improve error message in case wrong JSON is sent to the server
2017-03-31 15:06:21 +02:00
Jan Christoph Uhde
6a771c3caf
fix result handling
2017-03-31 13:34:02 +02:00
jsteemann
81dcfbbe3d
pass trx into numberDocuments
2017-03-31 11:33:16 +02:00
jsteemann
d563eb432f
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-03-30 15:50:53 +02:00
jsteemann
b0f6458e28
another fix for #2404
2017-03-30 15:07:55 +02:00
jsteemann
f728fcdbb8
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-03-29 02:41:00 +02:00
jsteemann
e1aef394d8
delete useless DEV_TIMERS, fix rwlockcpp11
2017-03-28 22:38:27 +02:00
Jan Christoph Uhde
b5e760b1d3
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api
...
* 'engine-api' of https://github.com/arangodb/arangodb :
move engine sources into their own cmake files
Fixed exception because of hash index
Fixed feature start order
fix recovery test
Edge index fixes
remove alignas
fix recovery test
force recovery tests to fail when not compiled with failure-tests
implement SLEEP() in C++
remove useless and harmful adjustment (lowering) of file descriptors limit
Windows: fix namespaces
fix recovery tests
slightly adjusted index creation
Removed some alignas directives.
alias boost to catch
fix arangosh test
start splitting testing.js into handy bits.
start splitting testing.js into handy bits.
start splitting testing.js into handy bits.
2017-03-28 12:01:24 +02:00
Jan Christoph Uhde
96897ebe08
ManagedDocumentResult now manages data when using setManaged
2017-03-28 11:54:04 +02:00
jsteemann
7bd6bd6e45
slightly adjusted index creation
2017-03-28 08:46:01 +02:00
jsteemann
b03f823db0
added lookupKey
2017-03-27 12:00:36 +02:00
jsteemann
78d586e670
fix typo
2017-03-27 11:01:56 +02:00
jsteemann
2c54a6ac1e
added some basic transaction handling
2017-03-24 17:23:32 +01:00
jsteemann
f17ff29518
added stubs for indexes
2017-03-23 15:24:00 +01:00
jsteemann
e270ddb262
fixed failing test
2017-03-22 14:46:10 +01:00
jsteemann
d9d9eaac60
fixed two cluster tests
2017-03-22 14:03:27 +01:00
jsteemann
71bf18dd12
renaming
2017-03-22 13:01:40 +01:00
jsteemann
b8e011eee5
move attributes into engine
2017-03-21 10:31:50 +01:00
jsteemann
29905e0e8b
constify and lower default lock timeout for collections
2017-03-20 11:37:39 +01:00
jsteemann
2ea436b3e9
a bit more debug messages
2017-03-20 11:33:27 +01:00
jsteemann
e3d8ae142e
some fixes for view handling
2017-03-17 11:18:46 +01:00
jsteemann
1932fd1975
moved files
2017-03-16 16:45:02 +01:00
Max Neunhoeffer
428b6aa67f
Port thread fixes from 3.1 to devel.
2017-03-16 13:53:40 +01:00
Michael Hackstein
ce4e394305
Merge branch 'devel' of github.com:arangodb/arangodb into engine-api
2017-03-15 12:35:53 +01:00
jsteemann
df3d33774e
fix revision conflict handling
2017-03-15 12:33:16 +01:00
Michael Hackstein
1ebf562c4e
Moved MMFiles out of vocbase.cpp
2017-03-14 10:29:17 +01:00
Michael Hackstein
83663c47b2
Deleted CollectionResult. It is identical to arangodb::Result introduced later.
2017-03-10 17:18:12 +02:00
jsteemann
31b050c5c7
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api
2017-03-09 16:06:47 +01:00
Michael Hackstein
046793815c
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-03-09 16:37:51 +02:00
jsteemann
e03497ec95
initialize members
2017-03-09 15:16:28 +01:00
Michael Hackstein
d0244b3d60
Usage of arangodb::Result above int return value. Moved marker logging out of v8-collection
2017-03-09 12:17:20 +01:00
jsteemann
6b882ca8a2
class renaming
2017-03-08 17:54:00 +01:00
Michael Hackstein
4701a40867
Cleanup LogicalCollection.h
2017-03-08 13:26:20 +01:00
Michael Hackstein
580d2a4336
Moved indexes down into the physical collections
2017-03-08 11:03:45 +01:00
Michael Hackstein
e6ab0afb50
Moved indexBuckets from Logical => MMFiles collection.
2017-03-07 14:07:32 +01:00
jsteemann
c2a41cb5a2
remove references to MMFiles*
2017-03-06 17:04:23 +01:00
Michael Hackstein
42e14c59f4
A MMFiles collection now reads a path if created from a slice.
2017-03-06 16:06:23 +01:00
jsteemann
236bc67216
fix crashes
2017-02-28 17:59:28 +01:00
Michael Hackstein
cac32a4d1d
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-28 14:59:13 +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
jsteemann
5e0fd0c8b2
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-02-27 22:27:51 +01:00
jsteemann
b872aa59fd
simplified performance logging
2017-02-27 22:22:41 +01:00
jsteemann
e37e94adbe
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api
2017-02-27 14:38:35 +01:00
jsteemann
666b2f8da9
renaming
2017-02-27 14:38:27 +01:00
Michael Hackstein
ae14ae99a5
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-27 13:01:12 +01:00
jsteemann
90f32ed525
renamed classes
2017-02-27 11:40:15 +01:00
jsteemann
d0df1952e8
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-02-24 17:51:59 +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
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
daf7cc73e9
Added a propertiesVPack to PhysicalCollection / MMFiles collection for engine specific properties
2017-02-23 11:27:16 +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
Jan Christoph Uhde
3a201b4362
add persistProperties() to PysicalCollection
2017-02-22 12:47:03 +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
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
jsteemann
f5c8932744
initial version of query execution plan cache, still very rough
2017-02-21 11:58:38 +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
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
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
jsteemann
089ff78d2d
moved collection lock state into its own struct
2017-02-16 10:27:14 +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
Michael Hackstein
cc999641a5
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-15 12:36:53 +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
jsteemann
ffa5e2aa54
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api
2017-02-15 10:26:11 +01:00
jsteemann
df3a3eff9f
refactoring
2017-02-15 10:26:05 +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
dffd9fc807
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-14 14:08:56 +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
jsteemann
0909ffe69b
moved helper functions into their own file
2017-02-14 13:44:54 +01:00
jsteemann
8a2e353f3d
move encoding functions into their own file
2017-02-14 12:57:15 +01:00
Michael Hackstein
c6830fb999
Moved more internal logic from Logical to Physical collection
2017-02-14 12:38:09 +01:00
jsteemann
80be198a39
moved helper classes into their own file
2017-02-14 12:35:34 +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
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
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
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
jsteemann
f09ec85127
renaming
2017-02-13 12:27:26 +01:00
Jan Christoph Uhde
163b3d45bf
remove fullyCollected and friends from LogicalCollection
2017-02-13 11:47:22 +01:00
jsteemann
d024a6d00a
remove logging for non-topics
2017-02-10 09:32:50 +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
jsteemann
e3bcb90916
remove revisions cache
2017-01-24 10:48:07 +01:00
jsteemann
c4d2ff3dce
renaming
2017-01-23 15:36:11 +01:00
jsteemann
7fedb4e956
moved files into engine directory
2017-01-23 13:52:57 +01:00