1
0
Fork 0
Commit Graph

335 Commits

Author SHA1 Message Date
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
Simon Grätzer c9d310c5b4 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-04-28 14:51:05 +02:00
Simon Grätzer 84ed7ec100 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/RocksDBEngine/RocksDBRestReplicationHandler.cpp
2017-04-28 14:40:17 +02:00
Simon Grätzer 0a00a7eb67 Fixed broken JSON output 2017-04-28 14:28:34 +02:00
jsteemann 9183f9da8e Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-04-28 13:13:49 +02:00
jsteemann ebd95ce7df optimizations for empty transactions 2017-04-28 13:13:41 +02:00
Michael Hackstein 10b212b5a3 Merge branch 'devel' of github.com:arangodb/arangodb into devel 2017-04-28 13:11:45 +02:00
Max Neunhoeffer 170942da4f Reduce maximal timeout in exponential backoff when waiting for a lock. 2017-04-28 11:38:17 +02:00
Michael Hackstein 435d990e4b Merge branch 'devel' of github.com:arangodb/arangodb into devel 2017-04-28 11:10:01 +02:00
Michael Hackstein 360d2b3b99 Fixed restoreIndox for RocksDB. Also removed Primary and EdgeIndexes from Inventory, which is identical to MMFiles 2017-04-28 11:09:53 +02:00
Jan Christoph Uhde 8df6e1c289 update ticks after parsing wal 2017-04-28 11:04:06 +02:00
Simon Grätzer ddf7ae60cf WAL tailing 2017-04-27 17:38:02 +02:00
Simon Grätzer c10f5abfc0 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/RocksDBEngine/RocksDBLogValue.cpp
#	arangod/RocksDBEngine/RocksDBLogValue.h
2017-04-26 23:44:28 +02:00
Dan Larkin da30cf862e Updated document markers. 2017-04-26 16:25:12 -04:00
Dan Larkin cc92d280f6 Added document insert/remove markers. 2017-04-26 16:14:15 -04:00
Dan Larkin f8efe6e627 Added create index and change collection marker creation. 2017-04-26 15:23:25 -04:00
Simon Grätzer 37cbb80d50 Fixed startup exception 2017-04-26 20:35:20 +02:00
Simon Grätzer b93c294c41 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/RocksDBEngine/RocksDBLogValue.cpp
2017-04-26 18:58:29 +02:00
Simon Grätzer 29286a9c1b RocksDB WAL entries for transactions 2017-04-26 18:54:55 +02:00
Michael Hackstein e423a5fde1 Added WAL MARKERS for CreateCollection, RenameCollection and DropIndex, also adjested WalMarkerType constructors. 2017-04-26 18:32:28 +02:00
jsteemann 861291da16 honor exclusive locks 2017-04-25 12:56:56 +02:00
jsteemann 4300c77d3e fixes for non-array IN lookups, added tests 2017-04-25 01:47:07 +02:00
Simon Grätzer 91fe0f01ea formatting 2017-04-24 15:55:21 +02:00
Simon Grätzer fe84b499c0 Merge branch 'engine-api' of https://github.com/arangodb/arangodb into devel 2017-04-24 15:45:39 +02:00
Simon Grätzer 7176d34169 Fixed incremental synced 2017-04-24 15:40:48 +02:00
Michael Hackstein 6cfa55ac6c Merge branch 'engine-api' of github.com:arangodb/arangodb into devel 2017-04-24 13:54:42 +02:00
jsteemann fcc61115d8 try to fix feature startup order (Scheduler vs. CacheManager vs. DatabaseFeature) 2017-04-24 13:17:21 +02:00
Simon Grätzer df57b291f8 Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api 2017-04-24 10:23:33 +02:00
jsteemann d0fae3cf7b savepoint optimizations 2017-04-21 18:23:47 +02:00
Simon Grätzer ff4f8181dd Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api 2017-04-21 13:00:36 +02:00
Simon Grätzer 235f006a27 const collection CRUD methods 2017-04-21 13:00:30 +02:00
Simon Grätzer 064c51c731 Adding const statements 2017-04-21 12:59:20 +02:00
jsteemann 862ec7bae3 remove log garbage 2017-04-21 12:57:20 +02:00
Simon Grätzer b304d35ac2 Added rocksdb background thread 2017-04-20 18:50:52 +02:00
Simon Grätzer 502dc66697 Make some methods const 2017-04-20 16:39:18 +02:00
Simon Grätzer 388121158e Started inventory rest handler 2017-04-20 12:16:40 +02:00
Dan Larkin dfd1e78f35 Added objectId-to-database+collection mapping. 2017-04-19 13:56:17 -04:00
jsteemann 702e33759c Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api 2017-04-18 21:03:08 +02:00
Dan Larkin 7ad0c75745 Fixed bug in index info persistence/recovery. 2017-04-18 14:55:58 -04:00
jsteemann dc5fb20b81 Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api 2017-04-18 17:28:04 +02:00
jsteemann 69576ca79e preparations for locks 2017-04-18 17:27:37 +02:00
Jan Christoph Uhde c12bd6f2ed remove code that tracks size of index operations
in RocksDBTransactions
2017-04-18 16:58:44 +02:00
jsteemann 2f574a75be remove debug output 2017-04-18 15:06:22 +02:00
jsteemann 031e9adb3c slightly adjust error messages 2017-04-18 12:43:21 +02:00
Dan Larkin 97d525e9b7 Revert "Fixed primary index cluster bug."
This reverts commit 8c4214625c.
2017-04-17 17:06:23 -04:00
Dan Larkin 841ef8b1a0 Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
Dan Larkin 8c4214625c Fixed primary index cluster bug. 2017-04-13 21:44:51 -04:00
Dan Larkin 2e0fdbf666 Fixed some bugs. 2017-04-13 20:06:25 -04:00
Simon Grätzer 76b4c0b2c1 Fixed cluster startup 2017-04-13 14:32:55 +02:00
Simon Grätzer 3b3ee5f996 Counter fixes 2017-04-12 17:10:35 +02:00
Dan Larkin d435d274ea Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-04-12 09:35:19 -04:00
Jan Christoph Uhde d67aa33fe3 limit transaction size and work on intermediate commits 2017-04-12 09:01:13 +02:00
Dan Larkin b030cdb347 Fixed an edge index iterator bug. 2017-04-10 20:12:15 -04:00
Jan Christoph Uhde 8df9fe1d21 fix error in insert 2017-04-10 21:27:52 +02:00
Jan Christoph Uhde 60c4f27ec6 finish transaction limiting for truncate 2017-04-10 16:33:36 +02:00
Jan Christoph Uhde c82fadc863 prepare limitation of transaction size 2017-04-10 14:00:55 +02:00
Jan Christoph Uhde efb6d498f0 Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api
* 'engine-api' of https://github.com/arangodb/arangodb:
  Fixed issue with cache transactions.
  Fixing more recovery tests
