[ 
https://issues.apache.org/jira/browse/S4-56?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthieu Morel resolved S4-56.
------------------------------

    Resolution: Fixed

Fixed in S4-71
                
> 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

        

Reply via email to