1
0
Fork 0
arangodb/arangod/MMFiles
Jan 5bae3742e5
Feature/internal 3306 (#7683)
2018-12-06 16:19:28 +01:00
..
CMakeLists.txt yet more micro optimizations (#7400) 2018-11-21 17:09:09 +01:00
MMFilesAllocatorThread.cpp Cleanup logging in MMFiles. 2018-10-01 16:30:10 -04:00
MMFilesAllocatorThread.h
MMFilesCleanupThread.cpp Cleanup logging in MMFiles. 2018-10-01 16:30:10 -04:00
MMFilesCleanupThread.h Remove Coordinator DBs (#5661) 2018-06-25 19:18:11 +02:00
MMFilesCollection.cpp Disable warning about persistent IDs during upgrade procedure. (#7612) 2018-12-04 09:02:19 +01:00
MMFilesCollection.h do not allow MMFiles single document operations overtaking each other… (#7469) 2018-11-28 13:03:47 +01:00
MMFilesCollectionExport.cpp Bug fix/add aql collection count cache (#6227) 2018-08-23 16:05:51 +02:00
MMFilesCollectionExport.h
MMFilesCollectionKeys.cpp Bug fix/simplify things (#6516) 2018-09-18 17:47:01 +02:00
MMFilesCollectionKeys.h
MMFilesCollectionWriteLocker.h Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesCollectorCache.h Bug fix/refactor find emplace (#7197) 2018-11-02 17:18:47 +01:00
MMFilesCollectorThread.cpp fix assertion failures for MMFiles operationsQueue state on shutdown (#7390) 2018-11-21 09:33:08 +01:00
MMFilesCollectorThread.h fix assertion failures for MMFiles operationsQueue state on shutdown (#7390) 2018-11-21 09:33:08 +01:00
MMFilesCompactionFeature.cpp issue 427.5: use ApplicationServer reference instead of pointer (#6145) 2018-08-15 12:16:02 +03:00
MMFilesCompactionFeature.h issue 427.5: use ApplicationServer reference instead of pointer (#6145) 2018-08-15 12:16:02 +03:00
MMFilesCompactionLocker.h
MMFilesCompactorThread.cpp Upgrade old MMFiles collections for compatibility with ArangoSearch. (#7248) 2018-11-07 15:52:37 +01:00
MMFilesCompactorThread.h Bug fix/add aql collection count cache (#6227) 2018-08-23 16:05:51 +02:00
MMFilesDatafile.cpp Upgrade old MMFiles collections for compatibility with ArangoSearch. (#7248) 2018-11-07 15:52:37 +01:00
MMFilesDatafile.h Upgrade old MMFiles collections for compatibility with ArangoSearch. (#7248) 2018-11-07 15:52:37 +01:00
MMFilesDatafileHelper.h View Replication (#5915) 2018-07-26 10:28:46 +02:00
MMFilesDatafileStatistics.cpp Cleanup logging in MMFiles. 2018-10-01 16:30:10 -04:00
MMFilesDatafileStatistics.h
MMFilesDatafileStatisticsContainer.cpp
MMFilesDatafileStatisticsContainer.h
MMFilesDitch.cpp Cleanup logging in MMFiles. 2018-10-01 16:30:10 -04:00
MMFilesDitch.h issue 399.2: use a LogicalCollection& instead of LogicalCollection* in PhysicalCollection (#5861) 2018-07-13 15:02:43 +03:00
MMFilesDocumentOperation.cpp
MMFilesDocumentOperation.h
MMFilesDocumentPosition.h
MMFilesEdgeIndex.cpp Minor refactoring (#7408) 2018-11-22 16:16:05 +01:00
MMFilesEdgeIndex.h yet more micro optimizations (#7400) 2018-11-21 17:09:09 +01:00
MMFilesEngine.cpp Make recovery more reliable (#7297) 2018-11-19 13:59:18 +01:00
MMFilesEngine.h Upgrade old MMFiles collections for compatibility with ArangoSearch. (#7248) 2018-11-07 15:52:37 +01:00
MMFilesExportCursor.cpp Server stream cursor (#7186) 2018-11-02 16:19:48 +01:00
MMFilesExportCursor.h fix non-blocking stream cursors (#6064) 2018-08-03 12:41:52 +02:00
MMFilesFulltextIndex.cpp Minor refactoring (#7408) 2018-11-22 16:16:05 +01:00
MMFilesFulltextIndex.h Hide Links from getIndexes() (#6325) 2018-09-03 15:17:24 +02:00
MMFilesGeoIndex.cpp Minor refactoring (#7408) 2018-11-22 16:16:05 +01:00
MMFilesGeoIndex.h Hide Links from getIndexes() (#6325) 2018-09-03 15:17:24 +02:00
MMFilesHashIndex.cpp Minor refactoring (#7408) 2018-11-22 16:16:05 +01:00
MMFilesHashIndex.h Minor refactoring (#7408) 2018-11-22 16:16:05 +01:00
MMFilesIncrementalSync.h use proper log topic (#6915) 2018-10-18 10:21:55 +02:00
MMFilesIndex.h Next try at truncate (#7090) 2018-10-26 13:00:33 +02:00
MMFilesIndexElement.cpp yet more micro optimizations (#7400) 2018-11-21 17:09:09 +01:00
MMFilesIndexElement.h yet more micro optimizations (#7400) 2018-11-21 17:09:09 +01:00
MMFilesIndexFactory.cpp issue 505.1: move index json comparison into index-type-specific implementations to address issue with incorrect definition comparison (#7430) 2018-12-03 16:26:08 +03:00
MMFilesIndexFactory.h issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesIndexLookupContext.cpp yet more micro optimizations (#7400) 2018-11-21 17:09:09 +01:00
MMFilesIndexLookupContext.h yet more micro optimizations (#7400) 2018-11-21 17:09:09 +01:00
MMFilesLogfileManager.cpp Feature/internal 3306 (#7683) 2018-12-06 16:19:28 +01:00
MMFilesLogfileManager.h attempt to make replication_sync more reliable in tests for MMFiles (#6184) 2018-08-17 14:20:40 +02:00
MMFilesOptimizerRules.cpp Disable JS on DBServer, fix race in UserManager (#6244) 2018-08-24 22:20:49 +02:00
MMFilesOptimizerRules.h
MMFilesPathBasedIndex.cpp Cleanup logging in MMFiles. 2018-10-01 16:30:10 -04:00
MMFilesPathBasedIndex.h Hide Links from getIndexes() (#6325) 2018-09-03 15:17:24 +02:00
MMFilesPersistentIndex.cpp Minor refactoring (#7408) 2018-11-22 16:16:05 +01:00
MMFilesPersistentIndex.h take over selectivity estimates (#6505) 2018-09-17 16:41:32 +02:00
MMFilesPersistentIndexFeature.cpp Cleanup logging in MMFiles. 2018-10-01 16:30:10 -04:00
MMFilesPersistentIndexFeature.h issue 427.5: use ApplicationServer reference instead of pointer (#6145) 2018-08-15 12:16:02 +03:00
MMFilesPersistentIndexKeyComparator.cpp
MMFilesPersistentIndexKeyComparator.h
MMFilesPrimaryIndex.cpp Minor refactoring (#7408) 2018-11-22 16:16:05 +01:00
MMFilesPrimaryIndex.h yet more micro optimizations (#7400) 2018-11-21 17:09:09 +01:00
MMFilesRemoverThread.cpp Cleanup logging in MMFiles. 2018-10-01 16:30:10 -04:00
MMFilesRemoverThread.h
MMFilesRestCollectionHandler.cpp Add engine specific collection APIs (#6977) 2018-10-19 17:46:33 +02:00
MMFilesRestCollectionHandler.h Add engine specific collection APIs (#6977) 2018-10-19 17:46:33 +02:00
MMFilesRestExportHandler.cpp Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesRestExportHandler.h Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesRestHandlers.cpp Add engine specific collection APIs (#6977) 2018-10-19 17:46:33 +02:00
MMFilesRestHandlers.h
MMFilesRestReplicationHandler.cpp Allow WAL logger to split up transactions (#6800) (#6866) 2018-10-12 17:50:58 +02:00
MMFilesRestReplicationHandler.h Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesRestWalHandler.cpp attempt to make MMFiles replication tests more deterministic (#6219) 2018-08-22 14:54:27 +02:00
MMFilesRestWalHandler.h Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesRevisionsCache.cpp
MMFilesRevisionsCache.h allow master & slave to work in parallel for RocksDB WAL tailing (#6059) 2018-08-03 13:37:53 +02:00
MMFilesSkiplist.h Feature/misc spelling corrections (#5164) 2018-07-13 13:06:20 +02:00
MMFilesSkiplistIndex.cpp Minor refactoring (#7408) 2018-11-22 16:16:05 +01:00
MMFilesSkiplistIndex.h yet more micro optimizations (#7400) 2018-11-21 17:09:09 +01:00
MMFilesSynchronizerThread.cpp
MMFilesSynchronizerThread.h
MMFilesTransactionCollection.cpp cleanup (#7507) 2018-11-28 19:42:37 +01:00
MMFilesTransactionCollection.h MMFiles-replication-get-followers-under-lock (forward-port) (#7343) 2018-11-20 09:43:26 +01:00
MMFilesTransactionContextData.cpp
MMFilesTransactionContextData.h
MMFilesTransactionManager.cpp do not create empty useless transaction data objects (#6430) 2018-09-10 14:47:05 +02:00
MMFilesTransactionManager.h
MMFilesTransactionState.cpp Cleanup logging in MMFiles. 2018-10-01 16:30:10 -04:00
MMFilesTransactionState.h TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesV8Functions.cpp Add engine specific collection APIs (#6977) 2018-10-19 17:46:33 +02:00
MMFilesV8Functions.h
MMFilesWalAccess.cpp Allow WAL logger to split up transactions (#6800) (#6866) 2018-10-12 17:50:58 +02:00
MMFilesWalAccess.h Allow WAL logger to split up transactions (#6800) (#6866) 2018-10-12 17:50:58 +02:00
MMFilesWalLogfile.cpp Cleanup logging in MMFiles. 2018-10-01 16:30:10 -04:00
MMFilesWalLogfile.h Cleanup logging in MMFiles. 2018-10-01 16:30:10 -04:00
MMFilesWalMarker.h Upgrade old MMFiles collections for compatibility with ArangoSearch. (#7248) 2018-11-07 15:52:37 +01:00
MMFilesWalRecoverState.cpp Bug fix/restore index refactor (#7470) 2018-11-27 20:22:36 +01:00
MMFilesWalRecoverState.h Upgrade old MMFiles collections for compatibility with ArangoSearch. (#7248) 2018-11-07 15:52:37 +01:00
MMFilesWalRecoveryFeature.cpp issue 496.2: allow customization of segmentsize lmts on arangosearch view creation, minor code cleanup (#7140) 2018-10-30 23:41:30 +03:00
MMFilesWalRecoveryFeature.h issue 427.5: use ApplicationServer reference instead of pointer (#6145) 2018-08-15 12:16:02 +03:00
MMFilesWalSlot.cpp Cleanup logging in MMFiles. 2018-10-01 16:30:10 -04:00
MMFilesWalSlot.h
MMFilesWalSlots.cpp Cleanup logging in MMFiles. 2018-10-01 16:30:10 -04:00
MMFilesWalSlots.h
MMFilesWalSyncRegion.h
README.md
mmfiles-fulltext-common.h
mmfiles-fulltext-index.cpp Cleanup logging in MMFiles. 2018-10-01 16:30:10 -04:00
mmfiles-fulltext-index.h
mmfiles-fulltext-list.cpp Feature/misc spelling corrections (#5164) 2018-07-13 13:06:20 +02:00
mmfiles-fulltext-list.h
mmfiles-fulltext-query.cpp
mmfiles-fulltext-query.h
mmfiles-replication-common.cpp View Replication (#5915) 2018-07-26 10:28:46 +02:00
mmfiles-replication-common.h
mmfiles-replication-dump.cpp Cleanup logging in MMFiles. 2018-10-01 16:30:10 -04:00
mmfiles-replication-dump.h

README.md

MMFilesEngine

How operations are stored - Overview

All operations like insert or remove are written as markers to a write ahead log (WAL). This WAL consists of files of a certain size and if such a file is full (or is manually flushed), all relevant markers are transferred (transferMarkers()) to the journals of the respective collections. During the transfer any obsolete markers will be thrown away: a sequence of insert, remove, insert on the same document will result in the last insert discarding the previous operations. When a journal file of size (journalSize()) is full, it will be sealed and renamed. By applying these operations it will become a datafile that is read-only. Datafiles will eventually be merged by a compactor thread that does about the same work as the transferMarkers function, reducing the size of the stored data.

Ditches

Ditches are used to pin objects in WAL or journal as long as they are used by other operations.