Hello Bertrand,

I have implemented basic implementation of retry-loop mechanism for IT of
BundleContentLoader[1]. It mostly a copy of existing RetryLoop and should
be refactored, but it shows the main idea of my approach. I have added
static boolean to BundleContentLoader[2] indicates when BundleContentLoader
is in idle state. As far as I can understand BundleContentLoader exists in
single instance and every bundle uninstallation doesn't create new thread
for these needs. Otherwise this approach will not work and I have no idea
at this time how we can test it without major code changes.

I have also created a factory class for retry-loop conditions to avoid code
duplication, but the only thing I care about is required for factory
session object[3] which I set before test starts.

[1]
https://github.com/PetrShypila/sling-builder/blob/9b807b82f74e00c389613714c625f9997398d7ac/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/it/RetryLoop.java

[2]
https://github.com/PetrShypila/sling-builder/blob/9b807b82f74e00c389613714c625f9997398d7ac/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/BundleContentLoader.java#L57

[3]
https://github.com/PetrShypila/sling-builder/blob/9b807b82f74e00c389613714c625f9997398d7ac/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/it/ConditionFactory.java#L53

-Petr


2015-07-02 12:28 GMT+02:00 Bertrand Delacretaz <[email protected]>:

> Hi Petr,
>
> On Wed, Jul 1, 2015 at 9:40 PM, Petr Shypila <[email protected]> wrote:
> > ...Speaking about a way how to detect when
> > contentloader is idle. As I understand it is possible that after call:
> > uninstallBundle(String symbolicName);
> > and at the moment of checking  that item exists(doesn't exists)
> > contentloader could even not start to remove content, so it will be in
> idle
> > state. Make it probably sense to have some kind of flags which will show
> if
> > content was already removed?...
>
> Sorry but I don't understand what you mean by that, best is probably
> for you to write a minimal prototype of how you think you can tackle
> that issue. As I said minor changes to the src/main code might be ok
> if they make testing easier.
>
> -Bertrand
>

Reply via email to