1
0
Fork 0
arangodb/arangod/MMFiles
Wilfried Goesgens 1907a7211b Bug fix/cleanup system includes (#8962) 2019-05-15 15:12:59 +02:00
..
CMakeLists.txt Refactorings from cluster trx improvement branch (#8391) 2019-03-14 23:13:17 +01:00
MMFilesAllocatorThread.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesAllocatorThread.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesCleanupThread.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesCleanupThread.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesCollection.cpp fix a rare recovery error, add diagnostic output (#8931) 2019-05-08 14:24:26 +02:00
MMFilesCollection.h Reduce # of memcpy from storage engine layer (#8685) 2019-04-08 22:43:29 +02:00
MMFilesCollectionExport.cpp Bug fix/cleanup 31032019 (#8632) 2019-04-01 17:14:11 +02:00
MMFilesCollectionExport.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesCollectionKeys.cpp Bug fix/optimizations 18022019 (#8180) 2019-02-19 19:24:04 +01:00
MMFilesCollectionKeys.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesCollectionWriteLocker.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesCollectorCache.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesCollectorThread.cpp Bug fix/vpack update (#8875) 2019-04-30 12:33:26 +02:00
MMFilesCollectorThread.h Bug fix/cleanup 31032019 (#8632) 2019-04-01 17:14:11 +02:00
MMFilesCompactionFeature.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesCompactionFeature.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesCompactionLocker.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesCompactorThread.cpp Bug fix/vpack update (#8875) 2019-04-30 12:33:26 +02:00
MMFilesCompactorThread.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesDatafile.cpp Bug fix/cleanup system includes (#8962) 2019-05-15 15:12:59 +02:00
MMFilesDatafile.h issue 466.1.1: initial commit of FlushFeature redesign with WAL markers (#7980) 2019-01-21 17:50:42 +03:00
MMFilesDatafileHelper.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesDatafileStatistics.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesDatafileStatistics.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesDatafileStatisticsContainer.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesDatafileStatisticsContainer.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesDitch.cpp fix a rare recovery error, add diagnostic output (#8931) 2019-05-08 14:24:26 +02:00
MMFilesDitch.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesDocumentOperation.cpp Reduce # of memcpy from storage engine layer (#8685) 2019-04-08 22:43:29 +02:00
MMFilesDocumentOperation.h Reduce # of memcpy from storage engine layer (#8685) 2019-04-08 22:43:29 +02:00
MMFilesDocumentPosition.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesEdgeIndex.cpp Refactorings from cluster trx improvement branch (#8391) 2019-03-14 23:13:17 +01:00
MMFilesEdgeIndex.h Remove Obsolete code (#8657) 2019-04-03 13:40:44 +02:00
MMFilesEngine.cpp fix a rare recovery error, add diagnostic output (#8931) 2019-05-08 14:24:26 +02:00
MMFilesEngine.h cleanup replication contexts (#8630) 2019-04-01 09:35:08 +02:00
MMFilesExportCursor.cpp Bug fix/vpack update (#8875) 2019-04-30 12:33:26 +02:00
MMFilesExportCursor.h make ownership a bit more transparent, API-wise (#8653) 2019-04-03 18:47:04 +02:00
MMFilesFulltextIndex.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesFulltextIndex.h Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesGeoIndex.cpp forwardport changes from 3.4 (#8894) 2019-05-08 14:34:25 +02:00
MMFilesGeoIndex.h Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesHashIndex.cpp Refactorings from cluster trx improvement branch (#8391) 2019-03-14 23:13:17 +01:00
MMFilesHashIndex.h Remove Obsolete code (#8657) 2019-04-03 13:40:44 +02:00
MMFilesIncrementalSync.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesIndex.cpp Refactoring index interface (#7971) 2019-01-17 16:33:46 +01:00
MMFilesIndex.h Named indices (#8370) 2019-03-13 18:20:32 +01:00
MMFilesIndexElement.cpp Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesIndexElement.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesIndexFactory.cpp Remove USE_IRESEARCH definition and usage (#8613) 2019-03-28 17:23:51 +01:00
MMFilesIndexFactory.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesIndexLookupContext.cpp Reduce # of memcpy from storage engine layer (#8685) 2019-04-08 22:43:29 +02:00
MMFilesIndexLookupContext.h Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesLogfileManager.cpp Bug fix/cleanup 31032019 (#8632) 2019-04-01 17:14:11 +02:00
MMFilesLogfileManager.h Bug fix/cleanup system includes (#8962) 2019-05-15 15:12:59 +02:00
MMFilesOptimizerRules.cpp Remove USE_IRESEARCH definition and usage (#8613) 2019-03-28 17:23:51 +01:00
MMFilesOptimizerRules.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesPathBasedIndex.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesPathBasedIndex.h support db._explain with all plans (#7895) 2019-01-08 18:06:46 +01:00
MMFilesPersistentIndex.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesPersistentIndex.h Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesPersistentIndexFeature.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesPersistentIndexFeature.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesPersistentIndexKeyComparator.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesPersistentIndexKeyComparator.h Bug fix/vpack update (#8875) 2019-04-30 12:33:26 +02:00
MMFilesPrimaryIndex.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesPrimaryIndex.h Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesRemoverThread.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesRemoverThread.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesRestCollectionHandler.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesRestCollectionHandler.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesRestExportHandler.cpp make ownership a bit more transparent, API-wise (#8653) 2019-04-03 18:47:04 +02:00
MMFilesRestExportHandler.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesRestHandlers.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesRestHandlers.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesRestReplicationHandler.cpp remove replication clients handling out of vocbase code (#8676) 2019-04-08 19:15:28 +02:00
MMFilesRestReplicationHandler.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesRestWalHandler.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesRestWalHandler.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesRevisionsCache.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesRevisionsCache.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesSkiplist.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesSkiplistIndex.cpp Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesSkiplistIndex.h Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesSynchronizerThread.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesSynchronizerThread.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesTransactionCollection.cpp Bug fix/pass on error messages (#8690) 2019-04-10 12:34:25 +02:00
MMFilesTransactionCollection.h Bug fix/pass on error messages (#8690) 2019-04-10 12:34:25 +02:00
MMFilesTransactionContextData.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesTransactionContextData.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesTransactionState.cpp Reduce # of memcpy from storage engine layer (#8685) 2019-04-08 22:43:29 +02:00
MMFilesTransactionState.h Reduce # of memcpy from storage engine layer (#8685) 2019-04-08 22:43:29 +02:00
MMFilesTtlIndex.cpp Bug fix/make ttl index work with datestrings too (#8208) 2019-02-22 16:09:51 +01:00
MMFilesTtlIndex.h Bug fix/make ttl index work with datestrings too (#8208) 2019-02-22 16:09:51 +01:00
MMFilesV8Functions.cpp Feature/upgrade v8 7.1.302.28 (#8088) 2019-02-19 11:15:34 +01:00
MMFilesV8Functions.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalAccess.cpp Bug fix/vpack update (#8875) 2019-04-30 12:33:26 +02:00
MMFilesWalAccess.h port of replication improvements from 3.4 (#8308) 2019-03-11 13:37:18 +01:00
MMFilesWalLogfile.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesWalLogfile.h apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesWalMarker.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalRecoverState.cpp Bug fix/vpack update (#8875) 2019-04-30 12:33:26 +02:00
MMFilesWalRecoverState.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalRecoveryFeature.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesWalRecoveryFeature.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalSlot.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesWalSlot.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalSlots.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesWalSlots.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalSyncRegion.h big reformat 2018-12-26 00:54:03 +01:00
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-index.cpp Bug fix/cleanup system includes (#8962) 2019-05-15 15:12:59 +02:00
mmfiles-fulltext-index.h Feature/ttl index (#8169) 2019-02-19 14:12:21 +01:00
mmfiles-fulltext-list.cpp big reformat 2018-12-26 00:54:03 +01:00
mmfiles-fulltext-list.h big reformat 2018-12-26 00:54:03 +01:00
mmfiles-fulltext-query.cpp Feature/ttl index (#8169) 2019-02-19 14:12:21 +01:00
mmfiles-fulltext-query.h big reformat 2018-12-26 00:54:03 +01:00
mmfiles-replication-common.cpp big reformat 2018-12-26 00:54:03 +01:00
mmfiles-replication-common.h big reformat 2018-12-26 00:54:03 +01:00
mmfiles-replication-dump.cpp Bug fix/vpack update (#8875) 2019-04-30 12:33:26 +02:00
mmfiles-replication-dump.h big reformat 2018-12-26 00:54:03 +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.