1
0
Fork 0
Commit Graph

30 Commits

Author SHA1 Message Date
Jan 9c76613e63
fix premature unlock (#3802)
* fix some deadlocks found by evil lock manager (tm)

* fix duplicate lock

* fix indentation

* ensure proper lock dependencies

* fix lock acquisition

* removed useless comment

* do not lock twice

* create either a V8 transaction context or a standalone transaction context, depending on if we are called from within V8 or not

* AQL micro optimizations

* use explicit constructor

* only use V8DealerFeature's ConditionLocker for acquiring a free V8 context

entering and exiting the selected context is then done later on without having to hold the ConditionLocker

* remove some recursive locks

* Disable custom deadlock detection when Thread Sanitizer is enabled

* Changing ifdef's

* grr

* broke gcc

* Using atomic for ApplicationServer::_server

* fix premature unlock

* add some asserts

* honor collection locking in cluster

* yet one more lock fix

* removed assertion

* some more bugfixes

* Fixing assert

(cherry picked from commit 1155df173bfb67303077fbe04ee8d909517bfd21)
2017-12-13 13:27:42 +01:00
Simon Grätzer ee8209943f Missing things for active / passive (#3578)
* Switching from ttl to supervision based failover mechanism

* Allowing canceling of ongoing actions

* refactored asyncjobmanager

* refactoring some code

* adding read-only flag

* catching some exceptions to reduce log pollution, removing unnecessary code, removing tests for _changeMode

* fixing "createsANewDatabaseWithAnInvalidUser"

* auth = off does not longer make everyone superuser

* Fixing cluster_sync and maybe resilience
2017-11-04 20:30:23 +01:00
Jan 3350164ec6 a few simplifications and extensions (#3115) 2017-08-24 14:46:16 +02:00
Jan 8e65fbb539 Bug fix/issues 1708 (#3060)
* we must now ignore that datafiles are not sealed

this is because an unsealed datafile may have been produced by
renaming multiple journals to datafiles at server start

* acquire collection count after we have acquired the lock

* count the null byte as well

* fix count value acquisition

* send query fragments to the correct servers, even after failover or when a follower drops

the problem with using the previous shard-based approach is that responsibilities for shards may change at runtime
however, an AQL query must send all requests for the query to the initially used servers.
if there is a failover while the query is executing, we must still send all following requests to the same servers, and not the newly responsible servers
otherwise we potentially would try to get data from a query from server B while the query was only
instanciated on server A.
2017-08-17 21:48:27 +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
Simon Grätzer 70a1d27121 intermediate commits 2017-05-15 17:35:16 +02:00
jsteemann 422b06211f fix some replication issues 2017-05-11 19:00:32 +02:00
Simon Grätzer ce5f5c0c7d Fixed nullptr 2017-05-09 15:13:15 +02:00
Simon Grätzer f62c99188c Seemingly functional geo index 2017-05-08 17:48:08 +02:00
jsteemann d892f280ed fix cluster_sync test 2017-05-04 13:16:47 +02:00
jsteemann 861291da16 honor exclusive locks 2017-04-25 12:56:56 +02:00
jsteemann 3727e7fb7a first stab at exclusive locks 2017-04-20 12:25:53 +02: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
Jan Christoph Uhde a02e816598 add reset function to RocksDBTransactionState 2017-04-18 13:14:15 +02:00
Dan Larkin b030cdb347 Fixed an edge index iterator bug. 2017-04-10 20:12:15 -04:00
Jan Christoph Uhde 60c4f27ec6 finish transaction limiting for truncate 2017-04-10 16:33:36 +02:00
Dan Larkin f056aeee42 Fixed unloaded collection status reporting issue. 2017-04-06 16:21:51 -04:00
jsteemann e5d733867e make more tests pass 2017-04-05 14:57:18 +02:00
jsteemann 07cdc49504 transaction-specific count tracking 2017-03-31 14:57:21 +02:00
jsteemann 689140fbd0 Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api 2017-03-31 14:05:53 +02:00
jsteemann 794cace842 initial implementation of count() 2017-03-31 14:05:44 +02:00
Simon Grätzer 0fd98ed0bb Fixed HashIndex matchesDefinition method 2017-03-31 12:22:58 +02:00
jsteemann 0d38d2c287 finalize insert() 2017-03-27 11:30:30 +02:00
jsteemann 9276d82578 remove debug log messages 2017-03-27 11:20:43 +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 02c0dcc689 properly report error locations 2017-03-23 20:18:33 +01:00
Jan Christoph Uhde 68bb668f1b add more empty implementations for RocksDB Storage engine 2017-03-21 10:53:13 +01:00