Stefan Egli created OAK-3001:
--------------------------------
Summary: Simplify JournalGarbageCollector using a dedicated
timestamp property
Key: OAK-3001
URL: https://issues.apache.org/jira/browse/OAK-3001
Project: Jackrabbit Oak
Issue Type: Sub-task
Components: core, mongomk
Reporter: Stefan Egli
Priority: Critical
Fix For: 1.3.1, 1.2.3
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)