1
0
Fork 0
arangodb/arangod/MMFiles
jsteemann f1763e491d fix db._engineStats() 2017-05-04 00:33:36 +02:00
..
CMakeLists.txt Moved MMFiles replication handler. 2017-04-18 15:35:45 -04:00
MMFilesAllocatorThread.cpp
MMFilesAllocatorThread.h
MMFilesAqlFunctions.cpp fix handling of externals 2017-03-30 17:37:09 +02:00
MMFilesAqlFunctions.h
MMFilesCleanupThread.cpp
MMFilesCleanupThread.h
MMFilesCollection.cpp moved files 2017-05-02 12:34:28 +02:00
MMFilesCollection.h moved files 2017-05-02 12:34:28 +02:00
MMFilesCollectionExport.cpp moved files 2017-05-02 12:34:28 +02:00
MMFilesCollectionExport.h
MMFilesCollectionKeys.cpp refactor some code to make use of arangodb::Result 2017-03-30 09:39:21 +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 refactor some code to make use of arangodb::Result 2017-03-30 09:39:21 +02:00
MMFilesCollectorThread.h
MMFilesCompactionLocker.h
MMFilesCompactorThread.cpp honor exclusive locks 2017-04-25 12:56:56 +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 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-05-02 16:41:43 +02:00
MMFilesEngine.h move engine specific syncer code into engines 2017-05-02 16:36:27 +02:00
MMFilesExportCursor.cpp
MMFilesExportCursor.h
MMFilesFulltextIndex.cpp Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesFulltextIndex.h Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesGeoIndex.cpp Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesGeoIndex.h Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
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 honor feature optionality 2017-03-29 12:53:05 +02:00
MMFilesLogfileManager.h
MMFilesOptimizerRules.cpp make SORT RAND() removal a feature of the old engine 2017-04-04 08:55:08 +02:00
MMFilesOptimizerRules.h make SORT RAND() removal a feature of the old engine 2017-04-04 08:55:08 +02:00
MMFilesPathBasedIndex.cpp added assert 2017-04-12 15:38:01 +02:00
MMFilesPathBasedIndex.h Path based enumerator 2017-03-29 17:33:02 +02:00
MMFilesPersistentIndex.cpp Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-04-18 11:33:16 +02:00
MMFilesPersistentIndex.h Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesPersistentIndexFeature.cpp change --rocksdb.enabled to be a obosolete option 2017-04-19 14:54:10 +02:00
MMFilesPersistentIndexFeature.h change --rocksdb.enabled to be a obosolete option 2017-04-19 14:54:10 +02:00
MMFilesPersistentIndexKeyComparator.cpp
MMFilesPersistentIndexKeyComparator.h
MMFilesPrimaryIndex.cpp fixes for non-array IN lookups, added tests 2017-04-25 01:47:07 +02:00
MMFilesPrimaryIndex.h Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesRemoverThread.cpp
MMFilesRemoverThread.h
MMFilesRestExportHandler.cpp
MMFilesRestExportHandler.h
MMFilesRestHandlers.cpp Moved MMFiles replication handler. 2017-04-18 15:35:45 -04:00
MMFilesRestHandlers.h
MMFilesRestReplicationHandler.cpp moved files 2017-05-02 12:34:28 +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 Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
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
MMFilesTransactionState.cpp optimize query cache invalidation for MMFiles a bit 2017-04-20 10:59:37 +02:00
MMFilesTransactionState.h refactor some code to make use of arangodb::Result 2017-03-30 09:39:21 +02:00
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 fix compile warning 2017-04-19 12:31:13 +02:00
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
mmfiles-fulltext-index.h
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.