1
0
Fork 0
arangodb/arangod/MMFiles
Simon cde96d97aa RocksDB replication hardening & cleanup (#4639) 2018-02-23 18:15:04 +01:00
..
CMakeLists.txt Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
MMFilesAllocatorThread.cpp
MMFilesAllocatorThread.h
MMFilesAqlFunctions.cpp fixed issue #4185: On execution of FULLTEXT search / AQL query db is … (#4238) 2018-01-16 00:27:27 +01:00
MMFilesAqlFunctions.h
MMFilesCleanupThread.cpp remove TRI_usleep and TRI_sleep, and use std::this_thread::sleep_for … (#3817) 2017-12-06 18:43:49 +01:00
MMFilesCleanupThread.h fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesCollection.cpp RocksDB replication hardening & cleanup (#4639) 2018-02-23 18:15:04 +01:00
MMFilesCollection.h RocksDB replication hardening & cleanup (#4639) 2018-02-23 18:15:04 +01:00
MMFilesCollectionExport.cpp remove TRI_usleep and TRI_sleep, and use std::this_thread::sleep_for … (#3817) 2017-12-06 18:43:49 +01:00
MMFilesCollectionExport.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
MMFilesCollectionKeys.cpp fix premature unlock (#3802) 2017-12-13 13:27:42 +01:00
MMFilesCollectionKeys.h fix premature unlock (#3802) 2017-12-13 13:27:42 +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 Bug fix/isrestore (#3283) 2017-10-03 11:53:49 +02:00
MMFilesCollectorThread.cpp improved logging for MMFiles IO operations (#4366) 2018-01-19 18:37:01 +01:00
MMFilesCollectorThread.h Feature iresearch (#4071) 2017-12-18 15:04:59 +01:00
MMFilesCompactionFeature.cpp Bug fix/issues 2709 (#3333) 2017-10-01 09:43:03 +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 improved logging for MMFiles IO operations (#4366) 2018-01-19 18:37:01 +01:00
MMFilesCompactorThread.h Feature/compaction configuration (#3217) 2017-09-15 14:37:30 +02:00
MMFilesDatafile.cpp improved logging for MMFiles IO operations (#4366) 2018-01-19 18:37:01 +01:00
MMFilesDatafile.h Feature iresearch (#4071) 2017-12-18 15:04:59 +01:00
MMFilesDatafileHelper.h Feature iresearch (#4071) 2017-12-18 15:04:59 +01:00
MMFilesDatafileStatistics.cpp do not complain about missing datafile statistics (#3688) 2017-11-14 16:42:31 +01: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
MMFilesDitch.h
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 Feature/efficiency (#3736) 2018-01-05 16:51:31 +01:00
MMFilesEdgeIndex.h Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
MMFilesEngine.cpp improved logging for MMFiles IO operations (#4366) 2018-01-19 18:37:01 +01:00
MMFilesEngine.h Fix index selectivity estimate issues with RocksDB engine (#4429) 2018-02-09 16:05:33 +01:00
MMFilesExportCursor.cpp Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
MMFilesExportCursor.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
MMFilesFulltextIndex.cpp Feature/efficiency (#3736) 2018-01-05 16:51:31 +01:00
MMFilesFulltextIndex.h Feature/efficiency (#3736) 2018-01-05 16:51:31 +01:00
MMFilesGeoIndex.cpp Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
MMFilesGeoIndex.h Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
MMFilesHashIndex.cpp Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
MMFilesHashIndex.h Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
MMFilesIncrementalSync.h Fix some problems with active failover (#4540) 2018-02-09 15:11:53 +01:00
MMFilesIndex.h Bug fix/fixes 0211 (#3568) 2017-11-09 12:48:15 +01:00
MMFilesIndexElement.cpp Bug fix/isrestore (#3283) 2017-10-03 11:53:49 +02:00
MMFilesIndexElement.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
MMFilesIndexFactory.cpp Feature iresearch (#4105) 2018-01-19 14:23:58 +01:00
MMFilesIndexFactory.h Removed code paths that wrote objectIds into the Agency. This did break replication. 2017-05-02 14:59:19 +02:00
MMFilesLogfileManager.cpp temporarily break flush thread feature in order to prevent some loss (#4159) 2018-01-02 13:20:07 +01:00
MMFilesLogfileManager.h Feature iresearch (#4071) 2017-12-18 15:04:59 +01:00
MMFilesOptimizerRules.cpp Bug fix/fixes 0609 (#3227) 2017-09-13 16:28:21 +02:00
MMFilesOptimizerRules.h Working geo index + tests 2017-05-09 15:04:51 +02:00
MMFilesPathBasedIndex.cpp Bug fix/isrestore (#3283) 2017-10-03 11:53:49 +02:00
MMFilesPathBasedIndex.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
MMFilesPersistentIndex.cpp Speed up condition normalization (DNF conversion) (#4574) 2018-02-13 22:13:52 +01:00
MMFilesPersistentIndex.h Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
MMFilesPersistentIndexFeature.cpp Bug fix/fixes 0609 (#3227) 2017-09-13 16:28:21 +02:00
MMFilesPersistentIndexFeature.h change --rocksdb.enabled to be a obosolete option 2017-04-19 14:54:10 +02:00
MMFilesPersistentIndexKeyComparator.cpp
MMFilesPersistentIndexKeyComparator.h
MMFilesPrimaryIndex.cpp speed up collection.any() for mmfiles (#4433) 2018-02-08 11:39:40 +01:00
MMFilesPrimaryIndex.h Feature/efficiency (#3736) 2018-01-05 16:51:31 +01:00
MMFilesRemoverThread.cpp
MMFilesRemoverThread.h
MMFilesRestExportHandler.cpp Fix some problems with active failover (#4540) 2018-02-09 15:11:53 +01:00
MMFilesRestExportHandler.h move common code into its own file 2017-05-22 17:46:12 +02:00
MMFilesRestHandlers.cpp Moved MMFiles replication handler. 2017-04-18 15:35:45 -04:00
MMFilesRestHandlers.h
MMFilesRestReplicationHandler.cpp forward port of replication bugfixes from 3.2 (#4572) 2018-02-12 18:13:51 +01:00
MMFilesRestReplicationHandler.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
MMFilesRestWalHandler.cpp make truncate a bit less obstrusive (#3721) 2017-11-16 20:28:33 +01:00
MMFilesRestWalHandler.h
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 Bug fix/fixes 0609 (#3227) 2017-09-13 16:28:21 +02:00
MMFilesSkiplistIndex.cpp Speed up condition normalization (DNF conversion) (#4574) 2018-02-13 22:13:52 +01:00
MMFilesSkiplistIndex.h Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
MMFilesSynchronizerThread.cpp improved logging for MMFiles IO operations (#4366) 2018-01-19 18:37:01 +01:00
MMFilesSynchronizerThread.h
MMFilesTransactionCollection.cpp Feature/efficiency (#3736) 2018-01-05 16:51:31 +01:00
MMFilesTransactionCollection.h fix premature unlock (#3802) 2017-12-13 13:27:42 +01:00
MMFilesTransactionContextData.cpp
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 remove TRI_usleep and TRI_sleep, and use std::this_thread::sleep_for … (#3817) 2017-12-06 18:43:49 +01:00
MMFilesTransactionState.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
MMFilesV8Functions.cpp Fix index selectivity estimate issues with RocksDB engine (#4429) 2018-02-09 16:05:33 +01:00
MMFilesV8Functions.h fix db._engineStats() 2017-05-04 00:33:36 +02:00
MMFilesView.cpp
MMFilesView.h
MMFilesWalAccess.cpp forward port of replication bugfixes from 3.2 (#4572) 2018-02-12 18:13:51 +01:00
MMFilesWalAccess.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
MMFilesWalLogfile.cpp Bug fix/isrestore (#3283) 2017-10-03 11:53:49 +02:00
MMFilesWalLogfile.h temporarily break flush thread feature in order to prevent some loss (#4159) 2018-01-02 13:20:07 +01:00
MMFilesWalMarker.h Feature iresearch (#4071) 2017-12-18 15:04:59 +01:00
MMFilesWalRecoverState.cpp fix issue #4272 (#4419) 2018-01-25 15:57:13 +01:00
MMFilesWalRecoverState.h
MMFilesWalRecoveryFeature.cpp add a test for replication applier restarts (#3750) 2017-12-06 11:09:36 +01: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 remove TRI_usleep and TRI_sleep, and use std::this_thread::sleep_for … (#3817) 2017-12-06 18:43:49 +01: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 Bug fix/isrestore (#3283) 2017-10-03 11:53:49 +02:00
mmfiles-fulltext-index.h Bug fix/isrestore (#3283) 2017-10-03 11:53:49 +02:00
mmfiles-fulltext-list.cpp Bug fix/fixes 0609 (#3227) 2017-09-13 16:28:21 +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-geo-index.cpp Bug fix/fixes 0609 (#3227) 2017-09-13 16:28:21 +02:00
mmfiles-geo-index.h
mmfiles-replication-common.cpp Feature iresearch (#4071) 2017-12-18 15:04:59 +01:00
mmfiles-replication-common.h slight cleanup of replication-related code (#4286) 2018-01-17 16:56:40 +01:00
mmfiles-replication-dump.cpp forward port of replication bugfixes from 3.2 (#4572) 2018-02-12 18:13:51 +01:00
mmfiles-replication-dump.h forward port of replication bugfixes from 3.2 (#4572) 2018-02-12 18:13:51 +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.