1
0
Fork 0
arangodb/arangod/MMFiles
jsteemann b1aae2efdd remove unused options 2017-05-12 12:12:09 +02:00
..
CMakeLists.txt optimize away own transaction management for RocksDB engine 2017-05-04 23:16:53 +02:00
MMFilesAllocatorThread.cpp
MMFilesAllocatorThread.h
MMFilesAqlFunctions.cpp
MMFilesAqlFunctions.h
MMFilesCleanupThread.cpp removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesCleanupThread.h
MMFilesCollection.cpp removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesCollection.h removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesCollectionExport.cpp removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesCollectionExport.h
MMFilesCollectionKeys.cpp removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesCollectionKeys.h
MMFilesCollectionReadLocker.h honor exclusive locks 2017-04-25 12:56:56 +02:00
MMFilesCollectionWriteLocker.h honor exclusive locks 2017-04-25 12:56:56 +02:00
MMFilesCollectorCache.h
MMFilesCollectorThread.cpp optimize away own transaction management for RocksDB engine 2017-05-04 23:16:53 +02:00
MMFilesCollectorThread.h
MMFilesCompactionLocker.h
MMFilesCompactorThread.cpp removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesCompactorThread.h
MMFilesDatafile.cpp Various warnings 2017-04-26 11:26:08 +02:00
MMFilesDatafile.h
MMFilesDatafileHelper.h
MMFilesDatafileStatistics.cpp
MMFilesDatafileStatistics.h
MMFilesDatafileStatisticsContainer.cpp
MMFilesDatafileStatisticsContainer.h
MMFilesDitch.cpp
MMFilesDitch.h
MMFilesDocumentOperation.cpp
MMFilesDocumentOperation.h
MMFilesDocumentPosition.h
MMFilesEdgeIndex.cpp fix crashes 2017-04-25 15:47:11 +02:00
MMFilesEdgeIndex.h fix crashes 2017-04-25 15:47:11 +02:00
MMFilesEngine.cpp removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesEngine.h removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesExportCursor.cpp
MMFilesExportCursor.h
MMFilesFulltextIndex.cpp Geo index update, renaming 2017-05-11 13:19:51 +02:00
MMFilesFulltextIndex.h Fixing fulltext deduplication 2017-05-10 16:17:46 +02:00
MMFilesGeoIndex.cpp
MMFilesGeoIndex.h
MMFilesHashIndex.cpp fix crashes 2017-04-25 15:47:11 +02:00
MMFilesHashIndex.h fix crashes 2017-04-25 15:47:11 +02:00
MMFilesIndexElement.cpp
MMFilesIndexElement.h
MMFilesIndexFactory.cpp Removed code paths that wrote objectIds into the Agency. This did break replication. 2017-05-02 14:59:19 +02:00
MMFilesIndexFactory.h Removed code paths that wrote objectIds into the Agency. This did break replication. 2017-05-02 14:59:19 +02:00
MMFilesInitialSync.h move engine specific syncer code into engines 2017-05-02 16:36:27 +02:00
MMFilesLogfileManager.cpp optimize away own transaction management for RocksDB engine 2017-05-04 23:16:53 +02:00
MMFilesLogfileManager.h optimize away own transaction management for RocksDB engine 2017-05-04 23:16:53 +02:00
MMFilesOptimizerRules.cpp Working geo index + tests 2017-05-09 15:04:51 +02:00
MMFilesOptimizerRules.h Working geo index + tests 2017-05-09 15:04:51 +02:00
MMFilesPathBasedIndex.cpp
MMFilesPathBasedIndex.h
MMFilesPersistentIndex.cpp
MMFilesPersistentIndex.h
MMFilesPersistentIndexFeature.cpp remove unused options 2017-05-12 12:12:09 +02:00
MMFilesPersistentIndexFeature.h
MMFilesPersistentIndexKeyComparator.cpp
MMFilesPersistentIndexKeyComparator.h
MMFilesPrimaryIndex.cpp fixes for non-array IN lookups, added tests 2017-04-25 01:47:07 +02:00
MMFilesPrimaryIndex.h
MMFilesRemoverThread.cpp
MMFilesRemoverThread.h
MMFilesRestExportHandler.cpp
MMFilesRestExportHandler.h
MMFilesRestHandlers.cpp
MMFilesRestHandlers.h
MMFilesRestReplicationHandler.cpp removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesRestReplicationHandler.h more dictributeShardsLike code mergedfrom 3.1 2017-04-24 15:13:40 +02:00
MMFilesRestWalHandler.cpp
MMFilesRestWalHandler.h
MMFilesRevisionsCache.cpp
MMFilesRevisionsCache.h
MMFilesSkiplist.h
MMFilesSkiplistIndex.cpp fix gcc 4.9 compilation issue 2017-04-24 11:25:10 +02:00
MMFilesSkiplistIndex.h
MMFilesSynchronizerThread.cpp
MMFilesSynchronizerThread.h
MMFilesToken.h
MMFilesTransactionCollection.cpp turn off deadlock detector in obvious cases in which it is not necessary 2017-04-27 14:47:19 +02:00
MMFilesTransactionCollection.h
MMFilesTransactionContextData.cpp
MMFilesTransactionContextData.h
MMFilesTransactionManager.cpp optimize away own transaction management for RocksDB engine 2017-05-04 23:16:53 +02:00
MMFilesTransactionManager.h optimize away own transaction management for RocksDB engine 2017-05-04 23:16:53 +02:00
MMFilesTransactionState.cpp
MMFilesTransactionState.h
MMFilesV8Functions.cpp fix db._engineStats() 2017-05-04 00:33:36 +02:00
MMFilesV8Functions.h fix db._engineStats() 2017-05-04 00:33:36 +02:00
MMFilesView.cpp
MMFilesView.h
MMFilesWalLogfile.cpp
MMFilesWalLogfile.h
MMFilesWalMarker.h
MMFilesWalRecoverState.cpp
MMFilesWalRecoverState.h
MMFilesWalRecoveryFeature.cpp try to fix startup order 2017-04-25 11:14:10 +02:00
MMFilesWalRecoveryFeature.h
MMFilesWalSlot.cpp
MMFilesWalSlot.h
MMFilesWalSlots.cpp
MMFilesWalSlots.h
MMFilesWalSyncRegion.h
README.md
mmfiles-fulltext-common.h
mmfiles-fulltext-handles.cpp
mmfiles-fulltext-handles.h
mmfiles-fulltext-index.cpp cppcheck 2017-05-10 18:24:34 +02:00
mmfiles-fulltext-index.h cppcheck 2017-05-10 18:24:34 +02:00
mmfiles-fulltext-list.cpp
mmfiles-fulltext-list.h
mmfiles-fulltext-query.cpp
mmfiles-fulltext-query.h
mmfiles-fulltext-result.cpp
mmfiles-fulltext-result.h
mmfiles-geo-index.cpp
mmfiles-geo-index.h
mmfiles-replication-dump.cpp added more marker types 2017-04-26 11:15:33 +02: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.