You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by "Joachim Müller (JIRA)" <je...@portals.apache.org> on 2008/07/07 22:28:31 UTC

[jira] Created: (JS2-893) cluster synchronization feature

cluster synchronization feature
-------------------------------

                 Key: JS2-893
                 URL: https://issues.apache.org/jira/browse/JS2-893
             Project: Jetspeed 2
          Issue Type: New Feature
          Components: Other
    Affects Versions: 2.1.2, 2.1.3, 2.2
            Reporter: Joachim Müller
             Fix For: 2.1.2, 2.1.3, 2.2


We developed a cluster synchronization feature that is able to synchronize the execution of an objects method cluster-wide. The approach is similar to the spring transaction proxy, so we are able to AOP-inject the cluster synchronization via spring configuration. The component is highly customizable. A new database table is used for synchonization, but any other data container (i.e. broadcast-distributed-hashmap) could be used.

One main application for this functionality is the start of many jetspeed cluster nodes and synchronize the deployment of the PAs to the database. (Even with the VersionedApplicationManager we experienced DB constraints failures on startup with fresh database, preventing the some PAs from registration.)

Patch follows (exists only for the 2.1.2-POSTRELEASE branch yet).

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


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


[jira] Resolved: (JS2-893) cluster synchronization feature

Posted by "Randy Watler (JIRA)" <je...@portals.apache.org>.
     [ https://issues.apache.org/jira/browse/JS2-893?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Randy Watler resolved JS2-893.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.4

PAM implementations are now capable of successfully rolling back and retrying portlet application registrations in both the 2.2 trunk and 2.1.3-POST branch, (to be 2.1.4).

Fixes included adding retry loop in startPortletApplication APIs and cleaning up prefs cache in the 2.1.3-POST branch. The 2.2 trunk has a new prefs/registry implementation that did not require any improvements based on the need to recover successfully from failed registrations.

2.1.3 svn commit: 769669
2.2 svn commit: 769670

The new service proposed as a fix for these problems was not encorporated. A new JIRA issue should be created to donate the service into the 2.2 and/or 2.1.4 if that is still desired.

> cluster synchronization feature
> -------------------------------
>
>                 Key: JS2-893
>                 URL: https://issues.apache.org/jira/browse/JS2-893
>             Project: Jetspeed 2
>          Issue Type: New Feature
>          Components: Other
>    Affects Versions: 2.1.2, 2.1.3, 2.2.0
>            Reporter: Joachim Müller
>            Assignee: Randy Watler
>             Fix For: 2.1.4, 2.2.0
>
>         Attachments: JS2-893_patch.zip
>
>
> We developed a cluster synchronization feature that is able to synchronize the execution of an objects method cluster-wide. The approach is similar to the spring transaction proxy, so we are able to AOP-inject the cluster synchronization via spring configuration. The component is highly customizable. A new database table is used for synchonization, but any other data container (i.e. broadcast-distributed-hashmap) could be used.
> One main application for this functionality is the start of many jetspeed cluster nodes and synchronize the deployment of the PAs to the database. (Even with the VersionedApplicationManager we experienced DB constraints failures on startup with fresh database, preventing the some PAs from registration.)
> Patch follows (exists only for the 2.1.2-POSTRELEASE branch yet).

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


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


[jira] Commented: (JS2-893) cluster synchronization feature

Posted by "hongkunan (JIRA)" <je...@portals.apache.org>.
    [ https://issues.apache.org/jira/browse/JS2-893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12737490#action_12737490 ] 

hongkunan commented on JS2-893:
-------------------------------

thanks your answer!

I follow your step,but login is error.

my env:
OS: windows xp
jdk:1.5
server:tomcat6(jetspeed self install)
http: apache2.2
 database:oracle92

jetspeed.properties

# Cache page manager override properties, (these override above legacy properties if set)
# database page manager cache size:
org.apache.jetspeed.ehcache.pagemanager.maxelements=128
# database page manager cache element expiration in seconds, (infinite = 0):
org.apache.jetspeed.ehcache.pagemanager.element.ttl=150
# PSML page manager file cache size:
org.apache.jetspeed.ehcache.pagemanager.maxfiles=1000

#-------------------------------------------------------------------------
# C A C H E
#-------------------------------------------------------------------------
# cache configuration resource, ('ehcache.xml' or 'distributed-ehcache.xml' supported by default):
org.apache.jetspeed.ehcache.config.resource=ehcache.xml
# distributed cache peer discovery multicast address:
org.apache.jetspeed.ehcache.group.address=230.0.0.1
# distributed cache peer discovery multicast port:
org.apache.jetspeed.ehcache.group.port=4446
# distributed cache peer discovery multicast TTL, (0=host, 1=subnet, ... see ehcache.xml):
org.apache.jetspeed.ehcache.group.ttl=1
# distributed cache peer hostname, (set to listen on specific interface):
org.apache.jetspeed.ehcache.hostname=localhost
# distributed cache peer port:
org.apache.jetspeed.ehcache.port=40001


> cluster synchronization feature
> -------------------------------
>
>                 Key: JS2-893
>                 URL: https://issues.apache.org/jira/browse/JS2-893
>             Project: Jetspeed 2
>          Issue Type: New Feature
>          Components: Other
>    Affects Versions: 2.1.2, 2.1.3, 2.2.0
>            Reporter: Joachim Müller
>            Assignee: Randy Watler
>             Fix For: 2.1.4, 2.2.0
>
>         Attachments: JS2-893_patch.zip
>
>
> We developed a cluster synchronization feature that is able to synchronize the execution of an objects method cluster-wide. The approach is similar to the spring transaction proxy, so we are able to AOP-inject the cluster synchronization via spring configuration. The component is highly customizable. A new database table is used for synchonization, but any other data container (i.e. broadcast-distributed-hashmap) could be used.
> One main application for this functionality is the start of many jetspeed cluster nodes and synchronize the deployment of the PAs to the database. (Even with the VersionedApplicationManager we experienced DB constraints failures on startup with fresh database, preventing the some PAs from registration.)
> Patch follows (exists only for the 2.1.2-POSTRELEASE branch yet).

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


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


[jira] Issue Comment Edited: (JS2-893) cluster synchronization feature

Posted by "hongkunan (JIRA)" <je...@portals.apache.org>.
    [ https://issues.apache.org/jira/browse/JS2-893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12737490#action_12737490 ] 

hongkunan edited comment on JS2-893 at 7/31/09 3:56 AM:
--------------------------------------------------------

thanks your answer!

I follow your step,but login is error.
javax.security.auth.login.LoginException:The user null dose not exist


my env:
OS: windows xp
jdk:1.5
server:tomcat6(jetspeed self install)
http: apache2.2
 database:oracle92

jetspeed.properties

# Cache page manager override properties, (these override above legacy properties if set)
# database page manager cache size:
org.apache.jetspeed.ehcache.pagemanager.maxelements=128
# database page manager cache element expiration in seconds, (infinite = 0):
org.apache.jetspeed.ehcache.pagemanager.element.ttl=150
# PSML page manager file cache size:
org.apache.jetspeed.ehcache.pagemanager.maxfiles=1000

#-------------------------------------------------------------------------
# C A C H E
#-------------------------------------------------------------------------
# cache configuration resource, ('ehcache.xml' or 'distributed-ehcache.xml' supported by default):
org.apache.jetspeed.ehcache.config.resource=ehcache.xml
# distributed cache peer discovery multicast address:
org.apache.jetspeed.ehcache.group.address=230.0.0.1
# distributed cache peer discovery multicast port:
org.apache.jetspeed.ehcache.group.port=4446
# distributed cache peer discovery multicast TTL, (0=host, 1=subnet, ... see ehcache.xml):
org.apache.jetspeed.ehcache.group.ttl=1
# distributed cache peer hostname, (set to listen on specific interface):
org.apache.jetspeed.ehcache.hostname=localhost
# distributed cache peer port:
org.apache.jetspeed.ehcache.port=40001


      was (Author: jones_ahk):
    thanks your answer!

I follow your step,but login is error.

my env:
OS: windows xp
jdk:1.5
server:tomcat6(jetspeed self install)
http: apache2.2
 database:oracle92

jetspeed.properties

# Cache page manager override properties, (these override above legacy properties if set)
# database page manager cache size:
org.apache.jetspeed.ehcache.pagemanager.maxelements=128
# database page manager cache element expiration in seconds, (infinite = 0):
org.apache.jetspeed.ehcache.pagemanager.element.ttl=150
# PSML page manager file cache size:
org.apache.jetspeed.ehcache.pagemanager.maxfiles=1000

#-------------------------------------------------------------------------
# C A C H E
#-------------------------------------------------------------------------
# cache configuration resource, ('ehcache.xml' or 'distributed-ehcache.xml' supported by default):
org.apache.jetspeed.ehcache.config.resource=ehcache.xml
# distributed cache peer discovery multicast address:
org.apache.jetspeed.ehcache.group.address=230.0.0.1
# distributed cache peer discovery multicast port:
org.apache.jetspeed.ehcache.group.port=4446
# distributed cache peer discovery multicast TTL, (0=host, 1=subnet, ... see ehcache.xml):
org.apache.jetspeed.ehcache.group.ttl=1
# distributed cache peer hostname, (set to listen on specific interface):
org.apache.jetspeed.ehcache.hostname=localhost
# distributed cache peer port:
org.apache.jetspeed.ehcache.port=40001

  
> cluster synchronization feature
> -------------------------------
>
>                 Key: JS2-893
>                 URL: https://issues.apache.org/jira/browse/JS2-893
>             Project: Jetspeed 2
>          Issue Type: New Feature
>          Components: Other
>    Affects Versions: 2.1.2, 2.1.3, 2.2.0
>            Reporter: Joachim Müller
>            Assignee: Randy Watler
>             Fix For: 2.1.4, 2.2.0
>
>         Attachments: JS2-893_patch.zip
>
>
> We developed a cluster synchronization feature that is able to synchronize the execution of an objects method cluster-wide. The approach is similar to the spring transaction proxy, so we are able to AOP-inject the cluster synchronization via spring configuration. The component is highly customizable. A new database table is used for synchonization, but any other data container (i.e. broadcast-distributed-hashmap) could be used.
> One main application for this functionality is the start of many jetspeed cluster nodes and synchronize the deployment of the PAs to the database. (Even with the VersionedApplicationManager we experienced DB constraints failures on startup with fresh database, preventing the some PAs from registration.)
> Patch follows (exists only for the 2.1.2-POSTRELEASE branch yet).

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


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


[jira] Assigned: (JS2-893) cluster synchronization feature

Posted by "David Sean Taylor (JIRA)" <je...@portals.apache.org>.
     [ https://issues.apache.org/jira/browse/JS2-893?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Sean Taylor reassigned JS2-893:
-------------------------------------

    Assignee: Randy Watler  (was: David Sean Taylor)

> cluster synchronization feature
> -------------------------------
>
>                 Key: JS2-893
>                 URL: https://issues.apache.org/jira/browse/JS2-893
>             Project: Jetspeed 2
>          Issue Type: New Feature
>          Components: Other
>    Affects Versions: 2.1.2, 2.1.3, 2.2.0
>            Reporter: Joachim Müller
>            Assignee: Randy Watler
>             Fix For: 2.2.0
>
>         Attachments: JS2-893_patch.zip
>
>
> We developed a cluster synchronization feature that is able to synchronize the execution of an objects method cluster-wide. The approach is similar to the spring transaction proxy, so we are able to AOP-inject the cluster synchronization via spring configuration. The component is highly customizable. A new database table is used for synchonization, but any other data container (i.e. broadcast-distributed-hashmap) could be used.
> One main application for this functionality is the start of many jetspeed cluster nodes and synchronize the deployment of the PAs to the database. (Even with the VersionedApplicationManager we experienced DB constraints failures on startup with fresh database, preventing the some PAs from registration.)
> Patch follows (exists only for the 2.1.2-POSTRELEASE branch yet).

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


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


[jira] Commented: (JS2-893) cluster synchronization feature

Posted by "Randy Watler (JIRA)" <je...@portals.apache.org>.
    [ https://issues.apache.org/jira/browse/JS2-893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12702242#action_12702242 ] 

Randy Watler commented on JS2-893:
----------------------------------

Investigation into this issue has confirmed that there are issues as reported using the VersionedPortletApplicationManager  implementation on 2.1.3-POST. There are at least two issues that are evident at this point: concurrent access conflicts between multiple nodes in the cluster and problems writing preferences for a portlet application more than once during the lifetime of a single server.


> cluster synchronization feature
> -------------------------------
>
>                 Key: JS2-893
>                 URL: https://issues.apache.org/jira/browse/JS2-893
>             Project: Jetspeed 2
>          Issue Type: New Feature
>          Components: Other
>    Affects Versions: 2.1.2, 2.1.3, 2.2.0
>            Reporter: Joachim Müller
>            Assignee: Randy Watler
>             Fix For: 2.2.0
>
>         Attachments: JS2-893_patch.zip
>
>
> We developed a cluster synchronization feature that is able to synchronize the execution of an objects method cluster-wide. The approach is similar to the spring transaction proxy, so we are able to AOP-inject the cluster synchronization via spring configuration. The component is highly customizable. A new database table is used for synchonization, but any other data container (i.e. broadcast-distributed-hashmap) could be used.
> One main application for this functionality is the start of many jetspeed cluster nodes and synchronize the deployment of the PAs to the database. (Even with the VersionedApplicationManager we experienced DB constraints failures on startup with fresh database, preventing the some PAs from registration.)
> Patch follows (exists only for the 2.1.2-POSTRELEASE branch yet).

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


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


[jira] Commented: (JS2-893) cluster synchronization feature

Posted by "Joachim Müller (JIRA)" <je...@portals.apache.org>.
    [ https://issues.apache.org/jira/browse/JS2-893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12625680#action_12625680 ] 

Joachim Müller commented on JS2-893:
------------------------------------

The patch should be modified in deployment.xml to use the VersionedApplicationManager instead of the PortletApplicationManager (or at least set descriptorChangeMonitorInterval to 0). We experienced in some setups that the DescriptorChangeMonitor fires a startPA() before startPortletApplication was executed as it was blocked by the cluster synchronization.

Unfortunately startPA() cannot be proxied because it is protected. What about making the method public so the cluster sync can hook in?

> cluster synchronization feature
> -------------------------------
>
>                 Key: JS2-893
>                 URL: https://issues.apache.org/jira/browse/JS2-893
>             Project: Jetspeed 2
>          Issue Type: New Feature
>          Components: Other
>    Affects Versions: 2.1.2, 2.1.3, 2.2
>            Reporter: Joachim Müller
>            Assignee: David Sean Taylor
>             Fix For: 2.1.2, 2.1.3, 2.2
>
>         Attachments: JS2-893_patch.zip
>
>
> We developed a cluster synchronization feature that is able to synchronize the execution of an objects method cluster-wide. The approach is similar to the spring transaction proxy, so we are able to AOP-inject the cluster synchronization via spring configuration. The component is highly customizable. A new database table is used for synchonization, but any other data container (i.e. broadcast-distributed-hashmap) could be used.
> One main application for this functionality is the start of many jetspeed cluster nodes and synchronize the deployment of the PAs to the database. (Even with the VersionedApplicationManager we experienced DB constraints failures on startup with fresh database, preventing the some PAs from registration.)
> Patch follows (exists only for the 2.1.2-POSTRELEASE branch yet).

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


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


[jira] Issue Comment Edited: (JS2-893) cluster synchronization feature

Posted by "Joachim Müller (JIRA)" <je...@portals.apache.org>.
    [ https://issues.apache.org/jira/browse/JS2-893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12625680#action_12625680 ] 

joachim_mueller edited comment on JS2-893 at 8/26/08 2:41 AM:
-------------------------------------------------------------

The patch should be modified in deployment.xml to use the VersionedPortletApplicationManager instead of the PortletApplicationManager (or at least set descriptorChangeMonitorInterval to 0). We experienced in some setups that the DescriptorChangeMonitor fires a startPA() before startPortletApplication was executed as it was blocked by the cluster synchronization.

Unfortunately startPA() cannot be proxied because it is protected. What about making the method public so the cluster sync can hook in?

      was (Author: joachim_mueller):
    The patch should be modified in deployment.xml to use the VersionedApplicationManager instead of the PortletApplicationManager (or at least set descriptorChangeMonitorInterval to 0). We experienced in some setups that the DescriptorChangeMonitor fires a startPA() before startPortletApplication was executed as it was blocked by the cluster synchronization.

Unfortunately startPA() cannot be proxied because it is protected. What about making the method public so the cluster sync can hook in?
  
> cluster synchronization feature
> -------------------------------
>
>                 Key: JS2-893
>                 URL: https://issues.apache.org/jira/browse/JS2-893
>             Project: Jetspeed 2
>          Issue Type: New Feature
>          Components: Other
>    Affects Versions: 2.1.2, 2.1.3, 2.2
>            Reporter: Joachim Müller
>            Assignee: David Sean Taylor
>             Fix For: 2.1.2, 2.1.3, 2.2
>
>         Attachments: JS2-893_patch.zip
>
>
> We developed a cluster synchronization feature that is able to synchronize the execution of an objects method cluster-wide. The approach is similar to the spring transaction proxy, so we are able to AOP-inject the cluster synchronization via spring configuration. The component is highly customizable. A new database table is used for synchonization, but any other data container (i.e. broadcast-distributed-hashmap) could be used.
> One main application for this functionality is the start of many jetspeed cluster nodes and synchronize the deployment of the PAs to the database. (Even with the VersionedApplicationManager we experienced DB constraints failures on startup with fresh database, preventing the some PAs from registration.)
> Patch follows (exists only for the 2.1.2-POSTRELEASE branch yet).

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


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


[jira] Commented: (JS2-893) cluster synchronization feature

Posted by "Joachim Müller (JIRA)" <je...@portals.apache.org>.
    [ https://issues.apache.org/jira/browse/JS2-893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12620293#action_12620293 ] 

Joachim Müller commented on JS2-893:
------------------------------------

some more comments:

A new table CLUSTER_RESOURCE is created to store the LOCK tokens. It also stores information about TTL and the client that obtained the lock.

With the parameters in the new deployment.xml it is possible to influence different behaviours like: TTL, time to wait for retry obtaining a cluster wide lock and the max. number of retries before the proxy interrupts the method execution.


> cluster synchronization feature
> -------------------------------
>
>                 Key: JS2-893
>                 URL: https://issues.apache.org/jira/browse/JS2-893
>             Project: Jetspeed 2
>          Issue Type: New Feature
>          Components: Other
>    Affects Versions: 2.1.2, 2.1.3, 2.2
>            Reporter: Joachim Müller
>             Fix For: 2.1.2, 2.1.3, 2.2
>
>         Attachments: JS2-893_patch.zip
>
>
> We developed a cluster synchronization feature that is able to synchronize the execution of an objects method cluster-wide. The approach is similar to the spring transaction proxy, so we are able to AOP-inject the cluster synchronization via spring configuration. The component is highly customizable. A new database table is used for synchonization, but any other data container (i.e. broadcast-distributed-hashmap) could be used.
> One main application for this functionality is the start of many jetspeed cluster nodes and synchronize the deployment of the PAs to the database. (Even with the VersionedApplicationManager we experienced DB constraints failures on startup with fresh database, preventing the some PAs from registration.)
> Patch follows (exists only for the 2.1.2-POSTRELEASE branch yet).

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


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


[jira] Updated: (JS2-893) cluster synchronization feature

Posted by "David Sean Taylor (JIRA)" <je...@portals.apache.org>.
     [ https://issues.apache.org/jira/browse/JS2-893?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Sean Taylor updated JS2-893:
----------------------------------

    Fix Version/s:     (was: 2.1.3)
                       (was: 2.1.2)

I am changing the fix version to 2.2, since I cannot modify the database tables to a post release.
Will review this before the 2.2 release and make a decision whether it should be included in the release as an optional or default feature.

> cluster synchronization feature
> -------------------------------
>
>                 Key: JS2-893
>                 URL: https://issues.apache.org/jira/browse/JS2-893
>             Project: Jetspeed 2
>          Issue Type: New Feature
>          Components: Other
>    Affects Versions: 2.1.2, 2.1.3, 2.2
>            Reporter: Joachim Müller
>            Assignee: David Sean Taylor
>             Fix For: 2.2
>
>         Attachments: JS2-893_patch.zip
>
>
> We developed a cluster synchronization feature that is able to synchronize the execution of an objects method cluster-wide. The approach is similar to the spring transaction proxy, so we are able to AOP-inject the cluster synchronization via spring configuration. The component is highly customizable. A new database table is used for synchonization, but any other data container (i.e. broadcast-distributed-hashmap) could be used.
> One main application for this functionality is the start of many jetspeed cluster nodes and synchronize the deployment of the PAs to the database. (Even with the VersionedApplicationManager we experienced DB constraints failures on startup with fresh database, preventing the some PAs from registration.)
> Patch follows (exists only for the 2.1.2-POSTRELEASE branch yet).

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


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


[jira] Commented: (JS2-893) cluster synchronization feature

Posted by "hongkunan (JIRA)" <je...@portals.apache.org>.
    [ https://issues.apache.org/jira/browse/JS2-893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12735935#action_12735935 ] 

hongkunan commented on JS2-893:
-------------------------------

where have jetspeed2.2 cluster detail's document??

who can give me a document?  thanks!

my email: jones_ahk@yahoo.com.cn

> cluster synchronization feature
> -------------------------------
>
>                 Key: JS2-893
>                 URL: https://issues.apache.org/jira/browse/JS2-893
>             Project: Jetspeed 2
>          Issue Type: New Feature
>          Components: Other
>    Affects Versions: 2.1.2, 2.1.3, 2.2.0
>            Reporter: Joachim Müller
>            Assignee: Randy Watler
>             Fix For: 2.1.4, 2.2.0
>
>         Attachments: JS2-893_patch.zip
>
>
> We developed a cluster synchronization feature that is able to synchronize the execution of an objects method cluster-wide. The approach is similar to the spring transaction proxy, so we are able to AOP-inject the cluster synchronization via spring configuration. The component is highly customizable. A new database table is used for synchonization, but any other data container (i.e. broadcast-distributed-hashmap) could be used.
> One main application for this functionality is the start of many jetspeed cluster nodes and synchronize the deployment of the PAs to the database. (Even with the VersionedApplicationManager we experienced DB constraints failures on startup with fresh database, preventing the some PAs from registration.)
> Patch follows (exists only for the 2.1.2-POSTRELEASE branch yet).

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


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


[jira] Assigned: (JS2-893) cluster synchronization feature

Posted by "David Sean Taylor (JIRA)" <je...@portals.apache.org>.
     [ https://issues.apache.org/jira/browse/JS2-893?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Sean Taylor reassigned JS2-893:
-------------------------------------

    Assignee: David Sean Taylor

> cluster synchronization feature
> -------------------------------
>
>                 Key: JS2-893
>                 URL: https://issues.apache.org/jira/browse/JS2-893
>             Project: Jetspeed 2
>          Issue Type: New Feature
>          Components: Other
>    Affects Versions: 2.1.2, 2.1.3, 2.2
>            Reporter: Joachim Müller
>            Assignee: David Sean Taylor
>             Fix For: 2.1.2, 2.1.3, 2.2
>
>         Attachments: JS2-893_patch.zip
>
>
> We developed a cluster synchronization feature that is able to synchronize the execution of an objects method cluster-wide. The approach is similar to the spring transaction proxy, so we are able to AOP-inject the cluster synchronization via spring configuration. The component is highly customizable. A new database table is used for synchonization, but any other data container (i.e. broadcast-distributed-hashmap) could be used.
> One main application for this functionality is the start of many jetspeed cluster nodes and synchronize the deployment of the PAs to the database. (Even with the VersionedApplicationManager we experienced DB constraints failures on startup with fresh database, preventing the some PAs from registration.)
> Patch follows (exists only for the 2.1.2-POSTRELEASE branch yet).

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


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


[jira] Updated: (JS2-893) cluster synchronization feature

Posted by "Joachim Müller (JIRA)" <je...@portals.apache.org>.
     [ https://issues.apache.org/jira/browse/JS2-893?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joachim Müller updated JS2-893:
-------------------------------

    Attachment: JS2-893_patch.zip

patches for 2.1.2-POSTRELEASE, 2.1.3-POSTRELEASE, 2.2-dev

> cluster synchronization feature
> -------------------------------
>
>                 Key: JS2-893
>                 URL: https://issues.apache.org/jira/browse/JS2-893
>             Project: Jetspeed 2
>          Issue Type: New Feature
>          Components: Other
>    Affects Versions: 2.1.2, 2.1.3, 2.2
>            Reporter: Joachim Müller
>             Fix For: 2.1.2, 2.1.3, 2.2
>
>         Attachments: JS2-893_patch.zip
>
>
> We developed a cluster synchronization feature that is able to synchronize the execution of an objects method cluster-wide. The approach is similar to the spring transaction proxy, so we are able to AOP-inject the cluster synchronization via spring configuration. The component is highly customizable. A new database table is used for synchonization, but any other data container (i.e. broadcast-distributed-hashmap) could be used.
> One main application for this functionality is the start of many jetspeed cluster nodes and synchronize the deployment of the PAs to the database. (Even with the VersionedApplicationManager we experienced DB constraints failures on startup with fresh database, preventing the some PAs from registration.)
> Patch follows (exists only for the 2.1.2-POSTRELEASE branch yet).

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


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


Re: [jira] Commented: (JS2-893) cluster synchronization feature

Posted by Joachim Müller <jo...@wemove.com>.
Hi Randy,

I totally agree. If the cluster lock is not necessary it should not be
used for this issue. For us it was a nice solution because it resolved
the startPA issues AND even if the DB transaction prevents inconistency
in the future, it is possible to manage the issue actively and avoid
nasty exceptions. Also it supports decoupling of functionality very well
and does not increase the complexity of the PAManager (IMO it's already
too complex).

For complex PA development in a cluster, functionalities like cluster
locking or access to a distributed cache, like Jetspeed is using
already, might come in handy. What about having a ClusterServiceManager
that provides functionalities like that to PAs?

Joachim


Randy Watler (JIRA) schrieb:
>     [ https://issues.apache.org/jira/browse/JS2-893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12702603#action_12702603 ] 
> 
> Randy Watler commented on JS2-893:
> ----------------------------------
> 
> Unit tests in 2.1.3-POST and 2.2 versions committed.
> 
> 2.2: 768433
> 2.1.3: 768434
> 
> Reported prefs problems do not appear in 2.2, so these will not be addressed as part of this issue.
> 
> An attempt will be made to fix the concurrent startPortletApplication issue without using the patch submitted above. The primary reason we are avoiding the patch above is to prevent cluster wide locking. Database transactions should be sufficiently robust to implement concurrent PAM access. We will reconsider this approach if we are not able to achieve this.
> 
>> cluster synchronization feature
>> -------------------------------
>>
>>                 Key: JS2-893
>>                 URL: https://issues.apache.org/jira/browse/JS2-893
>>             Project: Jetspeed 2
>>          Issue Type: New Feature
>>          Components: Other
>>    Affects Versions: 2.1.2, 2.1.3, 2.2.0
>>            Reporter: Joachim Müller
>>            Assignee: Randy Watler
>>             Fix For: 2.2.0
>>
>>         Attachments: JS2-893_patch.zip
>>
>>
>> We developed a cluster synchronization feature that is able to synchronize the execution of an objects method cluster-wide. The approach is similar to the spring transaction proxy, so we are able to AOP-inject the cluster synchronization via spring configuration. The component is highly customizable. A new database table is used for synchonization, but any other data container (i.e. broadcast-distributed-hashmap) could be used.
>> One main application for this functionality is the start of many jetspeed cluster nodes and synchronize the deployment of the PAs to the database. (Even with the VersionedApplicationManager we experienced DB constraints failures on startup with fresh database, preventing the some PAs from registration.)
>> Patch follows (exists only for the 2.1.2-POSTRELEASE branch yet).
> 


-- 

. frankfurt am main, 14°c, zur zeit ein wenig
  bewölkt in 884 m. bewölkt 7620 m. die sichtweite
  reicht weiter als 10 km.

< joachim müller
  joachim@wemove.com
  t +49 69 759003 11

  wemove digital solutions gmbh
  eschersheimer landstr. 5-7
  60322 frankfurt am main

  amtsgericht frankfurt am main, hrb 53992
  geschäftsführer joachim müller, stefan hartmann

  wemove digital solutions
  www.wemove.com



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


[jira] Commented: (JS2-893) cluster synchronization feature

Posted by "Randy Watler (JIRA)" <je...@portals.apache.org>.
    [ https://issues.apache.org/jira/browse/JS2-893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12702603#action_12702603 ] 

Randy Watler commented on JS2-893:
----------------------------------

Unit tests in 2.1.3-POST and 2.2 versions committed.

2.2: 768433
2.1.3: 768434

Reported prefs problems do not appear in 2.2, so these will not be addressed as part of this issue.

An attempt will be made to fix the concurrent startPortletApplication issue without using the patch submitted above. The primary reason we are avoiding the patch above is to prevent cluster wide locking. Database transactions should be sufficiently robust to implement concurrent PAM access. We will reconsider this approach if we are not able to achieve this.

> cluster synchronization feature
> -------------------------------
>
>                 Key: JS2-893
>                 URL: https://issues.apache.org/jira/browse/JS2-893
>             Project: Jetspeed 2
>          Issue Type: New Feature
>          Components: Other
>    Affects Versions: 2.1.2, 2.1.3, 2.2.0
>            Reporter: Joachim Müller
>            Assignee: Randy Watler
>             Fix For: 2.2.0
>
>         Attachments: JS2-893_patch.zip
>
>
> We developed a cluster synchronization feature that is able to synchronize the execution of an objects method cluster-wide. The approach is similar to the spring transaction proxy, so we are able to AOP-inject the cluster synchronization via spring configuration. The component is highly customizable. A new database table is used for synchonization, but any other data container (i.e. broadcast-distributed-hashmap) could be used.
> One main application for this functionality is the start of many jetspeed cluster nodes and synchronize the deployment of the PAs to the database. (Even with the VersionedApplicationManager we experienced DB constraints failures on startup with fresh database, preventing the some PAs from registration.)
> Patch follows (exists only for the 2.1.2-POSTRELEASE branch yet).

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


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org