1
0
Fork 0
arangodb/arangod/ClusterEngine
Jan 6d107beeda
don't run compact() on a collection after a truncate() was done in th… (#8468)
* 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
2019-03-20 16:27:54 +01:00
..
CMakeLists.txt Refactorings from cluster trx improvement branch (#8391) 2019-03-14 23:13:17 +01:00
ClusterCollection.cpp don't run compact() on a collection after a truncate() was done in th… (#8468) 2019-03-20 16:27:54 +01:00
ClusterCollection.h don't run compact() on a collection after a truncate() was done in th… (#8468) 2019-03-20 16:27:54 +01:00
ClusterEngine.cpp Refactorings from cluster trx improvement branch (#8391) 2019-03-14 23:13:17 +01:00
ClusterEngine.h Refactorings from cluster trx improvement branch (#8391) 2019-03-14 23:13:17 +01:00
ClusterIndex.cpp Named indices (#8370) 2019-03-13 18:20:32 +01:00
ClusterIndex.h Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
ClusterIndexFactory.cpp Named indices (#8370) 2019-03-13 18:20:32 +01:00
ClusterIndexFactory.h issue 526.1: initial support for vocbase-prefixed analyzer names (#8319) 2019-03-06 15:13:19 +03:00
ClusterRestCollectionHandler.cpp big reformat 2018-12-26 00:54:03 +01:00
ClusterRestCollectionHandler.h big reformat 2018-12-26 00:54:03 +01:00
ClusterRestExportHandler.cpp big reformat 2018-12-26 00:54:03 +01:00
ClusterRestExportHandler.h big reformat 2018-12-26 00:54:03 +01:00
ClusterRestHandlers.cpp big reformat 2018-12-26 00:54:03 +01:00
ClusterRestHandlers.h
ClusterRestReplicationHandler.cpp big reformat 2018-12-26 00:54:03 +01:00
ClusterRestReplicationHandler.h big reformat 2018-12-26 00:54:03 +01:00
ClusterRestWalHandler.cpp Refactorings from cluster trx improvement branch (#8391) 2019-03-14 23:13:17 +01:00
ClusterRestWalHandler.h big reformat 2018-12-26 00:54:03 +01:00
ClusterSelectivityEstimates.cpp big reformat 2018-12-26 00:54:03 +01:00
ClusterSelectivityEstimates.h big reformat 2018-12-26 00:54:03 +01:00
ClusterTransactionCollection.cpp Refactorings from cluster trx improvement branch (#8391) 2019-03-14 23:13:17 +01:00
ClusterTransactionCollection.h Refactorings from cluster trx improvement branch (#8391) 2019-03-14 23:13:17 +01:00
ClusterTransactionState.cpp Refactorings from cluster trx improvement branch (#8391) 2019-03-14 23:13:17 +01:00
ClusterTransactionState.h Refactorings from cluster trx improvement branch (#8391) 2019-03-14 23:13:17 +01:00
ClusterV8Functions.cpp Feature/upgrade v8 7.1.302.28 (#8088) 2019-02-19 11:15:34 +01:00
ClusterV8Functions.h
Common.h big reformat 2018-12-26 00:54:03 +01:00
MMFilesMethods.cpp big reformat 2018-12-26 00:54:03 +01:00
MMFilesMethods.h big reformat 2018-12-26 00:54:03 +01:00
RocksDBMethods.cpp big reformat 2018-12-26 00:54:03 +01:00
RocksDBMethods.h big reformat 2018-12-26 00:54:03 +01:00