You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Łukasz Dywicki (JIRA)" <ji...@apache.org> on 2011/01/11 14:10:45 UTC

[jira] Created: (KARAF-376) State replication between Karaf instances

State replication between Karaf instances
-----------------------------------------

                 Key: KARAF-376
                 URL: https://issues.apache.org/jira/browse/KARAF-376
             Project: Karaf
          Issue Type: New Feature
            Reporter: Łukasz Dywicki


It would be nice to support state replication between Karaf nodes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (KARAF-376) State replication between Karaf instances

Posted by "Ioannis Canellos (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/KARAF-376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12992976#comment-12992976 ] 

Ioannis Canellos commented on KARAF-376:
----------------------------------------

I didn't propose Hazelcast just to avoid polling the database. In this scenario it can have multiple uses like:
a) Auto discovery of nodes.
b) Holding the configuration in a distributed map instead of database table (which can be a single point of failure).
c) Easy method of notfying nodes about configuration changes (or any other event).


> State replication between Karaf instances
> -----------------------------------------
>
>                 Key: KARAF-376
>                 URL: https://issues.apache.org/jira/browse/KARAF-376
>             Project: Karaf
>          Issue Type: New Feature
>            Reporter: Łukasz Dywicki
>         Attachments: sample diagram.jpg
>
>
> It would be nice to support state replication between Karaf nodes.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] Updated: (KARAF-376) State replication between Karaf instances

Posted by "Łukasz Dywicki (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/KARAF-376?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Łukasz Dywicki updated KARAF-376:
---------------------------------

    Attachment: sample diagram.jpg

> State replication between Karaf instances
> -----------------------------------------
>
>                 Key: KARAF-376
>                 URL: https://issues.apache.org/jira/browse/KARAF-376
>             Project: Karaf
>          Issue Type: New Feature
>            Reporter: Łukasz Dywicki
>         Attachments: sample diagram.jpg
>
>
> It would be nice to support state replication between Karaf nodes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (KARAF-376) State replication between Karaf instances

Posted by "Achim Nierbeck (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/KARAF-376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12992964#comment-12992964 ] 

Achim Nierbeck commented on KARAF-376:
--------------------------------------

Sounds like a good starting point. Let us see how good it works and what else is needed. 

> State replication between Karaf instances
> -----------------------------------------
>
>                 Key: KARAF-376
>                 URL: https://issues.apache.org/jira/browse/KARAF-376
>             Project: Karaf
>          Issue Type: New Feature
>            Reporter: Łukasz Dywicki
>         Attachments: sample diagram.jpg
>
>
> It would be nice to support state replication between Karaf nodes.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] Commented: (KARAF-376) State replication between Karaf instances

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/KARAF-376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12992974#comment-12992974 ] 

Guillaume Nodet commented on KARAF-376:
---------------------------------------

The problem is with implementing a ConfigAdmin storage using JDBC, though it's fine to have a piece of code which would pull data from JDBC and push it to the local ConfigAdmin service.
I'm not sure about using hazelcast for the sole purpose of avoiding polling the database.  In production, you wouldn't poll every few seconds I think, as configuration changes don't really have to be done in a few seconds, so polling every minute would imho be fine and avoid the whole hazelcast stuff.   Polling is not necessarily bad in itself I think.

> State replication between Karaf instances
> -----------------------------------------
>
>                 Key: KARAF-376
>                 URL: https://issues.apache.org/jira/browse/KARAF-376
>             Project: Karaf
>          Issue Type: New Feature
>            Reporter: Łukasz Dywicki
>         Attachments: sample diagram.jpg
>
>
> It would be nice to support state replication between Karaf nodes.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] Commented: (KARAF-376) State replication between Karaf instances

Posted by "Ioannis Canellos (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/KARAF-376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12992972#comment-12992972 ] 

Ioannis Canellos commented on KARAF-376:
----------------------------------------

