[ https://issues.apache.org/jira/browse/OAK-3087?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vikas Saurabh updated OAK-3087: ------------------------------- Attachment: removeDescendantsAndSelf-api-take2.patch cleanupDisbaledIndices-take2.patch Added new patches: # [removeDescendantsAndSelf|^removeDescendantsAndSelf-api-take2.patch] - the api would now always remove documents breadth wise upwards. The maxDepth is calculated by jumping exponentially up and then zero-ing using binary search # [cleanupDisabledIndices|^cleanupDisabledIndices-take2.patch] - there is now just one exposed method {{cleanupDisabledIndices}}. Some examples usages of {{cleanupDisabledIndices}} are: {noformat} //Generate and print list of currently disabled index names. //Then use that list to continue in dryMode. > oak.cleanupDisabledIndices() Generated index names: ["disabledIndex1", "notToBeCleanedDisabledIndex1", "disabledIndex2"] //validate index names to be cleaned up > oak.cleanupDisabledIndices(["disabledIndex1", "enabledIndex", > "disabledIndex2"]) ... Index enabledIndex is NOT DISABLED ... //carry out actual cleanup > oak.cleanupDisabledIndices(["disabledIndex1", "disabledIndex2"], true) Deleting tree at path /oak:index/disabledIndex1/:index Deleted 12 documents in 2ms ... {noformat} (cc [~chetanm]) > [oak-mongo.js] Add utility to cleanup hidden structure under disabled indices > ----------------------------------------------------------------------------- > > Key: OAK-3087 > URL: https://issues.apache.org/jira/browse/OAK-3087 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: mongomk > Reporter: Vikas Saurabh > Priority: Minor > Attachments: > 0001-update-removeDescendantsAndSelf-for-upwards-removal.patch, > 0002-OAK-3087-Add-some-methods-to-find-disabled-indices-a.patch, > cleanupDisbaledIndices-take2.patch, removeDescendantsAndSelf-api-take2.patch > > > While disabling property indices, avoids usage of those indices. But, they > still maintain the data already stored under them. That data would keep on > consuming storage space without serving any purpose. Also, it'd pile on > mongo's id index. > While one can delete index definition node to clear these nodes up -- but, > it'd be really slow and a JCR based deleted would first create a HUGE commit > while marking all documents under it as deleted. And, then the actual > deletion would happen in next revision GC after 24 hours have past. > Hence, it might be beneficial to have a low level api in oak-mongo.js, which > simply removes the document from mongo altogether. -- This message was sent by Atlassian JIRA (v6.3.4#6332)