1
0
Fork 0
arangodb/arangod/MMFiles
jsteemann d0dba4f941 make sure some tick invariants always hold true 2019-03-12 16:47:12 +01:00
..
CMakeLists.txt Feature/ttl index (#8169) 2019-02-19 14:12:21 +01:00
MMFilesAllocatorThread.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesAllocatorThread.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesCleanupThread.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesCleanupThread.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesCollection.cpp Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesCollection.h Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesCollectionExport.cpp big reformat 2018-12-26 00:54:03 +01: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 big reformat 2018-12-26 00:54:03 +01:00
MMFilesCollectorThread.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesCompactionFeature.cpp big reformat 2018-12-26 00:54:03 +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 big reformat 2018-12-26 00:54:03 +01:00
MMFilesCompactorThread.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesDatafile.cpp big reformat 2018-12-26 00:54:03 +01: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 big reformat 2018-12-26 00:54:03 +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 port some changes from 3.4 (#8011) 2019-01-29 09:26:57 +01:00
MMFilesDitch.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesDocumentOperation.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesDocumentOperation.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesDocumentPosition.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesEdgeIndex.cpp Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesEdgeIndex.h Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesEngine.cpp issue 527.1: ensure the cause of the failure is reported to the user (#8371) 2019-03-11 23:42:34 +03:00
MMFilesEngine.h Feature/upgrade v8 7.1.302.28 (#8088) 2019-02-19 11:15:34 +01:00
MMFilesExportCursor.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesExportCursor.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesFulltextIndex.cpp Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesFulltextIndex.h Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesGeoIndex.cpp Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesGeoIndex.h Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesHashIndex.cpp Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesHashIndex.h Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01: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 Feature/ttl index (#8169) 2019-02-19 14:12:21 +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 issue 526.1: initial support for vocbase-prefixed analyzer names (#8319) 2019-03-06 15:13:19 +03:00
MMFilesIndexFactory.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesIndexLookupContext.cpp Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesIndexLookupContext.h Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesLogfileManager.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesLogfileManager.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesOptimizerRules.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesOptimizerRules.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesPathBasedIndex.cpp support db._explain with all plans (#7895) 2019-01-08 18:06:46 +01:00
MMFilesPathBasedIndex.h support db._explain with all plans (#7895) 2019-01-08 18:06:46 +01:00
MMFilesPersistentIndex.cpp Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesPersistentIndex.h Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesPersistentIndexFeature.cpp big reformat 2018-12-26 00:54:03 +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 big reformat 2018-12-26 00:54:03 +01:00
MMFilesPrimaryIndex.cpp Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesPrimaryIndex.h Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
MMFilesRemoverThread.cpp big reformat 2018-12-26 00:54:03 +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 big reformat 2018-12-26 00:54:03 +01: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 make sure some tick invariants always hold true 2019-03-12 16:47:12 +01: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 big reformat 2018-12-26 00:54:03 +01:00
MMFilesSynchronizerThread.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesTransactionCollection.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesTransactionCollection.h big reformat 2018-12-26 00:54:03 +01: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 big reformat 2018-12-26 00:54:03 +01:00
MMFilesTransactionManager.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesTransactionState.cpp Bug fix/optimizations 18022019 (#8180) 2019-02-19 19:24:04 +01:00
MMFilesTransactionState.h big reformat 2018-12-26 00:54:03 +01: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 port of replication improvements from 3.4 (#8308) 2019-03-11 13:37:18 +01:00
MMFilesWalAccess.h port of replication improvements from 3.4 (#8308) 2019-03-11 13:37:18 +01:00
MMFilesWalLogfile.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalLogfile.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalMarker.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalRecoverState.cpp issue 466.4: implement persistence of IResearchLink WAL flush marker (#8059) 2019-02-04 16:36:13 +03:00
MMFilesWalRecoverState.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalRecoveryFeature.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalRecoveryFeature.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalSlot.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalSlot.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesWalSlots.cpp big reformat 2018-12-26 00:54:03 +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
mmfiles-fulltext-common.h
mmfiles-fulltext-index.cpp Feature/ttl index (#8169) 2019-02-19 14:12:21 +01: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 Sync Foxx Queues (#8250) 2019-02-25 17:13:14 +01: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.