mirror of https://gitee.com/bigwinds/arangodb
* don't run compact() on a collection after a truncate() was done in the same transaction running compact() in the same transaction will only increase the data size on disk due to RocksDB not being able to remove any documents physically due to the snapshot we take at transaction start. Decoupling the truncate transaction from the compact operation allows finishing the truncate transaction first, so we can get rid of the snapshot. Running compact afterwards is then free to physically remove all the data. As a nice side effect this change will also speed up the truncation of larger collections, because the compact will run faster. This change also exposes db.<collection>.compact() in the arangosh, in order to manually run a compaction on the data range of a collection should it be needed for maintenance. * fix documentation anchors |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
ClusterCollection.cpp | ||
ClusterCollection.h | ||
ClusterEngine.cpp | ||
ClusterEngine.h | ||
ClusterIndex.cpp | ||
ClusterIndex.h | ||
ClusterIndexFactory.cpp | ||
ClusterIndexFactory.h | ||
ClusterRestCollectionHandler.cpp | ||
ClusterRestCollectionHandler.h | ||
ClusterRestExportHandler.cpp | ||
ClusterRestExportHandler.h | ||
ClusterRestHandlers.cpp | ||
ClusterRestHandlers.h | ||
ClusterRestReplicationHandler.cpp | ||
ClusterRestReplicationHandler.h | ||
ClusterRestWalHandler.cpp | ||
ClusterRestWalHandler.h | ||
ClusterSelectivityEstimates.cpp | ||
ClusterSelectivityEstimates.h | ||
ClusterTransactionCollection.cpp | ||
ClusterTransactionCollection.h | ||
ClusterTransactionState.cpp | ||
ClusterTransactionState.h | ||
ClusterV8Functions.cpp | ||
ClusterV8Functions.h | ||
Common.h | ||
MMFilesMethods.cpp | ||
MMFilesMethods.h | ||
RocksDBMethods.cpp | ||
RocksDBMethods.h |