1
0
Fork 0
Commit Graph

303 Commits

Author SHA1 Message Date
Simon Grätzer ffc465433a No access collections Improvements (#3190)
* consolidated EdgeDocumentToken

* optimizing cluster traversal

* adding skip collection checks

* API cleanup

* copying AQLValue to avoid use-after-free bugs

* Fixing rocksdb SingleServerEdgeCursor

* Fixing a collection resolving issue
2017-09-07 14:55:07 +02:00
Michael Hackstein da4d7966a8 Bug fix/truncate geo (#3173)
* Add geo truncate test

* added a specific truncate method to rocksdb geo index

* Fixing truncate on rocksdb geo-indexes with support for rollbacks
2017-09-04 17:48:04 +02:00
Jan 523d99b236 Bug fix/fixes 0109 (#3191)
* fix double free

* simplfy conditions

* fix cppcheck complaint
2017-09-04 17:32:25 +02:00
Dan Larkin a775e37c76 Feature/unique vpack index lookup performance improvements with rocksdbkey optimizations (#3123)
* fixed issue #3075

* update the known issues document, as some issues have already been fixed

* speed up equality lookups in unique vpack indexes

* Allow for re-use of RocksDBKey objects through transaction leaser.

* Converted all RocksDBKey variants to non-static constructors.
2017-08-31 20:00:05 +02:00
Simon Grätzer 88d01b89b5 Optimizations for Caches and Graph Traversals (#3169) 2017-08-31 18:33:10 +02:00
Dan Larkin 18e8c19271 Improvements to CachedValue internals and handling. (#3126)
* Added checks everywhere for CachedValue::construct.

* Enforce 16MiB limit on keys and 4GiB limit on values.

* Protected members behind function calls in anticipation of format change.

* Shrunk CachedValue struct.

* Fixed alignment of CachedValues.

* Fixed improper comparison.
2017-08-28 15:07:16 +02:00
Frank Celler 6d08d4f4aa Bug fix/scheduler delete (#3077)
* removed delete call

* cleanup

* lower cpu activity of log thread too

* fix log messages

* do not enter threads into unordered_set, as it is unneeded

* do not compile in calls to disabled plan cache

* moved AQL regex cache from thread local variables to a class of its own

* more sensible thread creation and destruction
2017-08-25 12:00:17 +02:00
Jan a212f45a86 Bug fix/issues 2308 (#3117)
* remove API docs for endpoints that were deleted in 3.0

* remove unused variable

* set all scalar values in the ctor, so check tools do not complain

* move Result objects

* prevent potential nullptr access

* remove ambiguous boolean parameter with no clear meaning

* make code check tools happy

* don't allow copying cache Findings, allow moving Results

* the debug functionality for counting RocksDB key ranges was broken

this produced sporadic test failures

* remove superfluous iostream include

* fix range checks

* don't leak if an error happens during database removal

* try to simplify Result a bit

* try to deletion checks a bit more robust
2017-08-24 14:47:22 +02:00
Jan 8e4dac4fc4 fix fulltext index removal performance, simplified code (#3015)
* simplify index API a bit

* fix fulltext index removal performance, simplified code

* updated CHANGELOG

* fix hanging test

* try to fix shutdown problem

* improve fulltext query performance

* fixed duplicate var

* removed obsolete code

* fix some shutdown races

* do not call ensureIndex that often
2017-08-12 09:25:30 +02:00
Simon Grätzer 4cc8686e82 RocksDB: Optimizing dropCollection / dropIndex / fillIndex (#2927)
* cleaning up several duplicate versions of Index::memory, Index::cleanup, Index::drop, integrating branch issue-383-ensure-delete

* fixing wrong column family
2017-08-05 21:09:41 +02:00
Jan 40c5b94d68 Bug fix/nightly fixes (#2946)
* fix internal documentation (thanks @Simran-B)

* fixed issue #2810

* potential fix for issue #2939

* updated CHANGELOG

* updated CHANGELOG
2017-08-04 13:34:12 +02:00
Jan a10832d41e do not allow the creation of volatile collections in the RocksDB stor… (#2900)
* do not allow the creation of volatile collections in the RocksDB storage engine

* only create a volatile collection for mmfiles in test

* fix tests
2017-08-03 22:45:17 +02:00
Jan Christoph Uhde ed8efe3566 Feature/issue 387 cluster index estimates (#2866) 2017-08-01 09:53:58 +02:00
Jan 634574ed9f don't mask errors with fake OOM messages (#2872) 2017-07-28 12:08:37 +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
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 bee32b6325 properly compact ranges so data actually gets deleted after drop etc. (#2771) 2017-07-11 21:47:16 +02:00
Simon Grätzer d8c57f2cc8 Feature/rocksdb hashsearch (#2713)
* Testing hash for documents

* fixing logspam error

* added base support for kHash in the edge index

* Current version of hash enabled edge index

* removed rocksdb key type byte, dynamic prefixes for hash-index

* Fixing issues with key classes

* Fixing merge conflict

* Fixing version with semi-working hash index

* fixing various issues

* Fixing hanger in EdgeIndexIterator nextExta, when _cache is disabled. Reenable cache

* Fixing geo index bounds, and fillIndexes error handling

* Adding back failure point

* Fixing RocksDBKey::vertexId

* Added version check on startup

* Fixing version check

* added one more check

* properly detect column families at startup

* Adding additional sanity checking

* Adding missing column family

* some fixes

* Turned off geoindex sync

* fixed error

* added asserts (untested)

* Adding more asserts
2017-07-05 10:18:52 +02:00
Jan 6db52fe25f fix compile warnings once again (#2673) 2017-06-26 20:23:15 +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 cb8014dbdd use correct column families for size estimates (#2624) 2017-06-22 12:32:08 +02:00
Dan Larkin a3ae2b7191 Augmented cache API and fixed a potential deadlock scenario. (#2579)
* Augmented cache API and fixed a potential deadlock scenario.

* The RocksDBEdgeIndex now tries to read up to 10 times form the cache on lock_timeout. Instead of rewriting everything after first attempt
2017-06-19 17:28:04 +02:00
Michael Hackstein f7e40a14ca RocksDBBounds now give info about their columnFamily. Adapted convenience methods that used those bounds to use correct column family now 2017-06-08 11:47:02 +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
Simon Grätzer 634254b80f adding load and unload 2017-06-02 14:44:38 +02:00
Simon Grätzer 72661d85c3 fixed incremental replication 2017-05-31 18:08:05 +02:00
Simon Grätzer 469e57773e workaround for replication 2017-05-31 16:37:58 +02:00
Simon Grätzer 58c8da1acf fixing replication 2017-05-31 14:39:40 +02:00
Simon Grätzer 53ece582a8 optimized all index iterator 2017-05-31 11:34:32 +02:00
Simon Grätzer f8ab86e160 Begin storage format refactoring 2017-05-29 16:00:55 +02:00
Simon Grätzer 21dd147ad6 Fixing issues 2017-05-26 14:03:12 +02:00
Simon Grätzer d5f85d5bbb Adding more colum families 2017-05-26 10:43:17 +02:00
Simon Grätzer 88977d204a Merge branch 'devel' of https://github.com/arangodb/arangodb into column-family
# Conflicts:
#	arangod/RocksDBEngine/RocksDBIndex.cpp
#	arangod/RocksDBEngine/RocksDBIndex.h
#	arangod/RocksDBEngine/RocksDBPrimaryIndex.cpp
#	arangod/RocksDBEngine/RocksDBPrimaryIndex.h
2017-05-23 11:17:30 +02:00
Simon Grätzer ddfa15b8cc Adding bound checking back 2017-05-22 19:09:32 +02:00
Simon Grätzer 9679aecf53 Adding bounds back 2017-05-22 17:39:19 +02:00
Simon Grätzer 45d7c5c715 Various debugging changes 2017-05-20 17:44:28 +02:00
Simon Grätzer a99611e7c0 Various changes 2017-05-19 16:43:00 +02:00
jsteemann 8bc6b3d3a1 removed default parameters 2017-05-18 15:06:19 +02:00
jsteemann b3c87b1f29 fix dropping indexes 2017-05-18 14:29:54 +02:00
jsteemann b68482bcaa Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-05-18 00:17:55 +02:00
jsteemann 226920d7fa optimizations 2017-05-17 23:41:16 +02:00
Michael Hackstein b4d1664023 Disabled Collection Cache {_rev => doc} and PrimaryIndex Cache {_key => _rev}. This seems to not have a positive effect in our tests. 2017-05-17 17:50:15 +02:00
Dan Larkin e0465e0943 Merge branch 'devel' of github.com:arangodb/arangodb into devel 2017-05-17 09:39:08 -04:00
Dan Larkin 8decc3c8b8 Fixed some uninitialized values. 2017-05-17 09:38:31 -04:00
Simon Grätzer 3b9e2c2f13 fixing deadlock 2017-05-17 13:44:43 +02:00
Simon Grätzer 0c6de98365 Fixed SLPA 2017-05-17 11:50:24 +02:00
Simon Grätzer b72243ab15 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-05-16 10:58:20 +02:00
Simon Grätzer df3eed2289 Various changes 2017-05-16 10:58:15 +02:00
jsteemann 572a2ea9e7 remove debug log message 2017-05-16 02:00:46 +02:00
Simon Grätzer 6472d7cc94 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/RocksDBEngine/RocksDBCollection.cpp
2017-05-15 17:36:09 +02:00
Simon Grätzer 70a1d27121 intermediate commits 2017-05-15 17:35:16 +02:00
Michael Hackstein d7d650e27d Implemented index estimates for RocksDB. Now the following indexes have
a proper estimate:
* HashIndex
* SkiplistIndex / Persistent
* EdgeIndex
2017-05-15 17:17:58 +02:00
jsteemann f49a32dff9 added missing casts 2017-05-15 14:39:27 +02:00
Simon Grätzer ead7ebcd7b Little changes for SLPA support 2017-05-15 10:42:25 +02:00
Simon Grätzer fe0e296737 RocksDB: fixing WAL tailing issues 2017-05-13 01:08:22 +02:00
jsteemann 68611a0a6a Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-05-11 20:58:49 +02:00
Dan Larkin 787335929c Merge branch 'devel' of github.com:arangodb/arangodb into devel 2017-05-11 14:39:06 -04:00
Dan Larkin 1fc3480a6b Added document cache. 2017-05-11 14:39:00 -04: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 310166d3cf Fixing locking error 2017-05-11 15:55:06 +02:00
Simon Grätzer c21bd1eeb8 Rocksb: index locking issue 2017-05-11 15:12:05 +02:00
Dan Larkin 52711a2b00 Added proper truncation support for RocksDB indexes. 2017-05-10 19:57:22 -04:00
jsteemann 17e9ea3d39 fix figures 2017-05-11 00:25:20 +02:00
Jan Christoph Uhde e2b78d71b6 Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/edge-index-cache
* 'devel' of https://github.com/arangodb/arangodb:
  Fix abort conditions of FailedLeader
  removing unused and unimplemented methods
  cppcheck
  getting rid of exceptions in supervision
  change to sleep_until so older windows are pleased (and is a better fitting method anyway)
  "searching for culprit breaking ensureIndex in cluster through go driver"
  Fixing fulltext deduplication
2017-05-10 19:00:19 +02:00
Jan Christoph Uhde 847dd3ad5d Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/edge-index-cache
* 'devel' of https://github.com/arangodb/arangodb:
  geo index fixes
  adding transactions to the geo index
2017-05-10 18:43:20 +02:00
Simon Grätzer 9950fa7245 removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
Jan Christoph Uhde 3e25aec2f3 fix enabling of caches 2017-05-10 15:58:28 +02:00
Simon Grätzer 5fa85761a2 adding transactions to the geo index 2017-05-10 14:54:39 +02:00
Simon Grätzer 4b563744d8 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-05-10 13:02:30 +02:00
Simon Grätzer cd344f9f14 Fix truncate for geo 2017-05-10 13:02:20 +02:00
jsteemann 12093e809f added assertions 2017-05-10 12:58:28 +02:00
jsteemann dc4ea0e580 initialize bool variable 2017-05-10 11:10:54 +02:00
Dan Larkin 9662b26002 Merge branch 'devel' of github.com:arangodb/arangodb into devel 2017-05-09 18:44:15 -04:00
Dan Larkin ca91c0f7c9 Added some optimizations enabled by prefix extraction. 2017-05-09 18:36:12 -04:00
Simon Grätzer f62c99188c Seemingly functional geo index 2017-05-08 17:48:08 +02:00
Simon Grätzer 31b87de7b3 Adding full text index to tests, and fixing some error handling 2017-05-08 11:41:12 +02:00
jsteemann 1f5731461a fix recovery tests 2017-05-08 08:55:35 +02:00
Simon Grätzer 6f69454c82 Added fulltext index 2017-05-05 15:44:15 +02:00
Simon Grätzer d9bff18814 Fulltext index 2017-05-05 13:58:11 +02:00
Simon Grätzer 804676ae65 Moving estimatedSize to memory() 2017-05-04 18:57:22 +02:00
Simon Grätzer 94e4437c3a Added some non transactional truncate logic 2017-05-04 18:07:47 +02:00
Simon Grätzer 9837fe3bb7 Added compaction after truncate 2017-05-04 14:00:21 +02:00
Simon Grätzer 40b8eb2824 Trigger compaction on drop and truncate 2017-05-04 13:45:30 +02:00
Simon Grätzer 1c82d4448c Adding compaction and estimateSize method for rocksdb 2017-05-04 13:08:02 +02:00
Dan Larkin 1ea4dcc4fd Merge branch 'devel' of github.com:arangodb/arangodb into devel 2017-05-03 20:21:17 -04:00
Dan Larkin 6e2aab20c6 Added support for splitting MMFiles-style edge index definitions in RocksDB engine. 2017-05-03 20:19:51 -04:00
Simon Grätzer a73df1aff3 Fixing test timeouts 2017-05-03 19:42:27 +02:00
Simon Grätzer 0faa1adac1 fixed unique contraints 2017-05-03 17:45:21 +02:00
Simon Grätzer a2e2c00d62 fillIndex non transactional + tests 2017-05-03 16:07:29 +02:00
Simon Grätzer e62d82f1d0 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/RocksDBEngine/RocksDBEngine.cpp
#	arangod/RocksDBEngine/RocksDBV8Functions.cpp
2017-05-03 12:27:58 +02:00
Simon Grätzer b5df720870 Added rocksdb properties 2017-05-03 12:23:19 +02:00
Jan Christoph Uhde 74e82d15e9 remove exception and add some documentation to function 2017-05-03 11:16:13 +02:00
Jan Christoph Uhde 53004f2a64 recaluclate count by collection scan on request 2017-05-03 10:42:58 +02:00
Jan Christoph Uhde 8e4d5b879b create transaction to get collection lock 2017-05-02 18:34:02 +02:00
Jan Christoph Uhde b7f42f638e add empty impl for recalculating counts in rocksdb engine 2017-05-02 17:54:36 +02:00
jsteemann f815f9e37a exclusive locks for indexes 2017-05-02 16:09:27 +02:00
Dan Larkin 5e0a60406a Fixed recovery bug. 2017-04-28 14:02:49 -04:00
jsteemann 3e41c27632 fix segfault 2017-04-28 17:43:29 +02:00
Simon Grätzer 018cf68e06 Added index ID to WAL 2017-04-28 17:37:37 +02:00