Jan Steemann
88198767dd
logging
2015-05-29 09:49:22 +02:00
Jan Steemann
4dde6e49cd
goodbye barriers, welcome ditches
2015-05-28 10:23:30 +02:00
Jan Steemann
8d29b600d3
fixed Windows compile errors
2015-05-26 18:40:27 +02:00
Jan Steemann
4b67c7a735
several fixes for indexes
2015-05-26 13:35:11 +02:00
Jan Steemann
0d6bd8876c
fixed wrong memory zone
2015-05-26 09:41:10 +02:00
Jan Steemann
a9f2769ffa
now compiles and links
2015-05-23 04:31: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
a5b6f00b7f
moved indexes to cxx
2015-05-22 20:15:14 +02:00
Jan Steemann
bc76cf5079
use std::vector
2015-05-22 12:58:40 +02:00
Jan Steemann
3033846791
catch exception when filling indexes
2015-05-22 09:29:56 +02:00
Michael Hackstein
86c7f87dd3
Merge branch 'cppTrav2' into devel
2015-05-19 16:17:27 -07:00
Michael Hackstein
5360172a7b
The ExampleMatcher is now able to use a v8 json object as example for matching in the constructor
2015-05-15 09:56:16 -07:00
Michael Hackstein
7ba7482d58
Implemented an ExampleMatcher class to be used for path filtering. Is now used in byExample queries as well. API not fixed yet.
2015-05-14 13:29:42 -07:00
Jan Steemann
f8a4df2ad4
Merge branch 'edge-index-resize' of https://github.com/arangodb/arangodb into devel
...
Conflicts:
lib/Basics/associative-multi.cpp
2015-05-13 12:52:38 +02:00
Willi Goesgens
421d9fbb9e
Add performance logging for index building.
2015-05-13 10:49:38 +02:00
Jan Steemann
a007a867ee
"privatized" TRI_vector_t internals.
...
This allows changing the internals of TRI_vector_t structs in order to make the struct smaller.
On 64 bits, the size of TRI_vector_t is reduced from 48 bytes to 28 bytes.
TRI_json_t does benefit from this, as its biggest component is a TRI_vector_t.
2015-05-05 10:31:02 +02:00
Max Neunhoeffer
65c4c5629d
Highly experimental aggregation experiment. Do not use.
2015-04-30 00:44:39 -07:00
Max Neunhoeffer
1bea0bede9
Finish new ReadWriteLockCPP11 for collections.
2015-04-29 21:03:05 -07:00
Jan Steemann
629883041c
added asserts
2015-04-21 12:08:09 +02:00
Jan Steemann
61499432b7
do not remove constant sorts when creating plans, but during optimization phase
...
less utf8 comparisons
2015-04-20 11:32:29 +02:00
Jan Steemann
d8597d9662
fixed edge index lookups in cluster
2015-04-13 14:36:16 +02:00
Frank Celler
4c5d57f1b8
merged Exceptions.h and Exception.h
2015-03-23 14:05:19 +01:00
Jan Steemann
7dc3fc3d5c
safely create collections and databases
2015-03-19 15:56:12 +01:00
Jan Steemann
6360c798e7
added option `--database.ignore-logfile-errors`
...
Conflicts:
arangod/RestServer/ArangoServer.cpp
2015-03-18 17:46:11 +01:00
Jan Steemann
b5fb457d7b
ensure there is a datafile info entry for each datafile of a collection
2015-03-18 17:44:38 +01:00
Jan Steemann
659ef9e6af
made _uncollectedLogfileEntries an atomic variable
2015-03-18 17:39:36 +01:00
Jan Steemann
7f121fc352
use barrier
2015-03-04 11:35:32 +01:00
Jan Steemann
bc4ad22ab6
parallel secondary index building when loading collections
2015-03-03 10:52:51 +01:00
Jan Steemann
1461d75ed4
improve collection loading time
...
This patch reduces collection loading time by preallocating enough space in primary index ahead of time.
When a collection is closed, the number of documents in the collection will be stored in the collection's JSON info file.
This value is used to determine the initial size for the primary index when the collection is loaded next time.
Datafile iteration has also been made slightly faster.
The above changes will have a significant benefit when the collection's datafiles are already in the OS buffer cache, and when there are no secondary indexes.
Loading datafiles from disk or building secondary indexes may be more time-consuming than the improvements reapable by this patch, but the patch shouldn't hurt anyway.
2015-02-26 16:35:51 +01:00
Jan Steemann
f29591135a
adjusted geo index API
2015-02-18 14:59:46 +01:00
Jan Steemann
a26bd2b223
auto-migrate old hash indexes
2015-02-10 11:34:51 +01:00
Jan Steemann
82c7522d4e
test fixes
2015-02-09 20:08:06 +01:00
Jan Steemann
003d7e9112
sparse indexes, initial commit, untested
2015-02-07 03:07:41 +01:00
Jan Steemann
70fba85a67
enforce an error code
2015-01-22 15:20:57 +01:00
Jan Steemann
eac7ce5d13
removed unused define
2015-01-16 21:58:13 +01:00
Jan Steemann
2d7a7b87aa
move variable declarations to usage
2015-01-13 20:46:33 +01:00
Jan Steemann
f3b142849f
fixed leaks during reverts
2015-01-03 01:28:23 +01:00
Max Neunhoeffer
05c069f361
Another fix for the distributed locking problem in cluster AQL.
2014-12-23 14:35:19 +01:00
Max Neunhoeffer
1782039138
Fix cluster-wide locking for AQL.
2014-12-22 16:21:45 +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
20e7fe7a7a
the great rename: array => object, list => array
2014-12-18 21:07:06 +01:00
Jan Steemann
db1ddb880b
wait for sync thread outside of lock
2014-12-17 14:21:24 +01:00
Jan Steemann
d1bf47a14a
fixed issue when rolling back remove operations that could not remove from indexes
2014-11-01 18:03:57 +01:00
Jan Steemann
999d8ffd1d
small optimizations
2014-10-08 16:10:27 +02:00
Jan Steemann
d5fb057603
less locking
2014-09-24 13:32:39 +02:00
Jan Steemann
1fff0ecac2
optimization for recovery of collections that are going to be dropped anyway
2014-09-18 18:20:56 +02:00
Jan Steemann
e5e2cfe4da
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/V8Server/v8-vocbase.cpp
2014-09-17 11:50:42 +02:00
Jan Steemann
d3f4f05df1
issue #1020
2014-09-17 11:42:01 +02:00
Jan Steemann
481a16fd7a
removed bitarray indexes
2014-09-15 14:19:38 +02:00
Jan Steemann
506936dcdb
rename orgy
2014-09-13 02:35:13 +02:00
Jan Steemann
0dc0bc834f
more files renamed
2014-09-13 00:20:30 +02:00
Jan Steemann
87afcf5e8d
the great rename
2014-09-13 00:10:11 +02:00
Jan Steemann
0a439474e5
cppcheck
2014-08-22 12:51:26 +02:00
Max Neunhoeffer
7b889bd3bf
Merge branch 'maxmh' into devel
...
Conflicts:
arangod/VocBase/document-collection.cpp
2014-07-23 10:39:31 +02:00
Jan Steemann
373f581990
fixed memleak
2014-07-22 17:38:34 +02:00
Max Neunhoeffer
a8e3236560
Snapshot, legend cache started.
2014-07-22 16:59:19 +02:00
Jan Steemann
b36ad17cc6
finished --wal.suppress-shape-information
2014-07-22 15:16:49 +02:00
Jan Steemann
fe71a8f26d
added startup option `--wal.suppress-shape-information`
2014-07-21 18:02:16 +02:00
Jan Steemann
cb76a38bf1
added separate logfile remover thread
2014-07-05 16:41:15 +02:00
Jan Steemann
f939b079c4
recovery
2014-07-03 22:49:49 +02:00
Jan Steemann
470839ffb9
fixed tests
2014-07-03 18:51:40 +02:00
Jan Steemann
7554ead5d4
fixed recovery
2014-07-03 16:58:10 +02:00
Jan Steemann
34e727b5f7
simplified
2014-07-01 14:12:25 +02:00
Jan Steemann
56a9361f9f
fill secondary indexes after recovery only
2014-06-29 00:18:21 +02:00
Jan Steemann
21ea9b4d4b
recovery tests
2014-06-28 01:58:06 +02:00
Jan Steemann
483862240f
fixed undefined behavior
2014-06-27 22:30:08 +02:00
Jan Steemann
067dbf63b2
WAL recovery
2014-06-27 19:11:41 +02:00
Jan Steemann
477f682a23
better error messages
2014-06-26 16:01:55 +02:00
Jan Steemann
0b68523c75
allow creation of secondary indexes in recovery
2014-06-26 15:45:31 +02:00
Jan Steemann
96569367d7
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
...
Conflicts:
arangod/VocBase/document-collection.cpp
2014-06-26 13:07:53 +02:00
Jan Steemann
1bb171787f
clean up when journal creation fails
2014-06-26 13:03:45 +02:00
Frank Celler
4ae1f0cd4a
added temporary attribute entries in shaper
2014-06-26 12:50:50 +02:00
Jan Steemann
07d244488d
changed crud signatures
2014-06-26 12:37:01 +02:00
Jan Steemann
183469227c
fixed rollback of updates
2014-06-26 11:38:41 +02:00
Jan Steemann
1ebaa7e35c
make primary hash index hash function explicit
2014-06-26 11:20:12 +02:00
Jan Steemann
d56719ae4d
simplification of signatures
2014-06-24 00:32:40 +02:00
Jan Steemann
3b0d8b15d6
re-added replication
2014-06-23 13:22:38 +02:00
Jan Steemann
fc823938c0
nullptr
2014-06-21 03:27:38 +02:00
Jan Steemann
16bf152c8f
fully removed replication logger
2014-06-21 00:32:47 +02:00
Frank Celler
4dcf5dc817
updated disclaimer
2014-06-20 16:40:35 +02:00
Jan Steemann
7e52ebbc3b
fixes for Visual Studio
2014-06-20 15:46:33 +02:00
Jan Steemann
9b713fccba
renamed macro
2014-06-20 13:43:29 +02:00
Jan Steemann
a56a0e457c
fixed edge index hashing error
2014-06-20 13:37:52 +02:00
Jan Steemann
6c0dcf85c4
WAL DDL markers
2014-06-19 14:33:38 +02:00
Jan Steemann
8b9cdbe075
fixed tests
2014-06-18 16:34:11 +02:00
Jan Steemann
b952c6724d
recovery
2014-06-17 18:19:04 +02:00
Jan Steemann
091491d13b
crash recovery tests
2014-06-17 15:30:11 +02:00
Jan Steemann
2a0e0b18d0
added many tests
2014-06-16 14:39:26 +02:00
Jan Steemann
ae6ac271e3
index rework
2014-06-14 23:40:56 +02:00
Jan Steemann
37a30b420d
prevent exceptions
2014-06-14 15:05:54 +02:00
Jan Steemann
964af24fe7
fixed compiler warnings
2014-06-14 01:49:17 +02:00
Jan Steemann
b54b89d68d
key generator rework
2014-06-14 00:33:40 +02:00
Jan Steemann
35a81dc54d
more asserts
2014-06-13 21:40:34 +02:00
Jan Steemann
0c5950507c
fixed test
2014-06-13 17:50:44 +02:00
Jan Steemann
d7f35bcc7b
fixed datafile ticks issues
2014-06-13 14:46:21 +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
82ab5bc0ac
More checks for protected getShaper accesses.
...
Also: Make arangodump possible using fake trx objects.
2014-06-12 10:38:39 +02:00
Max Neunhoeffer
1d8e5f73d0
Merge branch 'mjmh' of ssh://github.com/triAGENS/ArangoDB into mjmh
2014-06-11 16:11:49 +02:00
Max Neunhoeffer
f83a845c31
Activate shaper protection runtime check. Fix bugs.
2014-06-11 16:11:26 +02:00
Jan Steemann
9535779916
removed lol message
2014-06-11 15:52:58 +02:00
Jan Steemann
772ed8bccc
hash index optimization
2014-06-11 15:46:55 +02:00
Max Neunhoeffer
88a19e5928
Merge branch 'mjmh' of ssh://github.com/triAGENS/ArangoDB into mjmh
...
Conflicts:
lib/ShapedJson/Legends.cpp
2014-06-11 14:22:53 +02:00
Max Neunhoeffer
b8ac498e8b
Add shaper test (inactive for now).
2014-06-11 14:21:48 +02:00
Jan Steemann
28d2ae151e
flush
2014-06-11 14:18:04 +02:00
Jan Steemann
b802973273
Merge branch 'mjmh' of https://github.com/triAGENS/ArangoDB into mjmh
...
Conflicts:
arangod/Wal/CollectorThread.cpp
2014-06-11 11:33:48 +02:00
Jan Steemann
7e6750c397
wal flush w/ collection unload
2014-06-11 11:33:02 +02:00
Max Neunhoeffer
f0bef2496f
Make _shaper private and use getter/setter.
2014-06-11 11:18:22 +02:00
Max Neunhoeffer
6b31c2ddb1
Sort out deallocation of TRI_document_collection_t and TRI_collection_t.
2014-06-11 10:56:28 +02:00
Max Neunhoeffer
c2bddb1c19
Let TRI_document_collection_t inherit from TRI_collection_t.
2014-06-11 10:51:47 +02:00
Max Neunhoeffer
30e16bc127
Fix two comments.
2014-06-10 15:51:53 +02:00
Max Neunhoeffer
dbfe62fd66
TRI_SelectByExample now uses copies of master pointers.
2014-06-10 14:32:57 +02:00
Jan Steemann
14097f5473
create fake transaction for loading collections
2014-06-10 14:01:35 +02:00
Max Neunhoeffer
3c0c785ba5
First set of protection assertions.
2014-06-10 13:03:04 +02:00
Jan Steemann
3f22fa03be
fixed some indexes
2014-06-08 03:03:16 +02:00
Jan Steemann
72a102e794
major internal changes
2014-06-08 00:12:53 +02:00
Jan Steemann
ca959cab9d
simplified usage of transactions
2014-06-06 23:28:34 +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
982673ef52
read "old" transactions when loading a database
2014-06-06 18:32:48 +02:00
Jan Steemann
cb4ca68c41
treat transaction markers in datafiles as garbage and ignore them
2014-06-06 17:24:36 +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
3b3d15b3e4
removed useless broadcast
2014-06-06 14:17:31 +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
Jan Steemann
0f25f8a2b0
Merge branch 'mjmh' of https://github.com/triAGENS/ArangoDB into mjmh
...
Conflicts:
arangod/Wal/CollectorThread.cpp
2014-06-05 18:14:45 +02:00
Jan Steemann
b9b1db3e02
WAL logfile collection
2014-06-05 18:06:42 +02:00
Max Neunhoeffer
537160f2d5
Do not copy TRI_doc_mptr:t structs one more time.
2014-06-05 14:03:00 +02:00
Max Neunhoeffer
3e256a8aee
Fix allocation of TRI_doc_mptr_t structs.
2014-06-05 13:14:30 +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
ed37f50b8e
calculate hash outside of lock
2014-06-05 01:12:11 +02:00
Jan Steemann
ebabc0e4e2
removed unused property
2014-06-04 20:26:15 +02:00
Jan Steemann
3d4873457b
unload
2014-06-04 18:21:06 +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
d2c893d8a9
One more proof of protection.
2014-06-04 16:00:54 +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
Max Neunhoeffer
3c25b12aa9
Merge branch 'mjmh' of ssh://github.com/triAGENS/ArangoDB into mjmh
2014-06-04 14:31:56 +02:00
Max Neunhoeffer
f3653015b6
First part of protection proof.
2014-06-04 14:31:38 +02:00
Jan Steemann
b1e2990172
wal collection
2014-06-04 14:28:11 +02:00
Max Neunhoeffer
13541cf4ec
Rename component _data -> _dataptr in master pointer.
2014-06-03 22:27:08 +02:00
Jan Steemann
7501fad516
removed VocBase/marker.h and VocBase/marker.cpp
2014-06-02 18:06:50 +02:00
Jan Steemann
e39e39b524
removed synchroniser
2014-06-02 16:04:56 +02:00
Jan Steemann
d4dd58b264
merged primary-collection.cpp with document-collection.cpp
2014-05-31 00:22:32 +02:00
Jan Steemann
fb6b97b9b9
re-added transactions
2014-05-30 17:42:39 +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
0d5c01cf48
removed old functions
2014-05-23 09:33:33 +02:00
Jan Steemann
ea97d443b0
use wal shape and attribute markers
2014-05-22 16:00:00 +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
081b7fd394
fixed key generators
2014-05-22 11:59:33 +02:00
Jan Steemann
c5103e28b3
fixed edges
2014-05-22 11:27:17 +02:00
Jan Steemann
0caa570274
update()
2014-05-21 18:05:08 +02:00
Jan Steemann
e67f130f70
removed debug output
2014-05-21 14:53:15 +02:00
Jan Steemann
2d725da543
fixed document removal
2014-05-21 14:22:30 +02:00
Jan Steemann
0933555a3e
fixed saving of documents
2014-05-21 13:41:55 +02:00
Jan Steemann
74aa2d6cee
fixed compile error
2014-05-21 12:46:08 +02:00
Jan Steemann
b10ef2335c
split Marker.h
2014-05-21 10:28:24 +02:00
Jan Steemann
4529560ad2
adding edges
2014-05-20 16:58:05 +02:00
Jan Steemann
b20240b829
added legend
2014-05-20 14:37:57 +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
af7992fad7
extended markers
2014-05-19 18:01:54 +02:00
Jan Steemann
2bc4aa90af
fixed issues found by scan-build
2014-05-15 10:09:06 +02:00
Jan Steemann
3f6d28de8d
fixed VS warnings
2014-05-13 12:44:00 +02:00
Jan Steemann
2e17f4bcd7
cppcheck
2014-05-09 00:21:17 +02:00
Jan Steemann
20292af75c
throw different type of debug error to prevent bogus "out-of-memory" errors
2014-05-08 23:00:18 +02:00
Jan Steemann
0a5e641f97
added index memory usage statistics
...
this also adds index memory usage to the output of the `figures` method
2014-05-02 22:05:29 +02:00
Jan Steemann
17bf8ebafb
fixed VS warnings
2014-04-03 16:13:56 +02:00
Jan Steemann
ccf7bbb173
cpp
2014-04-03 15:23:20 +02:00