1
0
Fork 0
arangodb/arangod/MMFiles
Dan Larkin-York 1cc31e1085 Minimize unnecessary dropping of followers due to poorly set synchronous replication timeouts (#9798) 2019-08-26 11:20:02 +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 Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesCleanupThread.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesCollection.cpp Bug fix/issue #9612 (#9764) 2019-08-20 19:34:23 +03:00
MMFilesCollection.h Bug fix/issue #9612 (#9764) 2019-08-20 19:34:23 +03:00
MMFilesCollectionExport.cpp Feature/set environment (#9688) 2019-08-13 09:18:16 +02:00
MMFilesCollectionExport.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesCollectionKeys.cpp Feature/cleanup ccpcheck (#9665) 2019-08-12 11:11:49 +02: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 Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesCollectorThread.cpp All hail to the SI (#9445) 2019-07-19 13:52:12 +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 All hail to the SI (#9445) 2019-07-19 13:52:12 +02:00
MMFilesCompactorThread.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesDatafile.cpp Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesDatafile.h add std:: (#9115) 2019-05-27 20:47:03 +02:00
MMFilesDatafileHelper.h Feature/cleanup ccpcheck (#9665) 2019-08-12 11:11:49 +02:00
MMFilesDatafileStatistics.cpp Decentralize includes (#9623) 2019-08-06 15:32:09 +02: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 Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesDitch.cpp Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesDitch.h Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesDocumentOperation.cpp Reduce # of memcpy from storage engine layer (#8685) 2019-04-08 22:43:29 +02:00
MMFilesDocumentOperation.h Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesDocumentPosition.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesEdgeIndex.cpp clean up usage costs (#9237) 2019-06-26 17:01:22 +02:00
MMFilesEdgeIndex.h make the comparison functions unambiguous (#9349) 2019-07-01 16:35:28 +02:00
MMFilesEngine.cpp Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesEngine.h Minimize unnecessary dropping of followers due to poorly set synchronous replication timeouts (#9798) 2019-08-26 11:20:02 +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 Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesFulltextIndex.h remove some containers from common.h (#9223) 2019-06-07 13:27:24 +02:00
MMFilesGeoIndex.cpp Add support for WGS84 on distances (#9672) 2019-08-12 13:05:56 +02:00
MMFilesGeoIndex.h refactor index APIs (#9145) 2019-05-31 11:12:39 +02:00
MMFilesHashIndex.cpp Bug fix/issue #9612 (#9764) 2019-08-20 19:34:23 +03:00
MMFilesHashIndex.h Feature/cleanup ccpcheck (#9665) 2019-08-12 11:11:49 +02:00
MMFilesIncrementalSync.h Feature/cleanup ccpcheck (#9665) 2019-08-12 11:11:49 +02:00
MMFilesIndex.cpp Refactoring index interface (#7971) 2019-01-17 16:33:46 +01:00
MMFilesIndex.h refactor index APIs (#9145) 2019-05-31 11:12:39 +02: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 Decentralize includes (#9623) 2019-08-06 15:32:09 +02: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 Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesLogfileManager.h bug-fix/internal-issue-#609 (#9464) 2019-07-19 11:10:56 +03:00
MMFilesOptimizerRules.cpp refactoring (#9411) 2019-07-09 11:15:52 +02:00
MMFilesOptimizerRules.h Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesPathBasedIndex.cpp Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesPathBasedIndex.h support db._explain with all plans (#7895) 2019-01-08 18:06:46 +01:00
MMFilesPersistentIndex.cpp don't unfairly favor the edge index when comparing it to more specialized indexes on `_from`/`_to` plus other attributes (#9362) 2019-07-01 16:32:42 +02:00
MMFilesPersistentIndex.h clean up usage costs (#9237) 2019-06-26 17:01:22 +02:00
MMFilesPersistentIndexFeature.cpp Decentralize includes (#9623) 2019-08-06 15:32:09 +02: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 clean up usage costs (#9237) 2019-06-26 17:01:22 +02:00
MMFilesPrimaryIndex.h make the comparison functions unambiguous (#9349) 2019-07-01 16:35:28 +02: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 Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesRestReplicationHandler.h Feature/min replication factor (#9433) 2019-07-19 13:02:28 +02: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 Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesSkiplistIndex.cpp clean up usage costs (#9237) 2019-06-26 17:01:22 +02:00
MMFilesSkiplistIndex.h clean up usage costs (#9237) 2019-06-26 17:01:22 +02:00
MMFilesSynchronizerThread.cpp Decentralize includes (#9623) 2019-08-06 15:32:09 +02: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
MMFilesTransactionManager.cpp Feature/hotbackup devel (#9495) 2019-08-02 11:39:46 +02:00
MMFilesTransactionManager.h Feature/hotbackup devel (#9495) 2019-08-02 11:39:46 +02:00
MMFilesTransactionState.cpp count intermediate commits (#9753) 2019-08-26 11:07:57 +02:00
MMFilesTransactionState.h bug-fix/internal-issue-#609 (#9464) 2019-07-19 11:10:56 +03:00
MMFilesTtlIndex.cpp make TTL indexes behave like other indexes on creation (#9546) 2019-07-23 13:53:58 +02:00
MMFilesTtlIndex.h make TTL indexes behave like other indexes on creation (#9546) 2019-07-23 13:53:58 +02: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 Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesWalLogfile.h Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesWalMarker.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalRecoverState.cpp Feature/cleanup ccpcheck (#9665) 2019-08-12 11:11:49 +02:00
MMFilesWalRecoverState.h bug-fix/internal-issue-#609 (#9464) 2019-07-19 11:10:56 +03:00
MMFilesWalRecoveryFeature.cpp Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
MMFilesWalRecoveryFeature.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalSlot.cpp Feature/set environment (#9688) 2019-08-13 09:18:16 +02:00
MMFilesWalSlot.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalSlots.cpp Decentralize includes (#9623) 2019-08-06 15:32:09 +02: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 Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
mmfiles-fulltext-index.h remove some containers from common.h (#9223) 2019-06-07 13:27:24 +02:00
mmfiles-fulltext-list.cpp Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
mmfiles-fulltext-list.h remove some containers from common.h (#9223) 2019-06-07 13:27:24 +02:00
mmfiles-fulltext-query.cpp Decentralize includes (#9623) 2019-08-06 15:32:09 +02:00
mmfiles-fulltext-query.h Decentralize includes (#9623) 2019-08-06 15:32:09 +02: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 Feature/cleanup ccpcheck (#9665) 2019-08-12 11:11:49 +02:00
mmfiles-replication-dump.h Feature/comm task refactor (#9426) 2019-07-16 09:43:25 +02: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.