1
0
Fork 0
arangodb/arangod/MMFiles
Vasiliy 0d1cf45097 issue 373.3: use TRI_vocbase_t& for Upgrade tasks, remove redundant checks for null TRI_vocbase_t (#5301) 2018-05-09 15:54:07 +03:00
..
CMakeLists.txt S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesAllocatorThread.cpp
MMFilesAllocatorThread.h
MMFilesAqlFunctions.cpp S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesAqlFunctions.h
MMFilesCleanupThread.cpp issue 355.7: ensure LogicalDataSource::vocbase() returns a reference 2018-04-09 15:38:24 +03:00
MMFilesCleanupThread.h fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesCollection.cpp add missing override specifiers, add final specifiers 2018-05-04 09:01:50 +02:00
MMFilesCollection.h S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesCollectionExport.cpp issue 355.7: ensure LogicalDataSource::vocbase() returns a reference 2018-04-09 15:38:24 +03:00
MMFilesCollectionExport.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
MMFilesCollectionKeys.cpp issue 355.7: ensure LogicalDataSource::vocbase() returns a reference 2018-04-09 15:38:24 +03:00
MMFilesCollectionKeys.h fix premature unlock (#3802) 2017-12-13 13:27:42 +01:00
MMFilesCollectionWriteLocker.h Deadlock detection uses TransactionID instead of Thread ID (#4787) 2018-03-09 18:35:38 +01:00
MMFilesCollectorCache.h Bug fix/isrestore (#3283) 2017-10-03 11:53:49 +02:00
MMFilesCollectorThread.cpp Bug fix/remove most of aql js (#5223) 2018-04-30 11:17:11 +02:00
MMFilesCollectorThread.h Feature iresearch (#4071) 2017-12-18 15:04:59 +01:00
MMFilesCompactionFeature.cpp remove call to requiresElevatedPrivileges with default value (#5172) 2018-04-23 11:28:24 +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 S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesCompactorThread.h Feature/compaction configuration (#3217) 2017-09-15 14:37:30 +02:00
MMFilesDatafile.cpp Bugfix/fix windows warnings (#5116) 2018-04-17 12:38:59 +02:00
MMFilesDatafile.h improve startup resilience in case there are datafile errors (#4975) 2018-04-03 17:32:30 +02:00
MMFilesDatafileHelper.h Feature iresearch (#4071) 2017-12-18 15:04:59 +01: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
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 S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesEdgeIndex.h S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesEngine.cpp issue 373.1: move globally-unique id generation from collection into data-source (#5182) 2018-05-07 22:14:40 +03:00
MMFilesEngine.h issue 374.2: use a reference to vocbase instead of a pointer in StorageEngime LogicalDatasource related DDL operations, use vocbase from the found collection 2018-04-11 18:49:46 +03:00
MMFilesExportCursor.cpp backport: use vocbase reference instead of pointer in arangodb::pregel::GraphStore 2018-04-13 11:23:34 +03:00
MMFilesExportCursor.h backport: use vocbase reference instead of pointer in arangodb::pregel::GraphStore 2018-04-13 11:23:34 +03:00
MMFilesFulltextIndex.cpp S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesFulltextIndex.h S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesGeoIndex.cpp S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesGeoIndex.h S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesHashIndex.cpp S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesHashIndex.h S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesIncrementalSync.h issue 344.6: remove some redundant functions (#4842) 2018-03-15 11:03:35 +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 S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesIndexFactory.h issue 355.6: remove create() from LogicalView, remove IResearch dependency from IndexFactory, store vocbase reference in LogicalDataSource 2018-04-06 16:38:34 +03:00
MMFilesLogfileManager.cpp remove call to requiresElevatedPrivileges with default value (#5172) 2018-04-23 11:28:24 +02:00
MMFilesLogfileManager.h Feature iresearch (#4071) 2017-12-18 15:04:59 +01:00
MMFilesOptimizerRules.cpp Feature/aql optimizations (#5237) 2018-05-03 16:55:58 +02:00
MMFilesOptimizerRules.h
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 S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesPersistentIndex.h S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesPersistentIndexFeature.cpp remove call to requiresElevatedPrivileges with default value (#5172) 2018-04-23 11:28:24 +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 S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesPrimaryIndex.h S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesRemoverThread.cpp
MMFilesRemoverThread.h
MMFilesRestExportHandler.cpp Remove copy of request body in rest handlers (#5104) 2018-04-16 14:49:51 +02:00
MMFilesRestExportHandler.h
MMFilesRestHandlers.cpp
MMFilesRestHandlers.h
MMFilesRestReplicationHandler.cpp Simple dump speedup (#5298) 2018-05-09 12:51:04 +02:00
MMFilesRestReplicationHandler.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
MMFilesRestWalHandler.cpp remove useless flush from test, bump wal flush default timeouts (#4845) 2018-03-14 21:59:48 +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 S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesSkiplistIndex.h S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
MMFilesSynchronizerThread.cpp improved logging for MMFiles IO operations (#4366) 2018-01-19 18:37:01 +01:00
MMFilesSynchronizerThread.h
MMFilesTransactionCollection.cpp remove TRI_ERROR_ARANGO_VIEW_NOT_FOUND, rename TRI_ERROR_ARANGO_COLLECTION_NOT_FOUND to TRI_ERROR_ARNANGO_DATA_SOURCE_NOT_FOUND 2018-03-17 19:36:14 +03: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
MMFilesTransactionManager.h
MMFilesTransactionState.cpp issue 344.6: remove some redundant functions (#4842) 2018-03-15 11:03:35 +01:00
MMFilesTransactionState.h Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
MMFilesV8Functions.cpp issue 373.3: use TRI_vocbase_t& for Upgrade tasks, remove redundant checks for null TRI_vocbase_t (#5301) 2018-05-09 15:54:07 +03:00
MMFilesV8Functions.h
MMFilesWalAccess.cpp issue 373.1: move globally-unique id generation from collection into data-source (#5182) 2018-05-07 22:14:40 +03: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 issue 383.3: implement remainder of IResearchViewDBServer tests, use the data-source id (primary key) instead of an arbitrary instance for dropCollection()/dropView(), backport from iresearch upstream: ensure block is flushed if key index is full (#5176) 2018-04-23 00:33:46 +03:00
MMFilesWalRecoverState.h
MMFilesWalRecoveryFeature.cpp remove call to requiresElevatedPrivileges with default value (#5172) 2018-04-23 11:28:24 +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 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 S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +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-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 issue 355.7: ensure LogicalDataSource::vocbase() returns a reference 2018-04-09 15:38:24 +03: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.