1
0
Fork 0
arangodb/arangod/MMFiles
Jan Christoph Uhde 9bf111c9d5 Bug fix 3.5/little weekend fix (#10527)
* try to avoid oom situation

* create arena before using it

* fix namespace
2019-11-26 11:35:34 +03: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
MMFilesCleanupThread.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesCleanupThread.h
MMFilesCollection.cpp don't return any in-progress indexes (#10431) 2019-11-14 14:08:38 +03:00
MMFilesCollection.h Bug fix 3.5/issue #9612 (#9778) 2019-08-21 17:59:59 +03:00
MMFilesCollectionExport.cpp Bug fix/cleanup 31032019 (#8632) 2019-04-01 17:14:11 +02:00
MMFilesCollectionExport.h
MMFilesCollectionKeys.cpp
MMFilesCollectionKeys.h
MMFilesCollectionWriteLocker.h
MMFilesCollectorCache.h
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
MMFilesCompactionLocker.h
MMFilesCompactorThread.cpp Bug fix/vpack update (#8875) 2019-04-30 12:33:26 +02:00
MMFilesCompactorThread.h
MMFilesDatafile.cpp Bug fix/cleanup system includes (#8962) 2019-05-15 15:12:59 +02:00
MMFilesDatafile.h add std:: (#9115) 2019-05-27 20:47:03 +02:00
MMFilesDatafileHelper.h
MMFilesDatafileStatistics.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesDatafileStatistics.h
MMFilesDatafileStatisticsContainer.cpp
MMFilesDatafileStatisticsContainer.h
MMFilesDitch.cpp fix a rare recovery error, add diagnostic output (#8931) 2019-05-08 14:24:26 +02:00
MMFilesDitch.h
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
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 Bug fix/internal issue #647 (#10292) (#10334) 2019-10-30 17:01:18 +03:00
MMFilesEngine.h This merges hotbackup and atomic-db-creation into 3.5. (#9968) 2019-09-11 13:13:54 +03: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 refactor index APIs (#9145) 2019-05-31 11:12:39 +02:00
MMFilesFulltextIndex.h remove some containers from common.h (#9223) 2019-06-07 13:27:24 +02:00
MMFilesGeoIndex.cpp Merge 3.5.1 back to 3.5 (#9713) 2019-08-14 20:24:47 +03:00
MMFilesGeoIndex.h refactor index APIs (#9145) 2019-05-31 11:12:39 +02:00
MMFilesHashIndex.cpp Bug fix 3.5/little weekend fix (#10527) 2019-11-26 11:35:34 +03:00
MMFilesHashIndex.h Bug fix 3.5/little weekend fix (#10527) 2019-11-26 11:35:34 +03:00
MMFilesIncrementalSync.h Bug fix/add shard id to replication client identifier (#9366) 2019-07-08 14:03:42 +02:00
MMFilesIndex.cpp
MMFilesIndex.h refactor index APIs (#9145) 2019-05-31 11:12:39 +02:00
MMFilesIndexElement.cpp
MMFilesIndexElement.h
MMFilesIndexFactory.cpp Forbid indexes on _id (#9337) 2019-06-28 11:11:22 +02:00
MMFilesIndexFactory.h
MMFilesIndexLookupContext.cpp Reduce # of memcpy from storage engine layer (#8685) 2019-04-08 22:43:29 +02:00
MMFilesIndexLookupContext.h
MMFilesLogfileManager.cpp This merges hotbackup and atomic-db-creation into 3.5. (#9968) 2019-09-11 13:13:54 +03:00
MMFilesLogfileManager.h bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
MMFilesOptimizerRules.cpp refactoring (#9411) 2019-07-09 11:15:52 +02:00
MMFilesOptimizerRules.h refactoring (#9411) 2019-07-09 11:15:52 +02:00
MMFilesPathBasedIndex.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesPathBasedIndex.h
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 apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesPersistentIndexFeature.h
MMFilesPersistentIndexKeyComparator.cpp
MMFilesPersistentIndexKeyComparator.h Bug fix/vpack update (#8875) 2019-04-30 12:33:26 +02:00
MMFilesPrimaryIndex.cpp Bug fix 3.5/little weekend fix (#10527) 2019-11-26 11:35:34 +03: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
MMFilesRestCollectionHandler.cpp
MMFilesRestCollectionHandler.h
MMFilesRestExportHandler.cpp make ownership a bit more transparent, API-wise (#8653) 2019-04-03 18:47:04 +02:00
MMFilesRestExportHandler.h
MMFilesRestHandlers.cpp
MMFilesRestHandlers.h
MMFilesRestReplicationHandler.cpp Bug fix 3.5/clean replication api wal tracking (#9503) 2019-07-18 19:38:31 +03:00
MMFilesRestReplicationHandler.h Bug fix 3.5/min replication factor (#9524) 2019-07-22 17:48:34 +03:00
MMFilesRestWalHandler.cpp
MMFilesRestWalHandler.h
MMFilesRevisionsCache.cpp
MMFilesRevisionsCache.h
MMFilesSkiplist.h
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 apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesSynchronizerThread.h
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
MMFilesTransactionContextData.h
MMFilesTransactionState.cpp 3.5 -- intermediate commit stats (#9780) 2019-08-26 16:56:21 +03:00
MMFilesTransactionState.h bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
MMFilesTtlIndex.cpp Bug fix 3.5/make ttl indexes behave like others (#9547) 2019-07-23 15:46:50 +03:00
MMFilesTtlIndex.h Bug fix 3.5/make ttl indexes behave like others (#9547) 2019-07-23 15:46:50 +03:00
MMFilesV8Functions.cpp
MMFilesV8Functions.h
MMFilesWalAccess.cpp Bug fix/vpack update (#8875) 2019-04-30 12:33:26 +02:00
MMFilesWalAccess.h
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
MMFilesWalRecoverState.cpp Harden database creation against spurious "duplicate name" errors (#9950) 2019-09-09 21:34:17 +03:00
MMFilesWalRecoverState.h bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
MMFilesWalRecoveryFeature.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesWalRecoveryFeature.h
MMFilesWalSlot.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesWalSlot.h
MMFilesWalSlots.cpp apply unique log ids (#8561) 2019-03-25 20:26:51 +01:00
MMFilesWalSlots.h
MMFilesWalSyncRegion.h
README.md
mmfiles-fulltext-common.h
mmfiles-fulltext-index.cpp Bug fix/cleanup system includes (#8962) 2019-05-15 15:12:59 +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
mmfiles-fulltext-list.h remove some containers from common.h (#9223) 2019-06-07 13:27:24 +02:00
mmfiles-fulltext-query.cpp
mmfiles-fulltext-query.h
mmfiles-replication-common.cpp
mmfiles-replication-common.h
mmfiles-replication-dump.cpp Bug fix/vpack update (#8875) 2019-04-30 12:33:26 +02:00
mmfiles-replication-dump.h

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.