1
0
Fork 0
arangodb/arangod/MMFiles
Simon 2dd8593609 View Replication (#5915) 2018-07-26 10:28:46 +02:00
..
CMakeLists.txt Add optimizer rule that replaces js function calls (NEAR/WITHIN/FULLTEXT) with pure AQL (#5529) 2018-06-12 13:48:31 +02:00
MMFilesAllocatorThread.cpp
MMFilesAllocatorThread.h
MMFilesCleanupThread.cpp Remove Coordinator DBs (#5661) 2018-06-25 19:18:11 +02:00
MMFilesCleanupThread.h Remove Coordinator DBs (#5661) 2018-06-25 19:18:11 +02:00
MMFilesCollection.cpp Bug fix/replication improvements (#5962) 2018-07-25 09:04:50 +02:00
MMFilesCollection.h Bug fix/meierloch (#5895) 2018-07-17 11:39:50 +02:00
MMFilesCollectionExport.cpp issue 389.10: refactor CollectionNameResolver to use TRI_vocbase_t& (#5424) 2018-05-23 00:59:08 +03:00
MMFilesCollectionExport.h issue 389.10: refactor CollectionNameResolver to use TRI_vocbase_t& (#5424) 2018-05-23 00:59:08 +03:00
MMFilesCollectionKeys.cpp TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesCollectionKeys.h issue 389.10: refactor CollectionNameResolver to use TRI_vocbase_t& (#5424) 2018-05-23 00:59:08 +03:00
MMFilesCollectionWriteLocker.h Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesCollectorCache.h Bug fix/isrestore (#3283) 2017-10-03 11:53:49 +02:00
MMFilesCollectorThread.cpp turn off MMFiles collection and compaction (#5734) 2018-07-03 15:23:27 +02:00
MMFilesCollectorThread.h Feature iresearch (#4071) 2017-12-18 15:04:59 +01:00
MMFilesCompactionFeature.cpp Feature/feature phases (#5272) 2018-07-16 14:09:36 +02:00
MMFilesCompactionFeature.h fix dropping of system collections and retrieving list of user databa… (#3304) 2017-09-21 10:05:46 +02:00
MMFilesCompactionLocker.h
MMFilesCompactorThread.cpp renamed MMFiles compactor thread from "Compactor" to "MMFilesCompactor" 2018-07-14 01:10:14 +02:00
MMFilesCompactorThread.h issue 389.5: refactor StandaloneContext to be constructed with a TRI_vocbase_t& (#5370) 2018-05-17 01:15:50 +03:00
MMFilesDatafile.cpp View Replication (#5915) 2018-07-26 10:28:46 +02:00
MMFilesDatafile.h View Replication (#5915) 2018-07-26 10:28:46 +02:00
MMFilesDatafileHelper.h View Replication (#5915) 2018-07-26 10:28:46 +02:00
MMFilesDatafileStatistics.cpp improve startup resilience in case there are datafile errors (#4975) 2018-04-03 17:32:30 +02:00
MMFilesDatafileStatistics.h do not complain about missing datafile statistics (#3688) 2017-11-14 16:42:31 +01:00
MMFilesDatafileStatisticsContainer.cpp
MMFilesDatafileStatisticsContainer.h
MMFilesDitch.cpp issue 399.2: use a LogicalCollection& instead of LogicalCollection* in PhysicalCollection (#5861) 2018-07-13 15:02:43 +03:00
MMFilesDitch.h issue 399.2: use a LogicalCollection& instead of LogicalCollection* in PhysicalCollection (#5861) 2018-07-13 15:02:43 +03:00
MMFilesDocumentOperation.cpp Bug fix/isrestore (#3283) 2017-10-03 11:53:49 +02:00
MMFilesDocumentOperation.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
MMFilesDocumentPosition.h Bug fix/isrestore (#3283) 2017-10-03 11:53:49 +02:00
MMFilesEdgeIndex.cpp Bug fix/replication improvements (#5962) 2018-07-25 09:04:50 +02:00
MMFilesEdgeIndex.h issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesEngine.cpp View Replication (#5915) 2018-07-26 10:28:46 +02:00
MMFilesEngine.h View Replication (#5915) 2018-07-26 10:28:46 +02:00
MMFilesExportCursor.cpp Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesExportCursor.h Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesFulltextIndex.cpp issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesFulltextIndex.h issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesGeoIndex.cpp issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesGeoIndex.h issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesHashIndex.cpp Bug fix/replication improvements (#5962) 2018-07-25 09:04:50 +02:00
MMFilesHashIndex.h issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesIncrementalSync.h Refactor syncer state and make notes for future parallelization (#5742) 2018-07-03 21:32:16 +02:00
MMFilesIndex.h issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesIndexElement.cpp remove methods from VelocyPackHelper that are also in VPackSlice (#5946) 2018-07-25 09:01:29 +02:00
MMFilesIndexElement.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
MMFilesIndexFactory.cpp issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesIndexFactory.h issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesLogfileManager.cpp Feature/feature phases (#5272) 2018-07-16 14:09:36 +02:00
MMFilesLogfileManager.h Feature iresearch (#4071) 2017-12-18 15:04:59 +01:00
MMFilesOptimizerRules.cpp use ExecutionNode::castTo (#5875) 2018-07-13 20:09:16 +02:00
MMFilesOptimizerRules.h Working geo index + tests 2017-05-09 15:04:51 +02:00
MMFilesPathBasedIndex.cpp remove methods from VelocyPackHelper that are also in VPackSlice (#5946) 2018-07-25 09:01:29 +02:00
MMFilesPathBasedIndex.h issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesPersistentIndex.cpp issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesPersistentIndex.h issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesPersistentIndexFeature.cpp Feature/feature phases (#5272) 2018-07-16 14:09:36 +02:00
MMFilesPersistentIndexFeature.h
MMFilesPersistentIndexKeyComparator.cpp
MMFilesPersistentIndexKeyComparator.h add missing override specifiers, add final specifiers 2018-05-04 09:01:50 +02:00
MMFilesPrimaryIndex.cpp issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesPrimaryIndex.h issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesRemoverThread.cpp
MMFilesRemoverThread.h
MMFilesRestExportHandler.cpp Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesRestExportHandler.h Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesRestHandlers.cpp
MMFilesRestHandlers.h
MMFilesRestReplicationHandler.cpp Allow dumping / restoring of views (#5774) 2018-07-05 17:55:28 +02:00
MMFilesRestReplicationHandler.h Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesRestWalHandler.cpp remove methods from VelocyPackHelper that are also in VPackSlice (#5946) 2018-07-25 09:01:29 +02:00
MMFilesRestWalHandler.h Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesRevisionsCache.cpp Bug fix/isrestore (#3283) 2017-10-03 11:53:49 +02:00
MMFilesRevisionsCache.h Bug fix/isrestore (#3283) 2017-10-03 11:53:49 +02:00
MMFilesSkiplist.h Feature/misc spelling corrections (#5164) 2018-07-13 13:06:20 +02:00
MMFilesSkiplistIndex.cpp remove methods from VelocyPackHelper that are also in VPackSlice (#5946) 2018-07-25 09:01:29 +02:00
MMFilesSkiplistIndex.h issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesSynchronizerThread.cpp improved logging for MMFiles IO operations (#4366) 2018-01-19 18:37:01 +01:00
MMFilesSynchronizerThread.h
MMFilesTransactionCollection.cpp Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesTransactionCollection.h fix premature unlock (#3802) 2017-12-13 13:27:42 +01:00
MMFilesTransactionContextData.cpp issue 344.6: remove some redundant functions (#4842) 2018-03-15 11:03:35 +01:00
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 TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesTransactionState.h TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesV8Functions.cpp TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesV8Functions.h
MMFilesWalAccess.cpp View Replication (#5915) 2018-07-26 10:28:46 +02:00
MMFilesWalAccess.h add missing override specifiers, add final specifiers 2018-05-04 09:01:50 +02:00
MMFilesWalLogfile.cpp improve startup resilience in case there are datafile errors (#4975) 2018-04-03 17:32:30 +02:00
MMFilesWalLogfile.h improve startup resilience in case there are datafile errors (#4975) 2018-04-03 17:32:30 +02:00
MMFilesWalMarker.h Feature iresearch (#4071) 2017-12-18 15:04:59 +01:00
MMFilesWalRecoverState.cpp View Replication (#5915) 2018-07-26 10:28:46 +02:00
MMFilesWalRecoverState.h
MMFilesWalRecoveryFeature.cpp Feature/feature phases (#5272) 2018-07-16 14:09:36 +02:00
MMFilesWalRecoveryFeature.h
MMFilesWalSlot.cpp Bug fix/isrestore (#3283) 2017-10-03 11:53:49 +02:00
MMFilesWalSlot.h fix WAL file tick updating (happened too late before) (#2762) 2017-07-10 17:41:08 +02:00
MMFilesWalSlots.cpp Feature/misc spelling corrections (#5164) 2018-07-13 13:06:20 +02:00
MMFilesWalSlots.h fix WAL file tick updating (happened too late before) (#2762) 2017-07-10 17:41:08 +02:00
MMFilesWalSyncRegion.h
README.md
mmfiles-fulltext-common.h
mmfiles-fulltext-index.cpp Feature/misc spelling corrections (#5164) 2018-07-13 13:06:20 +02:00
mmfiles-fulltext-index.h Bug fix/isrestore (#3283) 2017-10-03 11:53:49 +02:00
mmfiles-fulltext-list.cpp Feature/misc spelling corrections (#5164) 2018-07-13 13:06:20 +02:00
mmfiles-fulltext-list.h fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
mmfiles-fulltext-query.cpp Bug fix/fixes 0609 (#3227) 2017-09-13 16:28:21 +02:00
mmfiles-fulltext-query.h
mmfiles-replication-common.cpp View Replication (#5915) 2018-07-26 10:28:46 +02:00
mmfiles-replication-common.h slight cleanup of replication-related code (#4286) 2018-01-17 16:56:40 +01:00
mmfiles-replication-dump.cpp View Replication (#5915) 2018-07-26 10:28:46 +02:00
mmfiles-replication-dump.h issue 389.5: refactor StandaloneContext to be constructed with a TRI_vocbase_t& (#5370) 2018-05-17 01:15:50 +03: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.