Jan
3350164ec6
a few simplifications and extensions ( #3115 )
2017-08-24 14:46:16 +02:00
Simon Grätzer
3f58a44e3b
Fix cases where the root user has access to excluded collections ( #2856 )
2017-08-03 21:16:08 +02:00
Jan
ed9d15156e
remove dependency on MMFiles features from non-MMFiles files ( #2925 )
2017-08-01 22:16:43 +02:00
Jan Christoph Uhde
ed8efe3566
Feature/issue 387 cluster index estimates ( #2866 )
2017-08-01 09:53:58 +02:00
Jan
582d3e5fd1
only sync RocksDB WAL in MMFiles engine when there is a reason to do so ( #2863 )
2017-07-26 21:49:41 +02:00
Frank Celler
a692577f5b
Feature/auth context ( #2815 )
2017-07-16 09:39:03 +02:00
Frank Celler
a5a25754ed
Feature/reduce extraction to projection ( #2792 )
...
* 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
* cppcheck
* try to fix compile error on MacOS
* bug fix for MacOSX
* missing namespace (in Windows compile)
2017-07-14 08:40:29 +02:00
Jan
4de1c16191
add a generic "StorageEngine" feature ( #2783 )
...
so that other features can indicate that they need a storage engine
but do not need to reference a concrete storage engine such as "mmfiles"
or "rocksdb"
2017-07-12 22:08:48 +02:00
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
a22a9ccb6c
fix authinfo caching ( #2743 )
...
https://github.com/arangodb/planning/issues/414
2017-07-06 17:31:46 +02:00
Manuel B
89abf64a92
check authorization when accessing query cache ( #2715 )
2017-07-03 18:38:52 +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
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
634254b80f
adding load and unload
2017-06-02 14:44:38 +02:00
jsteemann
b91eab0ce8
honor transaction options
2017-06-01 02:01:33 +02:00
Simon Grätzer
72661d85c3
fixed incremental replication
2017-05-31 18:08:05 +02:00
jsteemann
3dab019067
sync ENGINE file
2017-05-30 16:39:30 +02:00
jsteemann
f824f9b568
fixed failing tests
2017-05-30 12:43:20 +02:00
jsteemann
53b150b206
added tests for intermediate commits
2017-05-30 12:03:58 +02:00
jsteemann
6adebcb893
fix access mode in ReplicationTransaction
2017-05-17 11:53:34 +02:00
jsteemann
bc88e74277
fix logic in engine selector
2017-05-17 10:02:16 +02:00
jsteemann
298d99999f
improve error messages
2017-05-15 15:03:52 +02:00
jsteemann
c1f8daba17
more sensible error message
2017-05-15 14:58:53 +02:00
jsteemann
abeae0a30d
cppcheck
2017-05-11 21:21:58 +02:00
jsteemann
db19b4fdf3
Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
2017-05-11 19:01:49 +02:00
Simon Grätzer
c21bd1eeb8
Rocksb: index locking issue
2017-05-11 15:12:05 +02:00
jsteemann
17e9ea3d39
fix figures
2017-05-11 00:25:20 +02:00
Simon Grätzer
9950fa7245
removing unused and unimplemented methods
2017-05-10 18:25:41 +02:00
jsteemann
cbba71bb00
change feature order around
2017-05-10 14:29:20 +02:00
jsteemann
a00a24e458
remove unnecessary includes
2017-05-10 12:57:22 +02:00
Jan Christoph Uhde
a4a04350a3
fix replication
2017-05-08 17:43:36 +02:00
Jan Christoph Uhde
8ee0406c64
move last logger creation to engines
2017-05-08 15:18:19 +02:00
Jan Christoph Uhde
cf333f3b0a
move creation of tickranges and first ticks into storage engines
2017-05-08 14:11:41 +02:00
Jan Christoph Uhde
a8cc4c802d
move logger state creation into engines
2017-05-08 12:04:31 +02:00
jsteemann
d352794360
optimize away own transaction management for RocksDB engine
2017-05-04 23:16:53 +02:00
jsteemann
ff30754d50
disable dfdb in RocksDB
2017-05-04 01:15:02 +02:00
jsteemann
f1763e491d
fix db._engineStats()
2017-05-04 00:33:36 +02:00
jsteemann
e40d191434
print out version earlier
2017-05-03 23:46:33 +02:00
Jan Christoph Uhde
3cb1cc7a52
Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
...
* 'devel' of https://github.com/arangodb/arangodb :
Fixing index markers
exclusive locks for indexes
better incremental sync
grunt build
Avoid log spam.
Removed code paths that wrote objectIds into the Agency. This did break replication.
WAL: honor tick end value
WAL fiter after collection
Reactivated client-side filtering of unnecessary markers
Added an Assert when persisting an index it's objectId is not allowed to be 0
The RestReplicationHandler now inserts new ObjectIds when replicating collections
moved files
add dependencies for TransactionManager
fix include
move engine-specific test into engine test
2017-05-02 16:41:43 +02:00
Jan Christoph Uhde
da02fd36c6
move engine specific syncer code into engines
2017-05-02 16:36:27 +02:00
jsteemann
910f5680b0
moved files
2017-05-02 12:34:28 +02:00
jsteemann
64ec345481
add dependencies for TransactionManager
2017-05-02 12:22:13 +02:00
jsteemann
f36a889709
try to fix shutdown issues
2017-04-26 09:58:19 +02:00
jsteemann
861291da16
honor exclusive locks
2017-04-25 12:56:56 +02:00
Jan Christoph Uhde
5f31e2b692
Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
...
* 'devel' of https://github.com/arangodb/arangodb :
Removed non-applicable test case.
unused variable
rocksdb options
fixes for non-array IN lookups, added tests
Add check for distributeShardsLike to dropCollectionCoordinator.
fixed foxx test
added missing return
js request simplified if sslProtocol
pass also sslProtocol from request to internal.download
fixed issue #2450
cppcheck
Added a missing switch break.
remove dead code
updated CHANGELOG
raised to 4
added 'x-content-type-options: nosniff' to avoid MSIE bug
fixed queue size
added queue size to statistics
added queue time and request tracing with timings
2017-04-25 08:38:51 +02:00
jsteemann
d1cad2acc9
cppcheck
...
fix
2017-04-24 23:06:36 +02:00
Jan Christoph Uhde
37db67dee5
fix engine name
2017-04-24 19:01:31 +02:00
jsteemann
3727e7fb7a
first stab at exclusive locks
2017-04-20 12:25:53 +02:00
jsteemann
97b7463683
improve error message
2017-04-19 17:55:46 +02:00
jsteemann
67cd947266
fixed typos
2017-04-18 14:54:48 +02:00
jsteemann
f59c78b587
add engine capabilities
2017-04-06 14:50:27 +02:00
jsteemann
78302d1766
make versionFilename() a property of the engine
2017-04-04 17:23:02 +02:00
Jan Christoph Uhde
234180c08b
wip - drop database
2017-04-03 16:52:21 +02:00
jsteemann
81dcfbbe3d
pass trx into numberDocuments
2017-03-31 11:33:16 +02:00
Jan Christoph Uhde
95007fe28e
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api-arango-result
...
* 'engine-api' of https://github.com/arangodb/arangodb : (46 commits)
Merged RocksDBPathBasedIndex into RocksDBVPackIndex.
fix handling of externals
fix toArray()
fix returning documents
Added hash-, skip list, persistent indexes
harmonize filtering - filter on full filename.
mini modifications
standardize starting of servers for replication tests
Edge index compliant with design doc
another fix for #2404
Moved „removeLargeRange“ method to commons
Added length byte to IndexValue keys.
fixed issue #2404
Added drop to primary index
Added drop() to indexes
Fixes a coordinator crash in Clustered Traversal. In case of failover during query planning.
Fixed edge index
Expand on CORS documentation
Let ArangoDB handle the allow-credentials header
make the authentication tests run on directories
...
2017-03-30 19:46:17 +02:00
jsteemann
704c746c0d
fix toArray()
2017-03-30 17:02:54 +02:00
Jan Christoph Uhde
9619e77e1c
fix bug in Transaction state
2017-03-30 15:01:22 +02:00
Jan Christoph Uhde
b83ae2ab82
refactor some code to make use of arangodb::Result
2017-03-30 09:39:21 +02:00
Jan Christoph Uhde
796c32a341
improve error handling in some places
2017-03-29 11:04:04 +02:00
jsteemann
9276d82578
remove debug log messages
2017-03-27 11:20:43 +02:00
jsteemann
6ca2b237d1
add method to augment index creation data
2017-03-27 11:01:09 +02:00
jsteemann
2c54a6ac1e
added some basic transaction handling
2017-03-24 17:23:32 +01:00
jsteemann
2aa2fd65a4
more startup
2017-03-24 14:20:51 +01:00
jsteemann
2405ebee25
added diagnostic output
2017-03-23 14:16:26 +01:00
jsteemann
55c38befbf
enum databases, views and collections at startup
2017-03-23 11:52:22 +01:00
jsteemann
806c33eb1c
cleanup
2017-03-23 09:01:21 +01:00
Jan Christoph Uhde
7c7268b269
Try to load existing databases
2017-03-22 17:58:38 +01:00
Jan Christoph Uhde
e7202945dc
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-03-22 12:26:10 +01:00
Jan Christoph Uhde
d34f75548f
enable engine selection
2017-03-22 12:14:39 +01:00
jsteemann
fbb14ceffc
added db._engine()
2017-03-22 11:19:31 +01:00
Jan Christoph Uhde
58c1f3f70f
Work on RocksDBEngine and enable engine selection
2017-03-21 16:02:40 +01:00
jsteemann
0bb2711abb
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into views
2017-03-16 12:16:23 +01:00
jsteemann
7e7fe8bc21
discover views on startup
2017-03-15 14:48:10 +01:00
jsteemann
1a06f1e15e
initial functionality for views - unstable
2017-03-14 16:35:45 +01:00
Michael Hackstein
bf6f785415
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-03-13 17:31:51 +01:00
Michael Hackstein
1c33e77bd8
Moved unloadCollection callback into StorageEngine.
2017-03-13 17:28:08 +01:00
jsteemann
0a07bb3222
make RestWalHandler a handler of the MMFiles engine
2017-03-10 09:00:37 +01:00
jsteemann
f1ba4874fe
functionality for plugging REST handlers
2017-03-09 17:12:00 +01:00
jsteemann
010478ccd2
removed occurrences of mmfiles
2017-03-09 16:40:42 +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
645889949c
move engine-specific V8 functions into storage engine
2017-03-09 12:59:44 +01:00
Michael Hackstein
90b4876d3c
Moved WriteMarker code Vocbase => MMFilesEngine. Also removed the decission to write a marker out of Vocbase-API
2017-03-09 11:12:39 +01:00
Michael Hackstein
489f0d12b8
Moved the decision to write a marker into the databaseFeature, it is not triggered from outside any more. Furthermore renameCollection write marker is now done in MMFiles.
2017-03-08 14:54:25 +01:00
jsteemann
57dd92902c
move engine-specific optimizer rules into engine
2017-03-07 13:10:58 +01:00
jsteemann
66192a4046
added assertion
2017-03-02 13:21:07 +01:00
jsteemann
42fccb69c6
remove dependency on MMFilesLogfileManager
2017-03-01 15:50:10 +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
ae751e7360
create engine-specific transaction context data
2017-02-27 17:05:30 +01:00
Jan Christoph Uhde
3467031cb9
remove transferMarkers from StorageEngine.h
2017-02-21 16:00:37 +01:00
Jan Christoph Uhde
d73d25a310
remove some includes
2017-02-21 14:43:21 +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
jsteemann
c652a313da
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-02-17 14:03:59 +01:00
jsteemann
3e7432ccd6
clean up write lockers a bit
2017-02-16 15:44:45 +01:00
Michael Hackstein
a3aae2e43b
Moved saveIndex logic into the physical collection
2017-02-16 12:53:05 +01:00
jsteemann
fbd7f5d265
simplfied APIs
2017-02-16 10:00:46 +01:00
jsteemann
d49c5c3fc0
simplified internal APIs a bit
2017-02-15 12:42:07 +01:00
jsteemann
112d07f6c2
protect all properties of TransactionState
2017-02-15 11:37:35 +01:00
jsteemann
c69eb0a7d5
protect some properties
2017-02-15 11:14:56 +01:00
jsteemann
b4027dc02c
make property protected
2017-02-15 10:41:34 +01:00
jsteemann
df3a3eff9f
refactoring
2017-02-15 10:26:05 +01:00
jsteemann
9efc1c7b61
moved transaction status into its own file
2017-02-13 17:28:02 +01:00
jsteemann
72fa7ac85d
move _hasOperations flag into engine
2017-02-13 17:07:49 +01:00
jsteemann
a184697072
move RocksDB-specific transactions into engine
2017-02-13 16:53:58 +01:00
jsteemann
7e690a0c61
renaming
2017-02-13 15:18:40 +01:00
jsteemann
16189aa969
moved TransactionHints.h
2017-02-13 14:36:27 +01:00
jsteemann
eb73dbf960
renaming
2017-02-13 13:30:57 +01:00
jsteemann
f09ec85127
renaming
2017-02-13 12:27:26 +01:00
Michael Hackstein
4b604d798f
Merge branch 'devel' of github.com:arangodb/arangodb into devel
2017-02-13 10:49:36 +01:00
Jan Christoph Uhde
6249055f56
remove RocksDBEngine from EngineSelectorFeature
2017-02-13 10:44:13 +01:00
jsteemann
8b273b5eaf
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-02-13 08:37:41 +01:00
Jan Christoph Uhde
929390cee1
move index marker creation to storage engine
...
remove MMFilesLogfileManager from LogicalCollection
fix marker type
2017-02-10 15:14:34 +01:00
Jan Christoph Uhde
9131cde18b
Merge branch 'devel' of github.com:arangodb/arangodb into devel
...
* 'devel' of github.com:arangodb/arangodb:
fix another merge conflict
fix compile error after merge
remove logging for non-topics
Destroy all traverser engines when AQL is shut down.
2017-02-10 10:58:07 +01:00
Jan Christoph Uhde
7a66b0772a
clean up headers
2017-02-10 10:57:51 +01:00
jsteemann
103ceec2f5
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-02-10 09:43:23 +01:00
jsteemann
0850e8293a
Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
2017-02-10 09:34:55 +01:00
jsteemann
d024a6d00a
remove logging for non-topics
2017-02-10 09:32:50 +01:00
jsteemann
c314b9fdd3
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-02-10 09:12:28 +01:00
Jan Christoph Uhde
714dd3ee3a
rebase database-management
2017-02-09 18:47:20 +01:00
jsteemann
ab21b0b1ff
move functionality into engine
2017-02-09 14:50:41 +01:00
Michael Hackstein
dfc9f29e69
Moved FunctionDefinitions to an AqlFunctionFeature. This now has a defined startup ordering
2017-02-08 15:45:59 +01:00
Michael Hackstein
7cec7a4628
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-08 12:54:26 +01:00
Michael Hackstein
d47298d518
Removed JS_NEAR, JS_FULLTEXT, JS_WITHIN entirely. They have been replaced by simple queries
2017-02-08 12:54:10 +01:00
jsteemann
1555b0a453
move engine-specific things out of public API
2017-02-07 17:36:53 +01:00
jsteemann
5bc2a3680c
move some MMFiles-specific things into MMFiles directory
2017-02-07 16:38:04 +01:00
jsteemann
2c9e220f03
refactoring
2017-02-07 14:36:03 +01:00
jsteemann
600af50bb1
added convenience method collectionName
2017-02-07 12:05:36 +01:00
jsteemann
4fccb56f93
make TransactionState a class and privatize some of its internals
2017-02-07 11:58:34 +01:00
jsteemann
4a7c3734e0
remove friend class declaration
2017-02-07 11:45:50 +01:00
jsteemann
3b1e3fac52
make TransactionCollection more engine-specific
2017-02-07 11:24:58 +01:00
Michael Hackstein
a3aa963743
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-06 17:44:53 +01:00
Michael Hackstein
44647f2392
Moved Fulltext and geo functions into MMFiles StorageEngine and allowed the engines to register specific functions.
2017-02-06 17:44:17 +01:00
Jan Christoph Uhde
eddfaa9e83
add some comment and inspect interface
2017-02-06 16:14:04 +01:00
jsteemann
e2a312450f
fix out-of-memory handling at startup
2017-02-01 13:00:05 +01:00
Michael Hackstein
55e0f63fec
Moved major Index-creation out of LogicalCollection into the StorageEngine Specific IndexFactory.
2017-01-29 15:08:26 +01:00
Michael Hackstein
0027bc54c8
Create a StorageEngine-specific IndexFactory. Moved EnhanceIndexJson v8 -> IndexFactory.
2017-01-28 21:19:50 +01:00
Michael Hackstein
786ab413f8
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-01-25 13:20:24 +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
jsteemann
97ccfc9efc
remove useless includes
2017-01-25 12:00:57 +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
7fedb4e956
moved files into engine directory
2017-01-23 13:52:57 +01:00
Michael Hackstein
92ad574c97
Moved Indexes to StorageEngine
2017-01-23 13:32:23 +01:00
jsteemann
952c3f848e
factored out transaction manager from logfile manager
2017-01-23 12:31:45 +01:00
jsteemann
f9fb701505
moved LogfileManager into engine
2017-01-23 10:30:55 +01:00
jsteemann
43f46d1537
another attempt to fix TRI_ERROR_LOCK_TIMEOUT issues
2017-01-20 08:14:22 +01:00