You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Amit Jain (JIRA)" <ji...@apache.org> on 2015/09/01 07:48:47 UTC

[jira] [Updated] (OAK-3001) Simplify JournalGarbageCollector using a dedicated timestamp property

     [ https://issues.apache.org/jira/browse/OAK-3001?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Amit Jain updated OAK-3001:
---------------------------
    Fix Version/s:     (was: 1.2.5)

> Simplify JournalGarbageCollector using a dedicated timestamp property
> ---------------------------------------------------------------------
>
>                 Key: OAK-3001
>                 URL: https://issues.apache.org/jira/browse/OAK-3001
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core, mongomk
>            Reporter: Stefan Egli
>            Assignee: Stefan Egli
>            Priority: Critical
>              Labels: scalability
>             Fix For: 1.3.6
>
>
> This subtask is about spawning out a [comment|https://issues.apache.org/jira/browse/OAK-2829?focusedCommentId=14585733&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14585733] from [~chetanm] re JournalGC:
> {quote}
> Further looking at JournalGarbageCollector ... it would be simpler if you record the journal entry timestamp as an attribute in JournalEntry document and then you can delete all the entries which are older than some time by a simple query. This would avoid fetching all the entries to be deleted on the Oak side
> {quote}
> and a corresponding [reply|https://issues.apache.org/jira/browse/OAK-2829?focusedCommentId=14585870&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14585870] from myself:
> {quote}
> Re querying by timestamp: that would indeed be simpler. With the current set of DocumentStore API however, I believe this is not possible. But: [DocumentStore.query|https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentStore.java#L127] comes quite close: it would probably just require the opposite of that method too: 
> {code}
>     public <T extends Document> List<T> query(Collection<T> collection,
>                                               String fromKey,
>                                               String toKey,
>                                               String indexedProperty,
>                                               long endValue,
>                                               int limit) {
> {code}
> .. or what about generalizing this method to have both a {{startValue}} and an {{endValue}} - with {{-1}} indicating when one of them is not used?
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)