Michael Hackstein
81fa8018b0
Improved primary index lookups to use parameter by reference instead of byPointer. less error prone. Fixed some issues with it.
2015-08-28 09:28:24 +02:00
Michael Hackstein
d1ac131294
Fixed a bad access bug
2015-08-28 09:28:24 +02:00
Michael Hackstein
035de49b2f
Adopted the transactions to the new Primary Index implementation. Removed nth queries.
2015-08-28 09:28:22 +02:00
Michael Hackstein
6d4d41387b
Implemented sequential read and any read in Transaction.h
2015-08-28 09:28:22 +02:00
Michael Hackstein
0e90f396d7
Piped through readRandom and readSequential in PrimaryIndex. Used in Transaction
2015-08-28 09:28:22 +02:00
Jan Steemann
e73f546be2
added assertion
2015-08-26 12:51:31 +02:00
Jan Steemann
7540059f36
uint32_t => uint64_t
2015-08-25 15:08:09 +02:00
Jan Steemann
31a6547d4c
fix replication resumption
2015-08-21 15:57:24 +02:00
Jan Steemann
7ad99087ee
use unique_ptr
2015-08-03 09:18:20 +02:00
Jan Steemann
6d7ccd7699
move shaper to cxx
2015-07-28 17:38:31 +02:00
Jan Steemann
e25ecb5be8
added function cacheability info
2015-06-27 09:06:35 +02:00
Jan Steemann
4dde6e49cd
goodbye barriers, welcome ditches
2015-05-28 10:23:30 +02:00
Jan Steemann
03461903fe
fixed over-eager V8 context entering and exiting in non-cluster mode
2015-05-27 14:02:13 +02:00
Jan Steemann
9a1b3d0b52
in the middle of changes - need to go home now
2015-05-22 22:15:26 +02:00
Jan Steemann
3acbbbc880
call reserve() before storing documents
2015-05-19 14:28:25 +02:00
Jan Steemann
163c2fbc8b
coarse locking for truncate()
2015-05-06 17:09:43 +02:00
Jan Steemann
2299d2916d
initial commit to satisfy #1298
2015-04-13 18:26:33 +02:00
Frank Celler
4c5d57f1b8
merged Exceptions.h and Exception.h
2015-03-23 14:05:19 +01:00
Jan Steemann
ff813a7d11
removed wrong comment
2015-02-09 11:33:13 +01:00
Max Neunhoeffer
e50a705d9a
Squashed commit of the following: organise locking in distributed AQL
...
Locking is now done in an extra round after the query is fully
instanciated in the cluster. All participating shards are locked
in alphabetical order of their shard ID (local collection name).
For this to work there is a new action in the RestAqlHandler plus a
mechanism to prevent the usual locking from happening: Each thread has a
thread local static class variable of
triagens::arango::Transaction::_makeNolockHeaders
which is of type std::unordered_set<std::string>*.
Whenever this is not equal to nullptr and a local collection name is
stored in there, no locking or unlocking takes place. This information
is forwarded by the X-Arango-Nolock HTTP header, whenever an HTTP
request is sent via ClusterComm to a shard.
2014-12-22 14:40:22 +01:00
Jan Steemann
19d2d6668f
added random iteration for collections
2014-12-19 18:01:13 +01:00
Jan Steemann
0a27b7cf89
removed debug output
2014-12-04 11:15:45 +01:00
Max Neunhoeffer
0044d7d1b0
Fix bug in AQL that abort() was called after commit() for trx.
2014-10-31 18:15:40 +01:00
Jan Steemann
4f68960ed7
removed Ahuacatl [skip ci]
2014-10-31 17:31:00 +01:00
Jan Steemann
13d240384f
less namespace pollution
2014-10-28 00:24:37 +01:00
Jan Steemann
38c8f4e328
do not log warning
2014-10-24 13:19:26 +02:00
Jan Steemann
10c9a54932
start transactions on coordinator
2014-10-20 15:39:55 +02:00
Jan Steemann
026fc2b83a
next attempt to fix v8 context handling
2014-10-17 15:47:39 +02:00
Jan Steemann
ee614d6ebd
v8 context handling
2014-10-17 15:25:06 +02:00
Jan Steemann
dcb9427b6f
rewrote transaction contexts
2014-10-16 15:53:28 +02:00
Jan Steemann
1e66c86d08
fixed invalid document access
2014-09-24 12:27:36 +02:00
Jan Steemann
506936dcdb
rename orgy
2014-09-13 02:35:13 +02:00
Jan Steemann
669cb3b235
renamed files
2014-09-13 01:44:01 +02:00
Jan Steemann
87afcf5e8d
the great rename
2014-09-13 00:10:11 +02:00
Max Neunhoeffer
949557fc35
Remove an unnecessary parameter.
2014-09-12 14:43:56 +02:00
Jan Steemann
a014b44ba4
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Utils/Transaction.h
2014-08-28 11:06:14 +02:00
Jan Steemann
5930c3db70
added NTH function
2014-08-28 11:03:48 +02:00
Jan Steemann
86bf8e3c4f
removed unused function argument
2014-08-23 00:50:37 +02:00
Jan Steemann
7b3389b55c
modification queries
2014-08-18 13:52:41 +02:00
Jan Steemann
b010518e9e
implementation of update/replace (update not yet merging old attributes)
2014-08-18 12:34:27 +02:00
Jan Steemann
9348f12f78
implemented insert node
2014-08-15 18:12:33 +02:00
Jan Steemann
93cfa9e2e4
count number of documents in collection
2014-08-14 13:53:21 +02:00
Jan Steemann
d896089210
added helper method
2014-08-05 13:52:03 +02:00
Jan Steemann
22ddd1e022
added comment
2014-07-28 16:21:59 +02:00
Jan Steemann
8cb85fd973
optimization for AQL queries with limit
2014-07-23 17:15:01 +02:00
Jan Steemann
bda2db16da
recovery and replication
2014-06-30 13:07:48 +02:00
Jan Steemann
067dbf63b2
WAL recovery
2014-06-27 19:11:41 +02:00
Jan Steemann
07d244488d
changed crud signatures
2014-06-26 12:37:01 +02:00
Jan Steemann
d56719ae4d
simplification of signatures
2014-06-24 00:32:40 +02:00
Frank Celler
4dcf5dc817
updated disclaimer
2014-06-20 16:40:35 +02:00
Jan Steemann
2a0e0b18d0
added many tests
2014-06-16 14:39:26 +02:00
Jan Steemann
37a30b420d
prevent exceptions
2014-06-14 15:05:54 +02:00
Jan Steemann
80a70667c0
made headers a real class
2014-06-13 11:31:40 +02:00
Jan Steemann
bbdbbd5736
removed implicit parameter from function signature
2014-06-13 01:59:19 +02:00
Jan Steemann
bc52f3408f
recovery, not functional yet
2014-06-12 18:13:48 +02:00
Max Neunhoeffer
ed1a588baa
Merge branch 'mjmh' of ssh://github.com/triAGENS/ArangoDB into mjmh
2014-06-12 10:39:13 +02:00
Max Neunhoeffer
82ab5bc0ac
More checks for protected getShaper accesses.
...
Also: Make arangodump possible using fake trx objects.
2014-06-12 10:38:39 +02:00
Jan Steemann
1cc46c4626
copy WAL documents
2014-06-12 10:26:24 +02:00
Max Neunhoeffer
f0bef2496f
Make _shaper private and use getter/setter.
2014-06-11 11:18:22 +02:00
Jan Steemann
dfc34c0c98
Merge branch 'mjmh' of https://github.com/triAGENS/ArangoDB into mjmh
2014-06-10 16:42:43 +02:00
Jan Steemann
7c599ef893
barriers
2014-06-10 16:42:15 +02:00
Max Neunhoeffer
12a5ba03fd
Move class TransactionBase to voc-types.h
2014-06-10 16:37:35 +02:00
Jan Steemann
2d8408dba5
add fake transaction object while collecting
2014-06-10 14:04:14 +02:00
Max Neunhoeffer
3f03956fe8
Fake TransactionBase.
2014-06-10 14:00:27 +02:00
Max Neunhoeffer
2dc70409cf
Fix protection assertion system one more time.
2014-06-10 13:28:58 +02:00
Max Neunhoeffer
d0ba832ffb
Merge branch 'mjmh' of ssh://github.com/triAGENS/ArangoDB into mjmh
...
Conflicts:
arangod/Utils/Transaction.h
2014-06-10 13:05:33 +02:00
Max Neunhoeffer
3c0c785ba5
First set of protection assertions.
2014-06-10 13:03:04 +02:00
Jan Steemann
370d7bc083
Merge branch 'mjmh' of https://github.com/triAGENS/ArangoDB into mjmh
2014-06-10 11:56:56 +02:00
Jan Steemann
da9f8247fb
barriers are now created automatically by transactions
2014-06-10 11:56:40 +02:00
Max Neunhoeffer
f7e5e28780
Create thread global transaction protection assertions.
2014-06-10 11:31:07 +02:00
Jan Steemann
00f593b8a9
cleanup
2014-06-10 09:55:44 +02:00
Jan Steemann
72a102e794
major internal changes
2014-06-08 00:12:53 +02:00
Jan Steemann
3f6cb4d9ed
fixed update policy
2014-06-06 22:53:59 +02:00
Jan Steemann
368091d7c3
function cleanup
2014-06-06 21:35:34 +02:00
Jan Steemann
c6b8bb7313
do not create _trx collection
2014-06-06 17:06:07 +02:00
Max Neunhoeffer
fd2c99443f
Introduce TRI_doc_mptr_copy_t for copies of master pointers.
...
Did not yet run through all occurrences of TRI_doc_mptr_t to see
whether they have to be TRI_doc_mptr_copy_t.
2014-06-06 16:59:32 +02:00
Jan Steemann
362838ae69
TRI_ASSERT
2014-06-06 11:25:19 +02:00
Jan Steemann
8da6824d15
added TRI_ASSERT and TRI_ASSERT_EXPENSIVE
2014-06-06 10:32:20 +02:00
Max Neunhoeffer
35e00a3a4d
Revert "Do not copy TRI_doc_mptr_t."
...
This reverts commit ea1f82194dccdf212c9ef1f7ee8c5790b7e3c771.
We need to copy such that we can release the collection lock earlier.
2014-06-05 14:56:21 +02:00
Max Neunhoeffer
95933fb3c1
Do not copy TRI_doc_mptr_t.
2014-06-05 13:56:26 +02:00
Max Neunhoeffer
4de7e852f9
Merge branch 'mjmh' of ssh://github.com/triAGENS/ArangoDB into mjmh
...
Conflicts:
arangod/V8Server/v8-vocbase.cpp
arangod/VocBase/document-collection.cpp
2014-06-05 12:07:48 +02:00
Max Neunhoeffer
2776dc78fa
Make TRI_doc_mptr_t a C++ struct.
2014-06-05 12:03:57 +02:00
Jan Steemann
ec8742f920
removed separate index lock
2014-06-05 11:39:14 +02:00
Jan Steemann
3bda98a28c
Merge branch 'mjmh' of https://github.com/triAGENS/ArangoDB into mjmh
...
Conflicts:
arangod/VocBase/document-collection.cpp
arangod/Wal/DocumentOperation.h
2014-06-04 17:36:00 +02:00
Jan Steemann
7b7f42118e
fixed some unique constraint violation handling
2014-06-04 17:28:06 +02:00
Max Neunhoeffer
3ad1940ce9
Looked through _headersPtr.
2014-06-04 16:23:07 +02:00
Max Neunhoeffer
a7792a5306
Looked through TRI_EXTRACT_MARKER_KEY for protection.
2014-06-04 15:40:09 +02:00
Max Neunhoeffer
a32bf12f2f
Looked at all _dataptr dereferences.
2014-06-04 15:18:25 +02:00
Jan Steemann
a43d5c3f7d
Merge branch 'mjmh' of https://github.com/triAGENS/ArangoDB into mjmh
2014-06-04 14:49:29 +02:00
Jan Steemann
c5154fede7
use external index locking
2014-06-04 14:49:22 +02:00
Max Neunhoeffer
f3653015b6
First part of protection proof.
2014-06-04 14:31:38 +02:00
Max Neunhoeffer
13541cf4ec
Rename component _data -> _dataptr in master pointer.
2014-06-03 22:27:08 +02:00
Jan Steemann
8ba93e25a2
use marker protectors
2014-06-02 11:00:05 +02:00
Jan Steemann
d4dd58b264
merged primary-collection.cpp with document-collection.cpp
2014-05-31 00:22:32 +02:00
Jan Steemann
7b521a4c9e
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into mjmh
...
Conflicts:
arangod/VocBase/document-collection.cpp
arangod/VocBase/document-collection.h
2014-05-30 12:51:20 +02:00
Jan Steemann
ed6a55abb9
specialized primary index for faster comparisons and less datafile lookups
2014-05-29 03:35:37 +02:00
Jan Steemann
e52f6f9d05
reworked
2014-05-27 18:42:40 +02:00
Jan Steemann
6ad1ba13cc
fixed mutex in key generator
2014-05-22 13:11:23 +02:00
Jan Steemann
de14fa5944
removed old CRUD methods
2014-05-22 12:17:51 +02:00
Jan Steemann
5373f1cea0
Merge branch 'mjmh' of https://github.com/triAGENS/ArangoDB into mjmh
...
Conflicts:
arangod/VocBase/edge-collection.h
2014-05-21 18:06:44 +02:00
Jan Steemann
0caa570274
update()
2014-05-21 18:05:08 +02:00
Max Neunhoeffer
e7560357d2
Further cleanup with #include "Basics/Common.h"
2014-05-21 16:59:54 +02:00
Max Neunhoeffer
69353334eb
Get rid of TRI_ENABLE_CLUSTER everywhere.
2014-05-21 14:46:47 +02:00
Jan Steemann
0933555a3e
fixed saving of documents
2014-05-21 13:41:55 +02:00
Jan Steemann
4529560ad2
adding edges
2014-05-20 16:58:05 +02:00
Jan Steemann
cdad1f19fe
moved marker definitions
2014-05-20 14:21:12 +02:00
Jan Steemann
c93871166a
added save() method, still broken
2014-05-20 11:31:42 +02:00
Jan Steemann
d16535351a
reserve space in result vector
2014-05-17 00:49:52 +02:00
Jan Steemann
629348d696
properly acquire shape write locks
2014-02-28 18:43:09 +01:00
Jan Steemann
ef84dc23e2
fixed segfault
2014-02-27 09:16:07 +01:00
Jan Steemann
7c4944de83
added --server.ssl-protocol option for client tools
...
Conflicts:
arangosh/Benchmark/BenchmarkThread.h
lib/GeneralServer/SslAsyncCommTask.h
2013-12-13 17:58:24 +01:00
Jan Steemann
f69ae8f2a9
do not access shaper but use memory zone variable
2013-11-08 13:42:16 +01:00
Jan Steemann
46d4e14f7b
issue #650 : Randonmess of any() should be improved
2013-10-31 10:09:01 +01:00
Jan Steemann
4f50b98c45
removed second logger implementation
2013-10-30 00:38:25 +01:00
Jan Steemann
21d25d0ccc
removed resourceholder
2013-10-17 10:43:07 +02:00
Jan Steemann
e3ac7ed04c
no need to use policy
2013-09-20 08:27:16 +02:00
Jan Steemann
42441b208f
refactoring of multiple databases, intermediate commit
2013-09-11 11:42:34 +02:00
Jan Steemann
6b5900e8e0
updated replication api
2013-07-30 09:54:39 +02:00
Jan Steemann
0adbe8410f
log "rev"
2013-07-23 18:00:29 +02:00
Jan Steemann
c4f82088dd
replication tests
2013-07-22 18:12:56 +02:00
Jan Steemann
3ab117de67
added collection.first() and collection.last()
2013-07-19 14:21:46 +02:00
Jan Steemann
088d8aebf8
more tailored AQL error messages in case collection cannot be found
2013-07-18 10:48:02 +02:00
Jan Steemann
d79d95a3a7
moved attribute names to defines
2013-07-05 14:41:23 +02:00
Jan Steemann
6e9c3e8e2c
replication logging
2013-06-26 12:04:55 +02:00
Jan Steemann
5c1fc950d4
reset pointer after freeing
2013-06-22 02:48:13 +02:00
Jan Steemann
e8e10844f4
moved compaction tests
2013-06-11 10:41:40 +02:00
Jan Steemann
564523896a
compaction tests
2013-06-11 10:10:58 +02:00
Jan Steemann
8696048dbb
removed now unnecessary _validTo from master pointers/headers
2013-06-10 11:20:19 +02:00
Jan Steemann
e3275136cd
allow incremental access to all documents from a collection out of AQL
2013-06-07 16:51:42 +02:00
Jan Steemann
ef19833ced
fixed locking for truncate()
2013-06-07 11:34:48 +02:00
Jan Steemann
ab6ca2f017
ported all recent fixes from 1.3
2013-05-16 21:04:04 +02:00
Jan Steemann
a241c6959e
fixed segfault
2013-04-22 13:11:52 +02:00
Jan Steemann
91c63338f2
some locking fixes
2013-04-17 18:02:55 +02:00
Jan Steemann
30b2b2ef3e
adjusted locks
2013-04-16 11:23:21 +02:00
Jan Steemann
8e4af7a952
fixed some locking
2013-04-15 12:43:53 +02:00
Jan Steemann
dee5adb9f5
added client side API for transactions
2013-04-12 23:18:48 +02:00
Jan Steemann
9b5849f650
updated documentation
2013-04-12 00:42:02 +02:00
Jan Steemann
b6925a7b7b
transactions
2013-04-11 19:06:55 +02:00
Jan Steemann
f7a5cf4cf3
transactions
2013-04-03 14:40:23 +02:00
Frank Celler
f810711a79
FreeBSD port
2013-04-02 18:43:10 +02:00
Jan Steemann
6b3b181930
pass transaction collection into CRUD operations
2013-03-28 13:26:49 +01:00
Jan Steemann
28e0f8bd09
notify collections about transaction status changes
2013-03-22 13:34:02 +01:00
Jan Steemann
ccc7c3665b
locking
2013-03-22 11:31:36 +01:00
Jan Steemann
9b282ab74c
some cleanup of transaction code
2013-03-21 18:54:38 +01:00
Jan Steemann
26af2995db
some cleanup in transaction code
2013-03-20 18:44:29 +01:00
Jan Steemann
61cb229ca8
simplified writing of markers into datafiles
2013-03-18 20:04:31 +01:00
Jan Steemann
e8a6c9ee6e
cleaned up doc operation context
2013-03-18 17:34:17 +01:00
Jan Steemann
99522ccb84
switch order of insertion into indexes & datafile for updates
...
updates are now done in the indexes first, then written to the datafile
2013-03-18 13:03:05 +01:00
Jan Steemann
741dec2f7a
changed function signature
2013-03-18 09:17:32 +01:00
Jan Steemann
ab83c3ea29
some cleanup
2013-03-15 18:07:22 +01:00
Jan Steemann
312b5fda64
some refactoring of document CRUD operations
2013-03-15 17:58:56 +01:00
Frank Celler
1aa5109fa3
updated disclaimer
2013-03-13 17:03:18 +01:00
Jan Steemann
f613c3c4d9
fixed race conditions when reading/deleting documents
2013-03-01 16:44:40 +01:00
Jan Steemann
bacdbed093
more throughput with parallel deletes/inserts
2013-03-01 10:35:39 +01:00
Jan Steemann
d321f32523
moved some const value out of loop
2013-02-15 11:35:48 +01:00
Jan Steemann
0a00760907
performance patch, improving parallelity for concurrent document creation
2013-02-14 17:18:28 +01:00
Jan Steemann
8365c4294c
small mods
2013-02-12 18:16:23 +01:00
Jan Steemann
8eea104b39
remove 1.2 & 1.1 travis builds
2013-02-07 17:19:58 +01:00
Jan Steemann
e06329db48
fix cross-collection queries in AQL
2013-02-05 10:56:28 +01:00
Jan Steemann
2263e959fe
added tests for cross-collection queries
2013-02-05 09:26:05 +01:00
Jan Steemann
3d589a9562
some cleanup
2013-02-04 20:06:06 +01:00
Jan Steemann
44f2d05b4c
added explicit locking
2013-02-04 15:35:26 +01:00
Jan Steemann
8a6225865f
removed lock classes
2013-02-04 14:40:14 +01:00
Jan Steemann
a1dc59e85b
moved AQL stuff into AhuacatlTransaction
2013-02-04 13:51:09 +01:00
Jan Steemann
b12dda013c
removed transactioncollection
2013-02-04 13:26:23 +01:00
Jan Steemann
de0b290bcd
moved AQL to use AhuacatlTransaction
2013-02-04 11:25:03 +01:00
Jan Steemann
ca8935ae2a
fix collection name handling in the face of parallel renames
2013-02-01 13:43:14 +01:00
Jan Steemann
47ad5e1139
removed dead configure option for 1.2
2013-01-30 13:19:20 +01:00
Jan Steemann
9e5fb04043
moved any() to trx
2013-01-21 13:20:22 +01:00
Jan Steemann
187d8ecc69
some transaction rework
2013-01-08 17:26:16 +01:00
Jan Steemann
a2b404123a
load monkeypatches on all occasions
2012-11-20 16:50:15 +01:00
Jan Steemann
3718f3570d
ALL() moved to transaction semantics
2012-11-19 13:07:38 +01:00
Jan Steemann
d1fda6525d
make truncate use transaction semantics
2012-11-19 11:42:49 +01:00
Jan Steemann
3eda13c181
update and replace now use transaction semantics
2012-11-19 10:42:20 +01:00
Jan Steemann
952383beb6
removed some debug messages
2012-11-16 15:37:36 +01:00
Jan Steemann
38025fbc31
documents and edges are now created using transaction contexts
2012-11-16 15:36:44 +01:00
Jan Steemann
ace85c43c9
nesting transactions from v8-vocbase...
2012-11-15 18:55:52 +01:00
Jan Steemann
fe7e061a27
transaction nesting
2012-11-15 18:14:20 +01:00
Jan Steemann
afb54b533d
moved some methods to base class
2012-11-15 15:06:56 +01:00
Jan Steemann
1ff2430e39
transaction refactoring
2012-11-15 13:53:11 +01:00
Jan Steemann
12d76b8306
introduced additional transaction type for import
2012-11-15 09:52:47 +01:00
Jan Steemann
9e40045025
changed document CRUD API signatures
2012-11-14 17:11:16 +01:00
Jan Steemann
b8655965f4
some transaction changes
2012-11-13 17:36:24 +01:00
Jan Steemann
9bc99b7c9d
renamed document collection to primary collection
2012-09-14 10:19:41 +02:00
Jan Steemann
1b6efb38d9
virtual
2012-09-14 08:47:56 +02:00
Jan Steemann
a932d335cb
added guards for collection locking and read/write transactions
2012-09-13 17:40:38 +02:00