2017-04-10 09:28:54 +02:00
Jan Christoph Uhde b4b2ac0dbd work on counting bug 2017-04-10 09:23:35 +02:00
Dan Larkin 842a665ec5 Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-04-07 17:02:34 -04:00
Dan Larkin eaac6c013c Fixed issue with cache transactions. 2017-04-07 16:58:22 -04:00
Jan Christoph Uhde 9a079381b3 fix warning and make use of error code 2017-04-07 17:58:33 +02:00
jsteemann 4cf5fedca9 honor subcodes in rocksdb statuses 2017-04-07 14:55:55 +02:00
jsteemann 08cd4ced33 moved class around 2017-04-07 13:13:48 +02:00
jsteemann 742e5d17fd remove always-true asserts 2017-04-07 12:17:54 +02:00
jsteemann 940209001c Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api 2017-04-07 12:06:04 +02:00
jsteemann 2b0673c3fe removed type "Index" 2017-04-07 12:05:56 +02:00
Simon Grätzer 42a79ed1ac Fixing counter WAL parsing 2017-04-07 11:26:52 +02:00
Dan Larkin c066b5c84c Fixed bug in document update code. 2017-04-06 18:34:11 -04:00
Simon Grätzer 4f4dcf58e7 Fixing counter key bounds 2017-04-06 15:16:52 +02:00