You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Antonio Sanso (JIRA)" <ji...@apache.org> on 2012/08/03 17:25:02 UTC

[jira] [Created] (SLING-2555) Provide Sling Caching Common service

Antonio Sanso created SLING-2555:
------------------------------------

             Summary: Provide Sling Caching Common service
                 Key: SLING-2555
                 URL: https://issues.apache.org/jira/browse/SLING-2555
             Project: Sling
          Issue Type: Wish
          Components: Commons
            Reporter: Antonio Sanso
            Priority: Minor


It would be nice if Sling would provide some Caching capabilities.
This can be reused in a number of situation. E.g. at the moment we have SLING-2546 that could potentially leverage such a service.
The caching storage might be based on EhCache or Apache DirectMemory (http://incubator.apache.org/directmemory/)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (SLING-2555) Provide Sling Caching Common service

Posted by "Ian Boston (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-2555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13484750#comment-13484750 ] 

Ian Boston commented on SLING-2555:
-----------------------------------

@Antonio
Do you want this to cache things that an application built on Sling might use, rather than some form of caching for Sling itself to use ?

Would something like [1] suit your needs. It was originally written (by me) for an Sling based application with an EhCache. IIRC there is also an Inifinspan implementation somewhere. It was used both low level objects and complete page responses. I had a quick scan of you patch on SLING-2546 and the API's look quite close. The only real requirement is that values are seriealizable if (and only if) they need to be sent over a network or down to disk. Otherwise any object will do. Keys are strings. The service allows the client to get a named cache specifying the requirements, eg Scope (Thread|Request|Local|Cluster invalidated|Cluster replicated). Thread uses Thread locals, Request needs a filter to drop at the end of the request and all the rest are EhCache.


@Tommaso   
The API is relatively simple would probably accept a DirectMemory impl replacing the EhCache parts.

If there are no objections from other committers, and it fits, I could split the API, bring it into the contrib area and do a impl of the portal Cache API as a service using it.

WDYT?

1 https://github.com/ieb/sparsemapcontent/tree/master/extensions/memory/src/main/java/org/sakaiproject/nakamura/api/memory


                
> Provide Sling Caching Common service
> ------------------------------------
>
>                 Key: SLING-2555
>                 URL: https://issues.apache.org/jira/browse/SLING-2555
>             Project: Sling
>          Issue Type: Wish
>          Components: Commons
>            Reporter: Antonio Sanso
>            Priority: Minor
>
> It would be nice if Sling would provide some Caching capabilities.
> This can be reused in a number of situation. E.g. at the moment we have SLING-2546 that could potentially leverage such a service.
> The caching storage might be based on EhCache or Apache DirectMemory (http://incubator.apache.org/directmemory/)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Assigned] (SLING-2555) Provide Sling Caching Common service

Posted by "Ian Boston (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SLING-2555?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ian Boston reassigned SLING-2555:
---------------------------------

    Assignee: Ian Boston
    
> Provide Sling Caching Common service
> ------------------------------------
>
>                 Key: SLING-2555
>                 URL: https://issues.apache.org/jira/browse/SLING-2555
>             Project: Sling
>          Issue Type: Wish
>          Components: Commons
>            Reporter: Antonio Sanso
>            Assignee: Ian Boston
>            Priority: Minor
>
> It would be nice if Sling would provide some Caching capabilities.
> This can be reused in a number of situation. E.g. at the moment we have SLING-2546 that could potentially leverage such a service.
> The caching storage might be based on EhCache or Apache DirectMemory (http://incubator.apache.org/directmemory/)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (SLING-2555) Provide Sling Caching Common service

Posted by "Ian Boston (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-2555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13489158#comment-13489158 ] 

Ian Boston commented on SLING-2555:
-----------------------------------

I am ok with that, thank you. 
I would like to get a bit more testing in place first to ensure that its got sufficient coverage.
How do people feel about having a LGPL dependency in a pom.xml in contrib ?
Allegedly Infinispan is better on large clusters but I haven't tested that theory.
                
> Provide Sling Caching Common service
> ------------------------------------
>
>                 Key: SLING-2555
>                 URL: https://issues.apache.org/jira/browse/SLING-2555
>             Project: Sling
>          Issue Type: Wish
>          Components: Commons
>            Reporter: Antonio Sanso
>            Priority: Minor
>
> It would be nice if Sling would provide some Caching capabilities.
> This can be reused in a number of situation. E.g. at the moment we have SLING-2546 that could potentially leverage such a service.
> The caching storage might be based on EhCache or Apache DirectMemory (http://incubator.apache.org/directmemory/)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (SLING-2555) Provide Sling Caching Common service

Posted by "Antonio Sanso (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-2555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13443961#comment-13443961 ] 

Antonio Sanso commented on SLING-2555:
--------------------------------------

[~teofili] not really. There is some Cache API as part of SLING-2546 but is portal specific.
                
> Provide Sling Caching Common service
> ------------------------------------
>
>                 Key: SLING-2555
>                 URL: https://issues.apache.org/jira/browse/SLING-2555
>             Project: Sling
>          Issue Type: Wish
>          Components: Commons
>            Reporter: Antonio Sanso
>            Priority: Minor
>
> It would be nice if Sling would provide some Caching capabilities.
> This can be reused in a number of situation. E.g. at the moment we have SLING-2546 that could potentially leverage such a service.
> The caching storage might be based on EhCache or Apache DirectMemory (http://incubator.apache.org/directmemory/)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (SLING-2555) Provide Sling Caching Common service

Posted by "Ian Boston (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-2555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13493745#comment-13493745 ] 

Ian Boston commented on SLING-2555:
-----------------------------------

Moved into contrib/extensions/cache at revision 1407364
                
> Provide Sling Caching Common service
> ------------------------------------
>
>                 Key: SLING-2555
>                 URL: https://issues.apache.org/jira/browse/SLING-2555
>             Project: Sling
>          Issue Type: Wish
>          Components: Commons
>            Reporter: Antonio Sanso
>            Priority: Minor
>
> It would be nice if Sling would provide some Caching capabilities.
> This can be reused in a number of situation. E.g. at the moment we have SLING-2546 that could potentially leverage such a service.
> The caching storage might be based on EhCache or Apache DirectMemory (http://incubator.apache.org/directmemory/)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (SLING-2555) Provide Sling Caching Common service

Posted by "Bertrand Delacretaz (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-2555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13488555#comment-13488555 ] 

Bertrand Delacretaz commented on SLING-2555:
--------------------------------------------

IIUC Ian's code has been used in other places already, and there seems to be agreement that it's useful to have in Sling, so I'd suggest moving it under contrib/extensions as soon as Ian is happy with that.
                
> Provide Sling Caching Common service
> ------------------------------------
>
>                 Key: SLING-2555
>                 URL: https://issues.apache.org/jira/browse/SLING-2555
>             Project: Sling
>          Issue Type: Wish
>          Components: Commons
>            Reporter: Antonio Sanso
>            Priority: Minor
>
> It would be nice if Sling would provide some Caching capabilities.
> This can be reused in a number of situation. E.g. at the moment we have SLING-2546 that could potentially leverage such a service.
> The caching storage might be based on EhCache or Apache DirectMemory (http://incubator.apache.org/directmemory/)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (SLING-2555) Provide Sling Caching Common service

Posted by "Antonio Sanso (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-2555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13484861#comment-13484861 ] 

Antonio Sanso commented on SLING-2555:
--------------------------------------

Hi Ian, 
this looks brilliant to me! So fat +1 from me.
                
> Provide Sling Caching Common service
> ------------------------------------
>
>                 Key: SLING-2555
>                 URL: https://issues.apache.org/jira/browse/SLING-2555
>             Project: Sling
>          Issue Type: Wish
>          Components: Commons
>            Reporter: Antonio Sanso
>            Priority: Minor
>
> It would be nice if Sling would provide some Caching capabilities.
> This can be reused in a number of situation. E.g. at the moment we have SLING-2546 that could potentially leverage such a service.
> The caching storage might be based on EhCache or Apache DirectMemory (http://incubator.apache.org/directmemory/)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Resolved] (SLING-2555) Provide Sling Caching Common service

Posted by "Ian Boston (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SLING-2555?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ian Boston resolved SLING-2555.
-------------------------------

    Resolution: Fixed

I think this has been addressed.
The code is under contrib/extensions
There is an EhCache and Infinispan implementation
Both have unit tests and pax exam tested.
There is a portal cache provider API implementation that binds down to this cache API.
Please feel free to re-open if I missed anything.
                
> Provide Sling Caching Common service
> ------------------------------------
>
>                 Key: SLING-2555
>                 URL: https://issues.apache.org/jira/browse/SLING-2555
>             Project: Sling
>          Issue Type: Wish
>          Components: Commons
>            Reporter: Antonio Sanso
>            Assignee: Ian Boston
>            Priority: Minor
>
> It would be nice if Sling would provide some Caching capabilities.
> This can be reused in a number of situation. E.g. at the moment we have SLING-2546 that could potentially leverage such a service.
> The caching storage might be based on EhCache or Apache DirectMemory (http://incubator.apache.org/directmemory/)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (SLING-2555) Provide Sling Caching Common service

Posted by "Tommaso Teofili (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-2555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13430371#comment-13430371 ] 

Tommaso Teofili commented on SLING-2555:
----------------------------------------

I'd be happy to help on integrating Apache DirectMemory as a caching provider.
Antonio do you already have a Component/Service I could leverage for that?
                
> Provide Sling Caching Common service
> ------------------------------------
>
>                 Key: SLING-2555
>                 URL: https://issues.apache.org/jira/browse/SLING-2555
>             Project: Sling
>          Issue Type: Wish
>          Components: Commons
>            Reporter: Antonio Sanso
>            Priority: Minor
>
> It would be nice if Sling would provide some Caching capabilities.
> This can be reused in a number of situation. E.g. at the moment we have SLING-2546 that could potentially leverage such a service.
> The caching storage might be based on EhCache or Apache DirectMemory (http://incubator.apache.org/directmemory/)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (SLING-2555) Provide Sling Caching Common service

Posted by "Ian Boston (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-2555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13489380#comment-13489380 ] 

Ian Boston commented on SLING-2555:
-----------------------------------

Pax exam tests are done. Found some unexpected errors with javax.transaction.
I also created an abstract base framework for PaxExams so they can run in the bundle build that will need to find a home if those test classes want to come in. Follows the same pattern as used in commons/classloader but works in the IDE as well as mvn
Its probably ok in contrib/extensions
                
> Provide Sling Caching Common service
> ------------------------------------
>
>                 Key: SLING-2555
>                 URL: https://issues.apache.org/jira/browse/SLING-2555
>             Project: Sling
>          Issue Type: Wish
>          Components: Commons
>            Reporter: Antonio Sanso
>            Priority: Minor
>
> It would be nice if Sling would provide some Caching capabilities.
> This can be reused in a number of situation. E.g. at the moment we have SLING-2546 that could potentially leverage such a service.
> The caching storage might be based on EhCache or Apache DirectMemory (http://incubator.apache.org/directmemory/)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (SLING-2555) Provide Sling Caching Common service

Posted by "Ian Boston (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-2555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13488407#comment-13488407 ] 

Ian Boston commented on SLING-2555:
-----------------------------------

In [1] there is now an API, EhCache implementation, Infinispan Implementation (warning Infinispan is LGPL) and a implementation of the Portal Cache Service ontop of this cache API. It needs some more work to add pax exams and integration tests, which I will do when I get a moment.

1 http://svn.apache.org/repos/asf/sling/whiteboard/ieb/cache/
                
> Provide Sling Caching Common service
> ------------------------------------
>
>                 Key: SLING-2555
>                 URL: https://issues.apache.org/jira/browse/SLING-2555
>             Project: Sling
>          Issue Type: Wish
>          Components: Commons
>            Reporter: Antonio Sanso
>            Priority: Minor
>
> It would be nice if Sling would provide some Caching capabilities.
> This can be reused in a number of situation. E.g. at the moment we have SLING-2546 that could potentially leverage such a service.
> The caching storage might be based on EhCache or Apache DirectMemory (http://incubator.apache.org/directmemory/)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira