1
0
Fork 0
arangodb/arangod/MMFiles
Jan Christoph Uhde b94755c61e fix segfault and try to avoid oom (#10518)
* create arena before using it

* try to avoid oom situation
2019-11-25 13:49:50 +03:00
..
CMakeLists.txt
MMFilesAllocatorThread.cpp Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesAllocatorThread.h Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesCleanupThread.cpp Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesCleanupThread.h Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesCollection.cpp Feature/internal issue #509 (#10407) 2019-11-14 18:56:18 +03:00
MMFilesCollection.h Improve Connection pool robustness (#10268) 2019-10-30 17:30:50 +01:00
MMFilesCollectionExport.cpp Remove invokeOnAllElements (#10212) 2019-10-10 14:03:13 +02:00
MMFilesCollectionExport.h
MMFilesCollectionKeys.cpp upgrade vpack library (#10314) 2019-10-25 11:04:16 +02:00
MMFilesCollectionKeys.h
MMFilesCollectionWriteLocker.h
MMFilesCollectorCache.h
MMFilesCollectorThread.cpp vale, vamos a ver! (#10337) 2019-10-30 16:04:55 +01:00
MMFilesCollectorThread.h Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesCompactionFeature.cpp Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesCompactionFeature.h Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +02:00
MMFilesCompactionLocker.h
MMFilesCompactorThread.cpp Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesCompactorThread.h
MMFilesDatafile.cpp
MMFilesDatafile.h Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +02:00
MMFilesDatafileHelper.h
MMFilesDatafileStatistics.cpp C++17 clean up (#10287) 2019-11-11 08:49:54 +01:00
MMFilesDatafileStatistics.h
MMFilesDatafileStatisticsContainer.cpp
MMFilesDatafileStatisticsContainer.h
MMFilesDitch.cpp Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +02:00
MMFilesDitch.h
MMFilesDocumentOperation.cpp Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +02:00
MMFilesDocumentOperation.h
MMFilesDocumentPosition.h Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +02:00
MMFilesEdgeIndex.cpp Move containers into their own folder and namespace. (#10244) 2019-10-14 10:55:55 +02:00
MMFilesEdgeIndex.h Move containers into their own folder and namespace. (#10244) 2019-10-14 10:55:55 +02:00
MMFilesEngine.cpp fixi fix 2019-11-11 09:47:19 +01:00
MMFilesEngine.h more vocbase clean up (#10247) 2019-10-15 12:05:02 +02:00
MMFilesExportCursor.cpp Feature/parallel aql phase one 2 (#10408) 2019-11-12 15:47:31 +01:00
MMFilesExportCursor.h Feature/parallel aql phase one 2 (#10408) 2019-11-12 15:47:31 +01:00
MMFilesFulltextIndex.cpp Bug fix/fix suspicous stuff (#10273) 2019-10-17 15:34:22 +02:00
MMFilesFulltextIndex.h Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +02:00
MMFilesGeoIndex.cpp vale, vamos a ver! (#10337) 2019-10-30 16:04:55 +01:00
MMFilesGeoIndex.h
MMFilesHashIndex.cpp fix segfault and try to avoid oom (#10518) 2019-11-25 13:49:50 +03:00
MMFilesHashIndex.h fix segfault and try to avoid oom (#10518) 2019-11-25 13:49:50 +03:00
MMFilesIncrementalSync.h Remove invokeOnAllElements (#10212) 2019-10-10 14:03:13 +02:00
MMFilesIndex.cpp
MMFilesIndex.h
MMFilesIndexElement.cpp
MMFilesIndexElement.h Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +02:00
MMFilesIndexFactory.cpp Bug fix/fix suspicous stuff (#10273) 2019-10-17 15:34:22 +02:00
MMFilesIndexFactory.h
MMFilesIndexLookupContext.cpp
MMFilesIndexLookupContext.h Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +02:00
MMFilesLogfileManager.cpp C++17 clean up (#10287) 2019-11-11 08:49:54 +01:00
MMFilesLogfileManager.h
MMFilesOptimizerRules.cpp Move containers into their own folder and namespace. (#10244) 2019-10-14 10:55:55 +02:00
MMFilesOptimizerRules.h one shard db - devel (#9395) 2019-09-23 15:48:37 +02:00
MMFilesPathBasedIndex.cpp
MMFilesPathBasedIndex.h
MMFilesPersistentIndex.cpp Bug fix/fix suspicous stuff (#10273) 2019-10-17 15:34:22 +02:00
MMFilesPersistentIndex.h
MMFilesPersistentIndexFeature.cpp Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesPersistentIndexFeature.h
MMFilesPersistentIndexKeyComparator.cpp
MMFilesPersistentIndexKeyComparator.h
MMFilesPrimaryIndex.cpp fix segfault and try to avoid oom (#10518) 2019-11-25 13:49:50 +03:00
MMFilesPrimaryIndex.h Move containers into their own folder and namespace. (#10244) 2019-10-14 10:55:55 +02:00
MMFilesRemoverThread.cpp Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesRemoverThread.h Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesRestCollectionHandler.cpp Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesRestCollectionHandler.h Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesRestExportHandler.cpp Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesRestExportHandler.h Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesRestHandlers.cpp
MMFilesRestHandlers.h
MMFilesRestReplicationHandler.cpp Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesRestReplicationHandler.h Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesRestWalHandler.cpp Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesRestWalHandler.h Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesRevisionsCache.cpp Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +02:00
MMFilesRevisionsCache.h Move containers into their own folder and namespace. (#10244) 2019-10-14 10:55:55 +02:00
MMFilesSkiplistIndex.cpp vale, vamos a ver! (#10337) 2019-10-30 16:04:55 +01:00
MMFilesSkiplistIndex.h Move containers into their own folder and namespace. (#10244) 2019-10-14 10:55:55 +02:00
MMFilesSynchronizerThread.cpp Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesSynchronizerThread.h Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesTransactionCollection.cpp Support for fetching in parallel & skipping 2019-10-15 16:38:08 +02:00
MMFilesTransactionCollection.h Move containers into their own folder and namespace. (#10244) 2019-10-14 10:55:55 +02:00
MMFilesTransactionContextData.cpp C++17 clean up (#10287) 2019-11-11 08:49:54 +01:00
MMFilesTransactionContextData.h
MMFilesTransactionManager.cpp C++17 clean up (#10287) 2019-11-11 08:49:54 +01:00
MMFilesTransactionManager.h Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +02:00
MMFilesTransactionState.cpp feature/metrics (#10423) 2019-11-22 08:02:48 +01:00
MMFilesTransactionState.h
MMFilesTtlIndex.cpp Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +02:00
MMFilesTtlIndex.h
MMFilesV8Functions.cpp Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesV8Functions.h
MMFilesWalAccess.cpp C++17 clean up (#10287) 2019-11-11 08:49:54 +01:00
MMFilesWalAccess.h
MMFilesWalLogfile.cpp
MMFilesWalLogfile.h
MMFilesWalMarker.h Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +02:00
MMFilesWalRecoverState.cpp C++17 clean up (#10287) 2019-11-11 08:49:54 +01:00
MMFilesWalRecoverState.h Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesWalRecoveryFeature.cpp Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesWalRecoveryFeature.h Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +02:00
MMFilesWalSlot.cpp
MMFilesWalSlot.h
MMFilesWalSlots.cpp Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesWalSlots.h Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
MMFilesWalSyncRegion.h Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +02:00
README.md
mmfiles-fulltext-common.h
mmfiles-fulltext-index.cpp remove unused code (#10043) 2019-09-19 12:25:25 +02:00
mmfiles-fulltext-index.h remove unused code (#10043) 2019-09-19 12:25:25 +02:00
mmfiles-fulltext-list.cpp remove unused code (#10043) 2019-09-19 12:25:25 +02:00
mmfiles-fulltext-list.h remove unused code (#10043) 2019-09-19 12:25:25 +02:00
mmfiles-fulltext-query.cpp
mmfiles-fulltext-query.h remove unused code (#10043) 2019-09-19 12:25:25 +02:00
mmfiles-replication-common.cpp
mmfiles-replication-common.h
mmfiles-replication-dump.cpp C++17 clean up (#10287) 2019-11-11 08:49:54 +01: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.