[
https://issues.apache.org/jira/browse/JCR-1469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jukka Zitting updated JCR-1469:
-------------------------------
Issue Type: Improvement (was: Bug)
Why do you need to pass the full node to the ScanEventListener? Wouldn't
passing a NodeId be enough, or even just calling a no-argument method to
indicate that a node was scanned?
AFAIUI you only need the ratio of nodes scanned vs. total number of nodes to
display a good progress bar.
> Data store garbage collection: ScanEventListener not working
> ------------------------------------------------------------
>
> Key: JCR-1469
> URL: https://issues.apache.org/jira/browse/JCR-1469
> Project: Jackrabbit
> Issue Type: Improvement
> Components: jackrabbit-core
> Affects Versions: core 1.4.1
> Reporter: Thomas Mueller
> Assignee: Thomas Mueller
>
> The ScanEventListener is currently only called when using the 'scan all nodes
> recursively' strategy. It is not called when all persistence managers
> implement IterablePersistenceManager
> (GarbageCollector.scanPersistenceManagers). The ScanEventListener should be
> called in every case, otherwise it is not possible to see the progress of the
> garbage collection.
> However there is a problem: IterablePersistenceManager.getAllNodeIds()
> doesn't return Node objects, and it would make little sense to create real
> node objects (the performance advantage of scanPersistenceManagers would be
> lost).
> Therefore, I propose a workaround: the ScanEventListener is called using a
> 'PseudoNode'. This is a class that implements Node but only has meaningful
> getUUID() and toString() methods. This allows to create a meaningful progress
> bar (as the UUIDs are returned in order).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.