1
0
Fork 0
arangodb/arangod/MMFiles
jsteemann 7344a03623 fix crashes 2017-04-25 15:47:11 +02:00
..
CMakeLists.txt Moved MMFiles replication handler. 2017-04-18 15:35:45 -04:00
MMFilesAllocatorThread.cpp remove logging for non-topics 2017-02-10 09:32:50 +01:00
MMFilesAllocatorThread.h
MMFilesAqlFunctions.cpp fix handling of externals 2017-03-30 17:37:09 +02:00
MMFilesAqlFunctions.h functionality for plugging REST handlers 2017-03-09 17:12:00 +01:00
MMFilesCleanupThread.cpp don't call throwing functions in dtor 2017-03-23 19:40:13 +01:00
MMFilesCleanupThread.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesCollection.cpp fix crashes 2017-04-25 15:47:11 +02:00
MMFilesCollection.h fix crashes 2017-04-25 15:47:11 +02:00
MMFilesCollectionExport.cpp pass trx into numberDocuments 2017-03-31 11:33:16 +02:00
MMFilesCollectionExport.h move attributes into engine 2017-03-21 10:31:50 +01:00
MMFilesCollectionKeys.cpp refactor some code to make use of arangodb::Result 2017-03-30 09:39:21 +02:00
MMFilesCollectionKeys.h move collection keys into engine 2017-03-21 14:23:29 +01:00
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 renaming 2017-03-22 13:01:40 +01:00
MMFilesCollectorThread.cpp refactor some code to make use of arangodb::Result 2017-03-30 09:39:21 +02:00
MMFilesCollectorThread.h Moved ditches into MMFiles. 2017-02-23 09:02:34 +01:00
MMFilesCompactionLocker.h renamed classes 2017-02-28 17:59:48 +01:00
MMFilesCompactorThread.cpp honor exclusive locks 2017-04-25 12:56:56 +02:00
MMFilesCompactorThread.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesDatafile.cpp warn before we run out of file descriptors 2017-03-29 02:35:46 +02:00
MMFilesDatafile.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesDatafileHelper.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesDatafileStatistics.cpp moved files 2017-03-16 16:45:02 +01:00
MMFilesDatafileStatistics.h moved files 2017-03-16 16:45:02 +01:00
MMFilesDatafileStatisticsContainer.cpp moved files 2017-03-16 16:45:02 +01:00
MMFilesDatafileStatisticsContainer.h moved files 2017-03-16 16:45:02 +01:00
MMFilesDitch.cpp renamed classes 2017-02-27 11:40:15 +01:00
MMFilesDitch.h renamed classes 2017-02-27 11:40:15 +01:00
MMFilesDocumentOperation.cpp Moved primaryIndex knowledge out of Logical Collection. Also moved logic for close into MMFiles 2017-02-21 14:12:07 +01:00
MMFilesDocumentOperation.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesDocumentPosition.h added stubs for indexes 2017-03-23 15:24:00 +01:00
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 replication bugfixes 2017-04-20 15:20:22 +02:00
MMFilesEngine.h make versionFilename() a property of the engine 2017-04-04 17:23:02 +02:00
MMFilesExportCursor.cpp move attributes into engine 2017-03-21 10:31:50 +01:00
MMFilesExportCursor.h move attributes into engine 2017-03-21 10:31:50 +01:00
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 add engine capabilities 2017-04-06 14:50:27 +02:00
MMFilesIndexFactory.h add engine capabilities 2017-04-06 14:50:27 +02:00
MMFilesLogfileManager.cpp honor feature optionality 2017-03-29 12:53:05 +02:00
MMFilesLogfileManager.h renaming 2017-03-22 13:01:40 +01:00
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 class renaming 2017-03-08 17:54:00 +01:00
MMFilesPersistentIndexKeyComparator.h class renaming 2017-03-08 17:54:00 +01:00
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 remove logging for non-topics 2017-02-10 09:32:50 +01:00
MMFilesRemoverThread.h
MMFilesRestExportHandler.cpp moved export into engine 2017-03-21 11:41:50 +01:00
MMFilesRestExportHandler.h move attributes into engine 2017-03-21 10:31:50 +01:00
MMFilesRestHandlers.cpp Moved MMFiles replication handler. 2017-04-18 15:35:45 -04:00
MMFilesRestHandlers.h make RestWalHandler a handler of the MMFiles engine 2017-03-10 09:00:37 +01:00
MMFilesRestReplicationHandler.cpp more dictributeShardsLike code mergedfrom 3.1 2017-04-24 15:13:40 +02:00
MMFilesRestReplicationHandler.h more dictributeShardsLike code mergedfrom 3.1 2017-04-24 15:13:40 +02:00
MMFilesRestWalHandler.cpp make RestWalHandler a handler of the MMFiles engine 2017-03-10 09:00:37 +01:00
MMFilesRestWalHandler.h make RestWalHandler a handler of the MMFiles engine 2017-03-10 09:00:37 +01:00
MMFilesRevisionsCache.cpp renaming 2017-03-22 13:01:40 +01:00
MMFilesRevisionsCache.h added stubs for indexes 2017-03-23 15:24:00 +01:00
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 remove logging for non-topics 2017-02-10 09:32:50 +01:00
MMFilesSynchronizerThread.h
MMFilesToken.h
MMFilesTransactionCollection.cpp honor exclusive locks 2017-04-25 12:56:56 +02:00
MMFilesTransactionCollection.h more startup 2017-03-24 14:20:51 +01:00
MMFilesTransactionContextData.cpp removed unused includes 2017-02-27 17:29:28 +01:00
MMFilesTransactionContextData.h removed unused includes 2017-02-27 17:29:28 +01:00
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 refactor some code to make use of arangodb::Result 2017-03-30 09:39:21 +02:00
MMFilesV8Functions.h move engine-specific V8 functions into storage engine 2017-03-09 12:59:44 +01:00
MMFilesView.cpp some fixes for view handling 2017-03-17 11:18:46 +01:00
MMFilesView.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesWalLogfile.cpp move encoding functions into their own file 2017-02-14 12:57:15 +01:00
MMFilesWalLogfile.h renaming 2017-03-22 13:01:40 +01:00
MMFilesWalMarker.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesWalRecoverState.cpp fix compile warning 2017-04-19 12:31:13 +02:00
MMFilesWalRecoverState.h renaming 2017-03-22 13:01:40 +01:00
MMFilesWalRecoveryFeature.cpp try to fix startup order 2017-04-25 11:14:10 +02:00
MMFilesWalRecoveryFeature.h
MMFilesWalSlot.cpp renaming 2017-03-22 13:01:40 +01:00
MMFilesWalSlot.h
MMFilesWalSlots.cpp renaming 2017-03-22 13:01:40 +01:00
MMFilesWalSlots.h
MMFilesWalSyncRegion.h
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-handles.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-handles.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-index.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-index.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-list.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-list.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-query.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-query.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-result.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-result.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-geo-index.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-geo-index.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-replication-dump.cpp fixed failing test 2017-03-22 14:46:10 +01:00
mmfiles-replication-dump.h move replication-dump into engine 2017-03-21 13:55:57 +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.