[jira] [Updated] (OAK-3087) [oak-mongo.js] Add utility to cleanup hidden structure under disabled indices
[ https://issues.apache.org/jira/browse/OAK-3087?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vikas Saurabh updated OAK-3087: --- Fix Version/s: (was: 1.8) > [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 >Assignee: 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, cleanupDisbaledIndices-take3.patch, > removeDescendantsAndSelf-api-take2.patch, > removeDescendantsAndSelf-api-take3.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.4.14#64029)
[jira] [Updated] (OAK-3087) [oak-mongo.js] Add utility to cleanup hidden structure under disabled indices
[ https://issues.apache.org/jira/browse/OAK-3087?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vikas Saurabh updated OAK-3087: --- Fix Version/s: 1.6 > [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 >Assignee: Vikas Saurabh >Priority: Minor > Fix For: 1.6 > > Attachments: > 0001-update-removeDescendantsAndSelf-for-upwards-removal.patch, > 0002-OAK-3087-Add-some-methods-to-find-disabled-indices-a.patch, > cleanupDisbaledIndices-take2.patch, cleanupDisbaledIndices-take3.patch, > removeDescendantsAndSelf-api-take2.patch, > removeDescendantsAndSelf-api-take3.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)
[jira] [Updated] (OAK-3087) [oak-mongo.js] Add utility to cleanup hidden structure under disabled indices
[ 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-take3.patch cleanupDisbaledIndices-take3.patch Attaching *-take3.patch for fixing a couple of issue with the last implementation [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, cleanupDisbaledIndices-take3.patch, removeDescendantsAndSelf-api-take2.patch, removeDescendantsAndSelf-api-take3.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)
[jira] [Updated] (OAK-3087) [oak-mongo.js] Add utility to cleanup hidden structure under disabled indices
[ 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)
[jira] [Updated] (OAK-3087) [oak-mongo.js] Add utility to cleanup hidden structure under disabled indices
[ https://issues.apache.org/jira/browse/OAK-3087?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vikas Saurabh updated OAK-3087: --- Component/s: mongomk [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 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)
[jira] [Updated] (OAK-3087) [oak-mongo.js] Add utility to cleanup hidden structure under disabled indices
[ https://issues.apache.org/jira/browse/OAK-3087?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vikas Saurabh updated OAK-3087: --- Attachment: 0002-OAK-3087-Add-some-methods-to-find-disabled-indices-a.patch 0001-update-removeDescendantsAndSelf-for-upwards-removal.patch Adding 2 patches: # [update removeDes* api|^0001-update-removeDescendantsAndSelf-for-upwards-removal.patch] - update the API to accept a {{maxDepth}} parameter and then delete upwards from that depth # [index cleanup|^0002-OAK-3087-Add-some-methods-to-find-disabled-indices-a.patch] - add some methods to assist in removal of hidden structure under disabled indices [~chetanm], can you please review? [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 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)