The use of the topic is to notify the rest of the nodes that a PID has been updated (I am not talking about jms topic. In my case it was a hazelcast topic). It is used instead of having each node polling the shared resource.
If I can recall having a config admin with a shared database was discouraged in a previous talk we had in the mailing list.



> State replication between Karaf instances
> -----------------------------------------
>
>                 Key: KARAF-376
>                 URL: https://issues.apache.org/jira/browse/KARAF-376
>             Project: Karaf
>          Issue Type: New Feature
>            Reporter: Łukasz Dywicki
>         Attachments: sample diagram.jpg
>
>
> It would be nice to support state replication between Karaf nodes.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] Commented: (KARAF-376) State replication between Karaf instances

Posted by "Ioannis Canellos (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/KARAF-376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12992953#comment-12992953 ] 

Ioannis Canellos commented on KARAF-376:
----------------------------------------

The first thing I see required when dealing with multiple instances of Karaf is having configuration changes replicated to other nodes.

It could work like this:
a) Registering a configuration listener service which broadcasts each configuration change event over the cluster.
b) Each configuration event can be broad casted using something like a distributed topic.
c) There can be a shared "configuration table" (on a shared resource like filesystem, database, distributed cache, distributed collection etc), from which each node can update its configuration when receives an event from the topic.
d) Each node when joins the cluster updates its configuration from the "configuration table" (Pull phase).
e) After the "Pull phase" each node pushes the local pid that do not exist on the "configuration table" (Push phase) and notifies the rest of the nodes via the topic.
f) Each pid can contain a property that if exists the pid is marked as local and does not get pushed or pulled.

What do you think? I have implemented something like the above using hazelcast and currently I am testing it.


> State replication between Karaf instances
> -----------------------------------------
>
>                 Key: KARAF-376
>                 URL: https://issues.apache.org/jira/browse/KARAF-376
>             Project: Karaf
>          Issue Type: New Feature
>            Reporter: Łukasz Dywicki
>         Attachments: sample diagram.jpg
>
>
> It would be nice to support state replication between Karaf nodes.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] Commented: (KARAF-376) State replication between Karaf instances

Posted by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/KARAF-376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12980739#action_12980739 ] 

Jean-Baptiste Onofré commented on KARAF-376:
--------------------------------------------

Maybe we can imagine some "bridge" to sync bundles/features from an instance to another.

For example, I have bundleA installed on instanceA, when clustering instanceA with an instanceB, bundleA should be automatically installed (sync) on instanceB.

> State replication between Karaf instances
> -----------------------------------------
>
>                 Key: KARAF-376
>                 URL: https://issues.apache.org/jira/browse/KARAF-376
>             Project: Karaf
>          Issue Type: New Feature
>            Reporter: Łukasz Dywicki
>
> It would be nice to support state replication between Karaf nodes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] [Closed] (KARAF-376) State replication between Karaf instances

Posted by "Łukasz Dywicki (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/KARAF-376?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Łukasz Dywicki closed KARAF-376.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 3.0.0

Now we have two solutions - Cellar which is a submodule of Karaf and Fabric made by FuseSource.

> State replication between Karaf instances
> -----------------------------------------
>
>                 Key: KARAF-376
>                 URL: https://issues.apache.org/jira/browse/KARAF-376
>             Project: Karaf
>          Issue Type: New Feature
>            Reporter: Łukasz Dywicki
>             Fix For: 3.0.0
>
>         Attachments: sample diagram.jpg
>
>
> It would be nice to support state replication between Karaf nodes.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Issue Comment Edited: (KARAF-376) State replication between Karaf instances

Posted by "Achim Nierbeck (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/KARAF-376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12980733#action_12980733 ] 

Achim Nierbeck edited comment on KARAF-376 at 1/12/11 9:58 AM:
---------------------------------------------------------------

Just some thoughts from IRC :)


