1
0
Fork 0
arangodb/arangod/MMFiles
jsteemann 8e4e463239 don't call throwing functions in dtor 2017-03-23 19:40:13 +01:00
..
MMFilesAllocatorThread.cpp remove logging for non-topics 2017-02-10 09:32:50 +01:00
MMFilesAllocatorThread.h
MMFilesAqlFunctions.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
MMFilesAqlFunctions.h functionality for plugging REST handlers 2017-03-09 17:12:00 +01:00
MMFilesCleanupThread.cpp don't call throwing functions in dtor 2017-03-23 19:40:13 +01:00
MMFilesCleanupThread.h
MMFilesCollection.cpp fixed failing test 2017-03-22 14:46:10 +01:00
MMFilesCollection.h renaming 2017-03-22 13:01:40 +01:00
MMFilesCollectionExport.cpp move attributes into engine 2017-03-21 10:31:50 +01:00
MMFilesCollectionExport.h move attributes into engine 2017-03-21 10:31:50 +01:00
MMFilesCollectionKeys.cpp move collection keys into engine 2017-03-21 14:23:29 +01:00
MMFilesCollectionKeys.h move collection keys into engine 2017-03-21 14:23:29 +01:00
MMFilesCollectionReadLocker.h Moved CollectionRead/WriteLocker to MMFiles. Also moved cleanupIndexes to MMFilesCollection 2017-02-14 15:12:36 +01:00
MMFilesCollectionWriteLocker.h Moved CollectionRead/WriteLocker to MMFiles. Also moved cleanupIndexes to MMFilesCollection 2017-02-14 15:12:36 +01:00
MMFilesCollectorCache.h renaming 2017-03-22 13:01:40 +01:00
MMFilesCollectorThread.cpp fixed failing test 2017-03-22 14:46:10 +01:00
MMFilesCollectorThread.h Moved ditches into MMFiles. 2017-02-23 09:02:34 +01:00
MMFilesCompactionLocker.h renamed classes 2017-02-28 17:59:48 +01:00
MMFilesCompactorThread.cpp fixed failing test 2017-03-22 14:46:10 +01:00
MMFilesCompactorThread.h renaming 2017-03-22 13:01:40 +01:00
MMFilesDatafile.cpp fixed failing test 2017-03-22 14:46:10 +01:00
MMFilesDatafile.h fixed failing test 2017-03-22 14:46:10 +01:00
MMFilesDatafileHelper.h fixed failing test 2017-03-22 14:46:10 +01:00
MMFilesDatafileStatistics.cpp moved files 2017-03-16 16:45:02 +01:00
MMFilesDatafileStatistics.h moved files 2017-03-16 16:45:02 +01:00
MMFilesDatafileStatisticsContainer.cpp moved files 2017-03-16 16:45:02 +01:00
MMFilesDatafileStatisticsContainer.h moved files 2017-03-16 16:45:02 +01:00
MMFilesDitch.cpp renamed classes 2017-02-27 11:40:15 +01:00
MMFilesDitch.h renamed classes 2017-02-27 11:40:15 +01:00
MMFilesDocumentOperation.cpp Moved primaryIndex knowledge out of Logical Collection. Also moved logic for close into MMFiles 2017-02-21 14:12:07 +01:00
MMFilesDocumentOperation.h renaming 2017-02-13 15:18:40 +01:00
MMFilesDocumentPosition.h
MMFilesEdgeIndex.cpp Moved indexBuckets from Logical => MMFiles collection. 2017-03-07 14:07:32 +01:00
MMFilesEdgeIndex.h index API change 2017-03-20 14:40:54 +01:00
MMFilesEngine.cpp fixed failing test 2017-03-22 14:46:10 +01:00
MMFilesEngine.h fixed failing test 2017-03-22 14:46:10 +01:00
MMFilesExportCursor.cpp move attributes into engine 2017-03-21 10:31:50 +01:00
MMFilesExportCursor.h move attributes into engine 2017-03-21 10:31:50 +01:00
MMFilesFulltextIndex.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
MMFilesFulltextIndex.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
MMFilesGeoIndex.cpp index API change 2017-03-20 14:40:54 +01:00
MMFilesGeoIndex.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
MMFilesHashIndex.cpp index API change 2017-03-20 14:40:54 +01:00
MMFilesHashIndex.h index API change 2017-03-20 14:40:54 +01:00
MMFilesIndexElement.cpp
MMFilesIndexElement.h
MMFilesIndexFactory.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
MMFilesIndexFactory.h
MMFilesLogfileManager.cpp renaming 2017-03-22 13:01:40 +01:00
MMFilesLogfileManager.h renaming 2017-03-22 13:01:40 +01:00
MMFilesOptimizerRules.cpp removed occurrences of mmfiles 2017-03-09 16:40:42 +01:00
MMFilesOptimizerRules.h functionality for plugging REST handlers 2017-03-09 17:12:00 +01:00
MMFilesPathBasedIndex.cpp remove logging for non-topics 2017-02-10 09:32:50 +01:00
MMFilesPathBasedIndex.h
MMFilesPersistentIndex.cpp defer access to PersistentIndexFeature until later 2017-03-16 10:34:54 +01:00
MMFilesPersistentIndex.h index API change 2017-03-20 14:40:54 +01:00
MMFilesPersistentIndexFeature.cpp class renaming 2017-03-08 17:54:00 +01:00
MMFilesPersistentIndexFeature.h class renaming 2017-03-08 17:54:00 +01:00
MMFilesPersistentIndexKeyComparator.cpp class renaming 2017-03-08 17:54:00 +01:00
MMFilesPersistentIndexKeyComparator.h class renaming 2017-03-08 17:54:00 +01:00
MMFilesPrimaryIndex.cpp class renaming 2017-03-08 17:54:00 +01:00
MMFilesPrimaryIndex.h index API change 2017-03-20 14:40:54 +01:00
MMFilesRemoverThread.cpp remove logging for non-topics 2017-02-10 09:32:50 +01:00
MMFilesRemoverThread.h
MMFilesRestExportHandler.cpp moved export into engine 2017-03-21 11:41:50 +01:00
MMFilesRestExportHandler.h move attributes into engine 2017-03-21 10:31:50 +01:00
MMFilesRestHandlers.cpp move attributes into engine 2017-03-21 10:31:50 +01:00
MMFilesRestHandlers.h make RestWalHandler a handler of the MMFiles engine 2017-03-10 09:00:37 +01:00
MMFilesRestWalHandler.cpp make RestWalHandler a handler of the MMFiles engine 2017-03-10 09:00:37 +01:00
MMFilesRestWalHandler.h make RestWalHandler a handler of the MMFiles engine 2017-03-10 09:00:37 +01:00
MMFilesRevisionsCache.cpp renaming 2017-03-22 13:01:40 +01:00
MMFilesRevisionsCache.h renaming 2017-03-22 13:01:40 +01:00
MMFilesSkiplist.h
MMFilesSkiplistIndex.cpp class renaming 2017-03-08 17:54:00 +01:00
MMFilesSkiplistIndex.h index API change 2017-03-20 14:40:54 +01:00
MMFilesSynchronizerThread.cpp remove logging for non-topics 2017-02-10 09:32:50 +01:00
MMFilesSynchronizerThread.h
MMFilesToken.h
MMFilesTransactionCollection.cpp Moved isVolatile into MMfiles collection. 2017-02-23 14:56:54 +01:00
MMFilesTransactionCollection.h a bit more debug messages 2017-03-20 11:33:27 +01:00
MMFilesTransactionContextData.cpp removed unused includes 2017-02-27 17:29:28 +01:00
MMFilesTransactionContextData.h removed unused includes 2017-02-27 17:29:28 +01:00
MMFilesTransactionState.cpp class renaming 2017-03-08 17:54:00 +01:00
MMFilesTransactionState.h create engine-specific transaction context data 2017-02-27 17:05:30 +01:00
MMFilesV8Functions.cpp renaming 2017-03-22 13:01:40 +01:00
MMFilesV8Functions.h move engine-specific V8 functions into storage engine 2017-03-09 12:59:44 +01:00
MMFilesView.cpp some fixes for view handling 2017-03-17 11:18:46 +01:00
MMFilesView.h some fixes for view handling 2017-03-17 11:18:46 +01:00
MMFilesWalLogfile.cpp move encoding functions into their own file 2017-02-14 12:57:15 +01:00
MMFilesWalLogfile.h renaming 2017-03-22 13:01:40 +01:00
MMFilesWalMarker.h fixed failing test 2017-03-22 14:46:10 +01:00
MMFilesWalRecoverState.cpp fixed failing test 2017-03-22 14:46:10 +01:00
MMFilesWalRecoverState.h renaming 2017-03-22 13:01:40 +01:00
MMFilesWalRecoveryFeature.cpp class renaming 2017-03-08 17:54:00 +01:00
MMFilesWalRecoveryFeature.h
MMFilesWalSlot.cpp renaming 2017-03-22 13:01:40 +01:00
MMFilesWalSlot.h
MMFilesWalSlots.cpp renaming 2017-03-22 13:01:40 +01:00
MMFilesWalSlots.h
MMFilesWalSyncRegion.h
README.md remove transferMarkers from StorageEngine.h 2017-02-21 16:00:37 +01:00
mmfiles-fulltext-common.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-handles.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-handles.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-index.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-index.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-list.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-list.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-query.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-query.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-result.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-result.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-geo-index.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-geo-index.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-replication-dump.cpp fixed failing test 2017-03-22 14:46:10 +01:00
mmfiles-replication-dump.h move replication-dump into engine 2017-03-21 13:55:57 +01:00

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.