On Wed, Dec 16, 2015 at 3:57 PM, Samiyuru Senarathne <[email protected]> wrote:
> In Carbon Kernel, the usage of *listFiles()* and the > polling implementation of finding artifacts will be changed to an event > driven watching implementation in the future. Even in this > new implementation, we can use *FilenameFilter* to filt artifacts > before providing them to the Deployers. We can use *getArtifactType()* > function in *Deployer* interface to get a *FilenameFilter* for a > particular deployer. > +1 I guess what you mean here is ".... to construct a FilenameFilter for a particular deployer " Thanks ! > > Best Regards, > Samiyuru > > On Wed, Dec 16, 2015 at 1:22 PM, Sagara Gunathunga <[email protected]> > wrote: > >> >> >> On Thu, Dec 10, 2015 at 2:15 PM, Afkham Azeez <[email protected]> wrote: >> >>> The deployment engine should call the deployer only for valid artifact >>> types. So yes, it looks like the fixes have to be done in the kernel. >>> >> >> In addition to *.txt files I'm getting same exception for .DS_Store file >> created by the OS as well. >> >> In C5 how we define (identify) artifact types for deployment ? >> >> We used to identify artifact types based on file extension such as .arr, >> .jar etc. If we still use same approach it would be better and much >> efficient to pass a FilenameFilter[1] object into the listFiles() call on >> RepositoryScanner#findArtifactsToDeploy() method instead of iterating all >> the files in the directory. >> >> [1] - >> https://docs.oracle.com/javase/8/docs/api/java/io/FilenameFilter.html >> >> Thanks ! >> >>> >>> On Thu, Dec 10, 2015 at 1:47 PM, Samiyuru Senarathne <[email protected]> >>> wrote: >>> >>>> First part of this issue is trying to deploy invalid files. The second >>>> part of the issue is deployment engine tries to deploy the artifact again >>>> and again even though an exception is thrown for that particular artifact >>>> by the deployer. Because of this the exception is thrown again and again. >>>> >>>> The second part of the problem will be solved with the kernel GA since >>>> the GA's deployment engine records the faulty artifacts. >>>> >>>> IMO the first part of issue also should be fixed in deployment engine. >>>> The reason for that is as follows. >>>> >>>> *org.wso2.carbon.mss.internal.deployer.MSSDeployer* implements >>>> *org.wso2.carbon.kernel.deployment.Deployer* interface that is >>>> provided by the deployment engine of carbon kernel. >>>> >>>> org.wso2.carbon.kernel.deployment.Deployer interface has the following >>>> functions. >>>> >>>> - Object deploy(Artifact var1) throws CarbonDeploymentException; >>>> - void undeploy(Object var1) throws CarbonDeploymentException; >>>> - Object update(Artifact var1) throws CarbonDeploymentException; >>>> - URL getLocation(); >>>> - ArtifactType getArtifactType(); >>>> >>>> Here deploy(Artifact var1) function is called with a >>>> *org.wso2.carbon.kernel.deployment.Artifact* parameter by the kernel's >>>> deployment engine whenever a new artifact is found. So, deploy() function >>>> is called with both valid and invalid artifact types. >>>> >>>> Here, getArtifactType() is meant to get the artifact type that is >>>> supported by a particular deployer implementation. IMO since this function >>>> is there to identify the supported artifact types of a Deployer, deployment >>>> engine should filter the found artifacts using the ArtifactType before >>>> calling the deploy() function of a Deployer implementation. Then, the >>>> deployment engine will call deploy() function only with valid artifacts for >>>> that specific deployer. Therefore, each deployer implementation will not >>>> have to do duplicate implementations to filt the artifact types they >>>> support. IMO unless getting an ArtifactType from the deployer >>>> implementation is less useful. >>>> >>>> WDYT? >>>> >>>> Best Regards, >>>> Samiyuru >>>> >>>> On Thu, Dec 10, 2015 at 11:35 AM, Afkham Azeez <[email protected]> wrote: >>>> >>>>> [2015-12-10 11:34:09,012] INFO >>>>> {org.wso2.carbon.mss.internal.deployer.MSSDeployer} - Deploying artifact: >>>>> /Users/azeez/projects/github/wso2/product-mss/product/target/wso2mss-1.0.0-SNAPSHOT/repository/deployment/server/mss/README.txt >>>>> >>>>> [2015-12-10 11:34:09,013] ERROR >>>>> {org.wso2.carbon.kernel.internal.deployment.DeploymentEngine} - Error >>>>> while >>>>> deploying artifacts >>>>> org.wso2.carbon.kernel.deployment.exception.CarbonDeploymentException: >>>>> Error while processing the artifact: >>>>> /Users/azeez/projects/github/wso2/product-mss/product/target/wso2mss-1.0.0-SNAPSHOT/repository/deployment/server/mss/README.txt >>>>> >>>>> at >>>>> org.wso2.carbon.mss.internal.deployer.MSSDeployer.deploy(MSSDeployer.java:78) >>>>> >>>>> at >>>>> org.wso2.carbon.kernel.internal.deployment.DeploymentEngine.lambda$deployArtifacts$18(DeploymentEngine.java:229) >>>>> >>>>> at >>>>> org.wso2.carbon.kernel.internal.deployment.DeploymentEngine$$Lambda$45/1996363093.accept(Unknown >>>>> Source) >>>>> >>>>> at java.util.ArrayList.forEach(ArrayList.java:1249) >>>>> >>>>> at >>>>> org.wso2.carbon.kernel.internal.deployment.DeploymentEngine.deployArtifacts(DeploymentEngine.java:225) >>>>> >>>>> at >>>>> org.wso2.carbon.kernel.internal.deployment.RepositoryScanner.sweep(RepositoryScanner.java:110) >>>>> >>>>> at >>>>> org.wso2.carbon.kernel.internal.deployment.RepositoryScanner.scan(RepositoryScanner.java:68) >>>>> >>>>> at >>>>> org.wso2.carbon.kernel.internal.deployment.SchedulerTask.run(SchedulerTask.java:43) >>>>> >>>>> at >>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) >>>>> >>>>> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) >>>>> >>>>> at >>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) >>>>> >>>>> at >>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) >>>>> >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) >>>>> >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) >>>>> >>>>> at java.lang.Thread.run(Thread.java:745) >>>>> >>>>> Caused by: >>>>> org.wso2.carbon.mss.internal.deployer.MSSJarProcessorException: Error >>>>> retrieving manifest: >>>>> /Users/azeez/projects/github/wso2/product-mss/product/target/wso2mss-1.0.0-SNAPSHOT/repository/deployment/server/mss/README.txt >>>>> >>>>> at >>>>> org.wso2.carbon.mss.internal.deployer.MSSJarProcessor.readMSSManifestEntry(MSSJarProcessor.java:125) >>>>> >>>>> at >>>>> org.wso2.carbon.mss.internal.deployer.MSSJarProcessor.process(MSSJarProcessor.java:65) >>>>> >>>>> at >>>>> org.wso2.carbon.mss.internal.deployer.MSSDeployer.deploy(MSSDeployer.java:76) >>>>> >>>>> ... 14 more >>>>> >>>>> Caused by: 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:220) >>>>> >>>>> at java.util.zip.ZipFile.<init>(ZipFile.java:150) >>>>> >>>>> at java.util.jar.JarFile.<init>(JarFile.java:166) >>>>> >>>>> at java.util.jar.JarFile.<init>(JarFile.java:103) >>>>> >>>>> at >>>>> org.wso2.carbon.mss.internal.deployer.MSSJarProcessor.readMSSManifestEntry(MSSJarProcessor.java:113) >>>>> >>>>> >>>>> The deployer should ignore unknown extensions. It is trying to deploy >>>>> a .txt file. >>>>> >>>>> -- >>>>> *Afkham Azeez* >>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>> * <http://www.apache.org/>* >>>>> *email: **[email protected]* <[email protected]> >>>>> * cell: +94 77 3320919 <%2B94%2077%203320919>blog: * >>>>> *http://blog.afkham.org* <http://blog.afkham.org> >>>>> *twitter: **http://twitter.com/afkham_azeez* >>>>> <http://twitter.com/afkham_azeez> >>>>> *linked-in: **http://lk.linkedin.com/in/afkhamazeez >>>>> <http://lk.linkedin.com/in/afkhamazeez>* >>>>> >>>>> *Lean . Enterprise . Middleware* >>>>> >>>> >>>> >>>> >>>> -- >>>> Samiyuru Senarathne >>>> *Software Engineer* >>>> Mobile : +94 (0) 71 134 6087 >>>> [email protected] >>>> >>> >>> >>> >>> -- >>> *Afkham Azeez* >>> Director of Architecture; WSO2, Inc.; http://wso2.com >>> Member; Apache Software Foundation; http://www.apache.org/ >>> * <http://www.apache.org/>* >>> *email: **[email protected]* <[email protected]> >>> * cell: +94 77 3320919 <%2B94%2077%203320919>blog: * >>> *http://blog.afkham.org* <http://blog.afkham.org> >>> *twitter: **http://twitter.com/afkham_azeez* >>> <http://twitter.com/afkham_azeez> >>> *linked-in: **http://lk.linkedin.com/in/afkhamazeez >>> <http://lk.linkedin.com/in/afkhamazeez>* >>> >>> *Lean . Enterprise . Middleware* >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> Sagara Gunathunga >> >> Architect; WSO2, Inc.; http://wso2.com >> V.P Apache Web Services; http://ws.apache.org/ >> Linkedin; http://www.linkedin.com/in/ssagara >> Blog ; http://ssagara.blogspot.com >> >> > > > -- > Samiyuru Senarathne > *Software Engineer* > Mobile : +94 (0) 71 134 6087 > [email protected] > -- Sagara Gunathunga Architect; WSO2, Inc.; http://wso2.com V.P Apache Web Services; http://ws.apache.org/ Linkedin; http://www.linkedin.com/in/ssagara Blog ; http://ssagara.blogspot.com
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
