jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vikas Saurabh (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (OAK-3087) [oak-mongo.js] Add utility to cleanup hidden structure under disabled indices
Date Thu, 09 Jul 2015 08:04:04 GMT

    [ https://issues.apache.org/jira/browse/OAK-3087?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14620080#comment-14620080
] 

Vikas Saurabh edited comment on OAK-3087 at 7/9/15 8:03 AM:
------------------------------------------------------------

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|^cleanupDisbaledIndices-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])


was (Author: catholicon):
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)

Mime
View raw message