- just want to propagate information about changes over the cluster
- feature states, bundle states, configuration changes and so on
- cluster:notify configuration-change PID
- for example
-- cluster:monitor configuration-change PID
-- custer:monitor bundle-states
-- cluster:monitor feature-state

- some changes may come from event admin
- some from commands
- well commands may run some events in event admin 


      was (Author: achim_nierbeck):
    What is needed here?

Extract from irc: 
- just want to propagate information about changes over the cluster
- feature states, bundle states, configuration changes and so on
- cluster:notify configuration-change PID
- for example
-- cluster:monitor configuration-change PID
-- custer:monitor bundle-states
-- cluster:monitor feature-state

- some changes may come from event admin
- some from commands
- well commands may run some events in event admin 

  
> State replication between Karaf instances
> -----------------------------------------
>
>                 Key: KARAF-376
>                 URL: https://issues.apache.org/jira/browse/KARAF-376
>             Project: Karaf
>          Issue Type: New Feature
>            Reporter: Łukasz Dywicki
>
> It would be nice to support state replication between Karaf nodes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] [Commented] (KARAF-376) State replication between Karaf instances

Posted by "Achim Nierbeck (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/KARAF-376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13032024#comment-13032024 ] 

Achim Nierbeck commented on KARAF-376:
--------------------------------------

Since there are two solutions available now, Cellar and Fabric this shouldn't be an issue anymore?

> State replication between Karaf instances
> -----------------------------------------
>
>                 Key: KARAF-376
>                 URL: https://issues.apache.org/jira/browse/KARAF-376
>             Project: Karaf
>          Issue Type: New Feature
>            Reporter: Łukasz Dywicki
>         Attachments: sample diagram.jpg
>
>
> It would be nice to support state replication between Karaf nodes.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Commented: (KARAF-376) State replication between Karaf instances

Posted by "Achim Nierbeck (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/KARAF-376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12980733#action_12980733 ] 

Achim Nierbeck commented on KARAF-376:
--------------------------------------

What is needed here?

Extract from irc: 
- just want to propagate information about changes over the cluster
- feature states, bundle states, configuration changes and so on
- cluster:notify configuration-change PID
- for example
-- cluster:monitor configuration-change PID
-- custer:monitor bundle-states
-- cluster:monitor feature-state

- some changes may come from event admin
- some from commands
- well commands may run some events in event admin 


> State replication between Karaf instances
> -----------------------------------------
>
>                 Key: KARAF-376
>                 URL: https://issues.apache.org/jira/browse/KARAF-376
>             Project: Karaf
>          Issue Type: New Feature
>            Reporter: Łukasz Dywicki
>
> It would be nice to support state replication between Karaf nodes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (KARAF-376) State replication between Karaf instances

Posted by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/KARAF-376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12980738#action_12980738 ] 

Jean-Baptiste Onofré commented on KARAF-376:
--------------------------------------------

It sounds good.

> State replication between Karaf instances
> -----------------------------------------
>
>                 Key: KARAF-376
>                 URL: https://issues.apache.org/jira/browse/KARAF-376
>             Project: Karaf
>          Issue Type: New Feature
>            Reporter: Łukasz Dywicki
>
> It would be nice to support state replication between Karaf nodes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (KARAF-376) State replication between Karaf instances

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/KARAF-376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12992968#comment-12992968 ] 

Guillaume Nodet commented on KARAF-376:
---------------------------------------

It seems to me that a simple replication of configuration is way too simplistic and I'm not sure to understand the use of the topic in that design.
If you want simple replication, why not simply using a ConfigAdmin with a shared database underneath ?

> State replication between Karaf instances
> -----------------------------------------
>
>                 Key: KARAF-376
>                 URL: https://issues.apache.org/jira/browse/KARAF-376
>             Project: Karaf
>          Issue Type: New Feature
>            Reporter: Łukasz Dywicki
>         Attachments: sample diagram.jpg
>
>
> It would be nice to support state replication between Karaf nodes.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira