incubator-s4-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Morel (JIRA)" <j...@apache.org>
Subject [jira] [Created] (S4-56) Prevent concurrent access to published s4r files
Date Mon, 11 Jun 2012 15:10:43 GMT
Matthieu Morel created S4-56:
--------------------------------

             Summary: Prevent concurrent access to published s4r files
                 Key: S4-56
                 URL: https://issues.apache.org/jira/browse/S4-56
             Project: Apache S4
          Issue Type: Bug
    Affects Versions: 0.5
            Reporter: Matthieu Morel
            Assignee: Matthieu Morel
             Fix For: 0.5


When using a file system-based deployment, and when a new application is deployed, multiple
nodes receive a notification and try reading the same compressed archive concurrently. This
may result in issues such as:
{code}
ZkClient-EventThread-15-localhost:2181] INFO  org.apache.s4.core.Server - Local app deployment:
using s4r file name [MY_APP] as application name
java.util.zip.ZipException: error in opening zip file
	at java.util.zip.ZipFile.open(Native Method)
	at java.util.zip.ZipFile.<init>(ZipFile.java:127)
	at java.util.zip.ZipFile.<init>(ZipFile.java:88)
	at org.apache.s4.base.util.JarResources.init(JarResources.java:58)
	at org.apache.s4.base.util.JarResources.<init>(JarResources.java:41)
	at org.apache.s4.base.util.S4RLoader.<init>(S4RLoader.java:28)
	at org.apache.s4.core.Server.loadApp(Server.java:122)
	at org.apache.s4.core.Server.loadApp(Server.java:115)
	at org.apache.s4.deploy.DistributedDeploymentManager.deployApplication(DistributedDeploymentManager.java:119)
	at org.apache.s4.deploy.DistributedDeploymentManager.deployApps(DistributedDeploymentManager.java:164)
	at org.apache.s4.deploy.DistributedDeploymentManager.deployNewApps(DistributedDeploymentManager.java:158)
	at org.apache.s4.deploy.DistributedDeploymentManager.access$200(DistributedDeploymentManager.java:57)
	at org.apache.s4.deploy.DistributedDeploymentManager$AppsChangeListener.handleChildChange(DistributedDeploymentManager.java:178)
	at org.I0Itec.zkclient.ZkClient$7.run(ZkClient.java:568)
	at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:71) 

{code}

As a consequence, the application cannot be deployed on the nodes that see this issue, unless
these nodes are restarted.

A solution might be to prevent concurrent access to the archive through a lock which could
be an ephemeral node in ZooKeeper.

--
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

        

Mime
View raw message