1
0
Fork 0
arangodb/arangod/MMFiles
Jan a212f45a86 Bug fix/issues 2308 (#3117)
* remove API docs for endpoints that were deleted in 3.0

* remove unused variable

* set all scalar values in the ctor, so check tools do not complain

* move Result objects

* prevent potential nullptr access

* remove ambiguous boolean parameter with no clear meaning

* make code check tools happy

* don't allow copying cache Findings, allow moving Results

* the debug functionality for counting RocksDB key ranges was broken

this produced sporadic test failures

* remove superfluous iostream include

* fix range checks

* don't leak if an error happens during database removal

* try to simplify Result a bit

* try to deletion checks a bit more robust
2017-08-24 14:47:22 +02:00
..
CMakeLists.txt fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesAllocatorThread.cpp
MMFilesAllocatorThread.h
MMFilesAqlFunctions.cpp fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesAqlFunctions.h
MMFilesCleanupThread.cpp fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesCleanupThread.h fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesCollection.cpp fixed issue #3075: Error when upgrading arangoDB on linux ubuntu 16.04 (#3085) 2017-08-22 10:39:49 +02:00
MMFilesCollection.h Bug fix/prevent multiple journals (#3027) 2017-08-15 23:02:08 +02:00
MMFilesCollectionExport.cpp
MMFilesCollectionExport.h
MMFilesCollectionKeys.cpp
MMFilesCollectionKeys.h
MMFilesCollectionReadLocker.h
MMFilesCollectionWriteLocker.h
MMFilesCollectorCache.h
MMFilesCollectorThread.cpp fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesCollectorThread.h fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesCompactionLocker.h
MMFilesCompactorThread.cpp
MMFilesCompactorThread.h
MMFilesDatafile.cpp do not include our datafiles in core files (#2630) 2017-06-22 12:34:27 +02:00
MMFilesDatafile.h fix WAL file tick updating (happened too late before) (#2762) 2017-07-10 17:41:08 +02:00
MMFilesDatafileHelper.h
MMFilesDatafileStatistics.cpp
MMFilesDatafileStatistics.h
MMFilesDatafileStatisticsContainer.cpp
MMFilesDatafileStatisticsContainer.h
MMFilesDitch.cpp
MMFilesDitch.h
MMFilesDocumentOperation.cpp
MMFilesDocumentOperation.h
MMFilesDocumentPosition.h
MMFilesEdgeIndex.cpp fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesEdgeIndex.h fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesEngine.cpp Bug fix/planning issue 514 replication api (#3021) 2017-08-22 10:46:06 +02:00
MMFilesEngine.h Feature/reduce extraction to projection (#2792) 2017-07-14 08:40:29 +02:00
MMFilesExportCursor.cpp
MMFilesExportCursor.h
MMFilesFulltextIndex.cpp fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesFulltextIndex.h fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesGeoIndex.cpp fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesGeoIndex.h fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesHashIndex.cpp fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesHashIndex.h fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesIncrementalSync.h Bug fix/adjust agency comm timeouts (#2765) 2017-07-13 00:44:28 +02:00
MMFilesIndexElement.cpp
MMFilesIndexElement.h
MMFilesIndexFactory.cpp Feature/reduce extraction to projection (#2792) 2017-07-14 08:40:29 +02:00
MMFilesIndexFactory.h
MMFilesLogfileManager.cpp fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesLogfileManager.h fix a race on shutdown (#2897) 2017-07-29 10:30:24 +02:00
MMFilesOptimizerRules.cpp
MMFilesOptimizerRules.h
MMFilesPathBasedIndex.cpp fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesPathBasedIndex.h fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesPersistentIndex.cpp fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesPersistentIndex.h fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesPersistentIndexFeature.cpp Fix cases where the root user has access to excluded collections (#2856) 2017-08-03 21:16:08 +02:00
MMFilesPersistentIndexFeature.h
MMFilesPersistentIndexKeyComparator.cpp
MMFilesPersistentIndexKeyComparator.h
MMFilesPrimaryIndex.cpp fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesPrimaryIndex.h fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesRemoverThread.cpp
MMFilesRemoverThread.h
MMFilesRestExportHandler.cpp
MMFilesRestExportHandler.h
MMFilesRestHandlers.cpp
MMFilesRestHandlers.h
MMFilesRestReplicationHandler.cpp Bug fix/use count for checksum (#3033) 2017-08-15 11:24:54 +02:00
MMFilesRestReplicationHandler.h Bug fix/use count for checksum (#3033) 2017-08-15 11:24:54 +02:00
MMFilesRestWalHandler.cpp
MMFilesRestWalHandler.h
MMFilesRevisionsCache.cpp
MMFilesRevisionsCache.h
MMFilesSkiplist.h remove memset parameter from TRI_Allocate signature (#2993) 2017-08-08 16:07:32 +02:00
MMFilesSkiplistIndex.cpp fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesSkiplistIndex.h fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
MMFilesSynchronizerThread.cpp
MMFilesSynchronizerThread.h
MMFilesToken.h
MMFilesTransactionCollection.cpp a few simplifications and extensions (#3115) 2017-08-24 14:46:16 +02:00
MMFilesTransactionCollection.h a few simplifications and extensions (#3115) 2017-08-24 14:46:16 +02:00
MMFilesTransactionContextData.cpp
MMFilesTransactionContextData.h
MMFilesTransactionManager.cpp
MMFilesTransactionManager.h
MMFilesTransactionState.cpp only sync RocksDB WAL in MMFiles engine when there is a reason to do so (#2863) 2017-07-26 21:49:41 +02:00
MMFilesTransactionState.h
MMFilesV8Functions.cpp
MMFilesV8Functions.h
MMFilesView.cpp
MMFilesView.h
MMFilesWalLogfile.cpp
MMFilesWalLogfile.h
MMFilesWalMarker.h
MMFilesWalRecoverState.cpp Added recovery tests for views and fixed a few related bugs. (#2682) 2017-06-29 17:09:43 +02:00
MMFilesWalRecoverState.h
MMFilesWalRecoveryFeature.cpp remove dependency on MMFiles features from non-MMFiles files (#2925) 2017-08-01 22:16:43 +02:00
MMFilesWalRecoveryFeature.h
MMFilesWalSlot.cpp fix WAL file tick updating (happened too late before) (#2762) 2017-07-10 17:41:08 +02:00
MMFilesWalSlot.h fix WAL file tick updating (happened too late before) (#2762) 2017-07-10 17:41:08 +02:00
MMFilesWalSlots.cpp fix WAL file tick updating (happened too late before) (#2762) 2017-07-10 17:41:08 +02: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 fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +02:00
mmfiles-fulltext-index.h Bug fix/issues 2308 (#3117) 2017-08-24 14:47:22 +02:00
mmfiles-fulltext-list.cpp fix fulltext index removal performance, simplified code (#3015) 2017-08-12 09:25:30 +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 remove memset parameter from TRI_Allocate signature (#2993) 2017-08-08 16:07:32 +02:00
mmfiles-fulltext-query.h
mmfiles-geo-index.cpp remove memset parameter from TRI_Allocate signature (#2993) 2017-08-08 16:07:32 +02:00
mmfiles-geo-index.h
mmfiles-replication-dump.cpp
mmfiles-replication-dump.h Bug fix/cleanup stuff (#2734) 2017-07-05 19:34:16 +02: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.