I think the break was that their earlier had a released version numbers without SNAPSHOT, so that metadata fallback was not needed then. On 11 Feb 2016 18:19, "Gale Naylor" <[email protected]> wrote:
> Do we know what caused the "break" to happen in January when everything was > working fine before? > > On Thu, Feb 11, 2016 at 8:30 AM Stian Soiland-Reyes <[email protected]> > wrote: > > > Well, you asked for it! ;) > > > > Maven 3 deploys SNAPSHOTs with timestamps in the filename (e.g. > > 1.0-20150203151700.pom and .jar) and modify maven-metadata.xml to say its > > existence, while earlier Mavens would often (also) deploy the file > directly > > with just 1.0-SNAPSHOT.jar at the end. Some even earlier Mavens only > > deployed the non-timestamp and didn't update maven-metadata.xml. > > > > To play along, Taverna first tries to retrieve the oldskool path, before > > resorting to parsing the Maven metadata XML. > > > > On this particular server, instead of 404 Not Found for the first, it > tried > > to be "helpful" with a 300 response and a file listing of similar paths. > > Taverna/Java naively saves this as if it was the pom, and then fails to > > parse it as it is HTML, not XML. > > > > While you could say this is a bug in Taverna 2's plugin system Raven > which > > should check for 200 OK before saving the pom/jar, the "real" problem is > > that we implemented Maven repository support ourselves, as (at least at > the > > time) Maven's codebase did not make it easy to reuse its repository > client > > code. > > > > Taverna 3's plugin system uses OSGi instead of Raven/Maven and has a much > > simpler repository structure, but it might be worth hardening our new > > Download code to ensure similar things does not happen there. Released > > Taverna 3 code is in taverna-download-impl of incubator-taverna-osgi. > > On 10 Feb 2016 11:59, "Ian Dunlop" <[email protected]> wrote: > > > > > Hello, > > > > > > Thanks for the detailed analysis Stian. So, I'm trying to understand > > > what the unedrlying issue is (I guess so we can then add it to any docs > > > as things to be aware of). Is it that there is no pom file deployed in > > > the repo. > > > ie taverna is looking for > > > > > > > > > > > > http://192.185.115.65/~diana/DIANA_plugin_updated/test-plugins/gr/dianatools/diana.services-activity/1.0-SNAPSHOT/diana.services-activity-1.0-SNAPSHOT.pom > > > > > > but all there is only > > > > > > > > > > > > http://192.185.115.65/~diana/DIANA_plugin_updated/test-plugins/gr/dianatools/diana.services-activity/1.0-SNAPSHOT/diana.services-activity-1.0-20150430.173815-1.pom > > > > > > Why would that be? Is it a mvn deploy issue? Why is there no > > > diana.services-activity-1.0-SNAPSHOT.pom ? > > > > > > Cheers, > > > > > > Ian > > > > > > On 10/02/2016 10:02, Stian Soiland-Reyes wrote: > > > > Looking at ~/.taverna-core-2.5.0/taverna-core-2.5.0.log I get > > > > > > > > WARN 2016-02-10 09:40:48,187 > > > > (net.sf.taverna.raven.repository.impl.ArtifactImpl:85) - XML SAX > error > > > > for /home/stain/.taverna-core-2.5.0 > > > > > > > > > > /repository/gr/dianatools/diana.services-activity/1.0-SNAPSHOT/diana.services-activity-1.0-SNAPSHOT.pom > > > > org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 50; White > > > > spaces are required between publicId and systemId. > > > > at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) > > > > at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown > > > Source) > > > > at > > > javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121) > > > > at > > > > > > net.sf.taverna.raven.repository.impl.ArtifactImpl.readAndParseXML(ArtifactImpl.java:560) > > > > at > > > > > > net.sf.taverna.raven.repository.impl.ArtifactImpl.readXML(ArtifactImpl.java:526) > > > > at > > > > > > net.sf.taverna.raven.repository.impl.ArtifactImpl.getPackageType(ArtifactImpl.java:280) > > > > at > > > > > > net.sf.taverna.raven.repository.impl.LocalRepository.act(LocalRepository.java:530) > > > > at > > > > > > net.sf.taverna.raven.repository.impl.LocalRepository.update(LocalRepository.java:510) > > > > at > > > > > > net.sf.taverna.raven.plugins.PluginManager.addPlugin(PluginManager.java:221) > > > > at > > > > > > net.sf.taverna.raven.plugins.ui.PluginSiteFrame$4.run(PluginSiteFrame.java:426) > > > > > > > > and the same for diana-services-activity-ui. > > > > > > > > If I inspect those downloaded POM files locally I see it's no wonder > > > > the XML is not parsing, as I find HTML like: > > > > > > > > <title>300 Multiple Choices</title> > > > > </head><body> > > > > <h1>Multiple Choices</h1> > > > > The document name you requested > > > > > > > > > > (<code>/~diana/DIANA_plugin_updated/test-plugins/gr/dianatools/diana.services-activity-ui/1.0-SNAPSHOT/diana.services-activity-ui-1.0-SNAPSHOT.pom</code>) > > > > could not be found on this server. > > > > However, we found documents with names similar to the one you > > > > requested.<p>Available documents: > > > > <ul> > > > > <li><a > > > > > > href="/~diana/DIANA_plugin_updated/test-plugins/gr/dianatools/diana.services-activity-ui/1.0-SNAPSHOT/diana.services-activity-ui-1.0-20150430.174001-1.pom.md5">/~diana/DIANA_plugin_updated/test-plugins/gr/dianatools/diana.services-activity-ui/1.0-SNAPSHOT/diana.services-activity-ui-1.0-20150430.174001-1.pom.md5</a> > > > > (common basename) > > > > <li><a > > > > > > href="/~diana/DIANA_plugin_updated/test-plugins/gr/dianatools/diana.services-activity-ui/1.0-SNAPSHOT/diana.services-activity-ui-1.0-20150430.174001-1-test-sources.jar.md5">/~diana/DIANA_plugin_updated/test-plugins/gr/dianatools/diana.services-activity-ui/1.0-SNAPSHOT/diana.services-activity-ui-1.0-20150430.174001-1-test-sources.jar.md5</a> > > > > (common basename) > > > > > > > > So this seems to come from Taverna trying to first fetch these URLs: > > > > > > > > > > > > > > http://192.185.115.65/~diana/DIANA_plugin_updated/test-plugins/gr/dianatools/diana.services-activity/1.0-SNAPSHOT/diana.services-activity-1.0-SNAPSHOT.pom > > > > > > > > > > http://192.185.115.65/~diana/DIANA_plugin_updated/test-plugins/gr/dianatools/diana.services-activity-ui/1.0-SNAPSHOT/diana.services-activity-ui-1.0-SNAPSHOT.pom > > > > > > > > > > > > I don't think Taverna 2's plugin system is handling that 300 response > > > > correctly as it stores the 300 error HTML as if it was the successful > > > > pom downloaded. Taverna would normally try to get the specific > > > > version directly, if a 404 Not Found, it will looking in > > > > maven-metadata.xml to find the latest version > > > > > > > > See > > > > > > https://github.com/taverna/taverna2-raven/blob/maintenance/raven/src/main/java/net/sf/taverna/raven/repository/impl/LocalRepository.java#L766 > > > > > > > > > > > > Are you able to reconfigure your Apache server to avoid this "similar > > > > name matching" and return 404 for those non-matching URIs? > > > > > > > > Something like > > > > > > > > CheckSpelling Off > > > > > > > > in .htaccess for /~diana/DIANA_plugin_updated/ should do. > > > > > > > > > > > > Alternatively if you release your plugin in a non-SNAPSHOT version, > > > > then it should also work well. > > > > > > > > BTW - in your repository list at > > > > > > > > > > http://192.185.115.65/~diana/DIANA_plugin_updated/test-plugins/diana.services-plugin-1.0-SNAPSHOT.xml > > > > you should remove all repositories except: > > > > > > > > <repository>http://www.mygrid.org.uk/maven/repository/</repository> > > > > <repository> > > > http://192.185.115.65/~diana/DIANA_plugin_updated/test-plugins/ > > > </repository> > > > > > > > > > > > > http://192.185.115.65/~diana/DIANA_plugin_updated should also be > > > > removed as it is one level too high (e.g. > > > > > > > > > > http://192.185.115.65/~diana/DIANA_plugin_updated/gr/dianatools/diana.services-activity-ui > > > > does not exist) - this adds lots of unnecessary requests. > > > > > > > > > > > > You should delete all of ~/.taverna-core-2.5.0/repository (or > > > > equivalent) to force re-download, and delete > > > > ~/.taverna-core-2.5.0/plugins to install the plugin from fresh. > > > > > > > > On 10 February 2016 at 09:16, Alan Williams < > [email protected]> > > > wrote: > > > >> > > > >> > > > >> > > > >> -------- Forwarded Message -------- > > > >> Subject: Re: Problem on Taverna Plugin Installation > > > >> Date: Tue, 09 Feb 2016 21:46:13 +0200 > > > >> From: PARASKEVOPOULOU MARIA <[email protected]> > > > >> To: alaninmcr <[email protected]> > > > >> > > > >> Hi Ian, > > > >> > > > >> For Taverna v2.5. in order to install the plugin, the following > plugin > > > >> site should be added : > > > >> http://192.185.115.65/~diana/DIANA_plugin_updated/test-plugins/. > You > > > >> can also see the relevant information on our site > > > >> > > > > > > http://diana.imis.athena-innovation.gr/DianaTools/index.php?r=site/help&topic=taverna > > > . > > > >> > > > >> Thank you in advance for your support. > > > >> > > > >> Best regards, > > > >> Maria > > > >> > > > >> Quoting alaninmcr <[email protected]>: > > > >> > > > >> > > > >>> -------- Forwarded Message -------- > > > >>> Subject: Re: Problem on Taverna Plugin Installation > > > >>> Date: Tue, 9 Feb 2016 13:57:08 +0000 > > > >>> From: Ian Dunlop <[email protected]> > > > >>> Reply-To: [email protected] > > > >>> To: [email protected] > > > >>> > > > >>> Hello, > > > >>> > > > >>> What does the plugins.xml say eg > > > >>> /home/johndoe/.taverna-core-2.5.0/plugins.xml. Maybe taverna can't > > find > > > >>> your server for some reason. > > > >>> > > > >>> Where is your plugin deployed ie the info you put in when adding a > > new > > > >>> plugin site? We could then try and install it and see if we get the > > > same > > > >>> result. > > > >>> > > > >>> Cheers, > > > >>> > > > >>> Ian > > > >>> > > > >>> On 08/02/2016 18:52, PARASKEVOPOULOU MARIA wrote: > > > >>>> > > > >>>> Dear Taverna team, > > > >>>> > > > >>>> We have implemented a Taverna plugin incorporating services and > > > >>>> algorithms implemented in the DIANA LAB (www.microrna.gr). > > > >>>> The plugin initially worked for Taverna 2.3, while several months > > ago > > > we > > > >>>> have updated the plugin and had it functional for both Taverna 2.3 > > and > > > >>>> 2.5 versions. > > > >>>> > > > >>>> However, the last month DIANA users complain that they cannot add > > the > > > >>>> DIANA Taverna plugin in their Taverna workbench. > > > >>>> > > > >>>> The installation has been performed several times in the past with > > > >>>> success. > > > >>>> We uninstalled the plugin from our server and also observed a > > failure > > > in > > > >>>> the reinstallation. > > > >>>> We redeployed the plugin but the error remains. > > > >>>> > > > >>>> The logs produced in Taverna, report a failure in fetching a Pom > > file. > > > >>>> > > > >>>> > > > >>>> "WARN 2015-07-22 19:34:34,036 > > > >>>> (net.sf.taverna.raven.repository.impl.LocalRepository:85) - Could > > not > > > >>>> read com.example:DIANA_Services-activity-ui:1.2-SNAPSHOT from > > > >>>> http://www.mygrid.org.uk/maven/biomoby/biomoby.org/m2repo/ > > > >>>> java.io.IOException: Server returned HTTP response code: 409 for > > URL: > > > >>>> > > > >>>> > > > > > > http://repository.mygrid.org.uk/artifactory/biomoby/com/example/DIANA_Services-activity-ui/1.2-SNAPSHOT/DIANA_Services-activity-ui-1.2-SNAPSHOT.pom > > > >>>> > > > >>>> " > > > >>>> We assume that this failure is due to the fact that Taverna is not > > > >>>> trying to install/download the DIANA plugin from our > server,defined > > in > > > >>>> the plugin's project pom.xml, but from > > > http://repository.mygrid.org.uk. > > > >>>> > > > >>>> Did something change concerning the format of the project pom.xml > > that > > > >>>> is utilized for the plugin deployment? > > > >>>> Will the error be fixed, if we change the pom.xml? For the the > > pom.xml > > > >>>> design we followed a similar format as in the following pom file > > > >>>> https://github.com/taverna/taverna-prov/blob/master/pom.xml. > > > >>>> > > > >>>> It would be grateful if we could have your feedback on how to > > > >>>> troubleshoot the issue. > > > >>>> > > > >>>> Thank you in advance, > > > >>>> > > > >>>> DIANA Team > > > >>>> > > > >>> > > > >>> -- > > > >>> Ian Dunlop, eScience Lab > > > >>> School of Computer Science > > > >>> The University of Manchester > > > >>> http://orcid.org/0000-0001-7066-3350 > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > > > > > > > > > > > > > > > > -- > > > Ian Dunlop, eScience Lab > > > School of Computer Science > > > The University of Manchester > > > http://orcid.org/0000-0001-7066-3350 > > > > > >
