taverna-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gale Naylor <Ga...@noventussolutions.com>
Subject Re: Problem on Taverna Plugin Installation
Date Thu, 11 Feb 2016 18:18:44 GMT
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 <stain@apache.org>
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" <ian.dunlop@manchester.ac.uk> 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 <alaninmcr@googlemail.com>
> > wrote:
> > >>
> > >>
> > >>
> > >> -------- Forwarded Message --------
> > >> Subject: Re: Problem on Taverna Plugin Installation
> > >> Date: Tue, 09 Feb 2016 21:46:13 +0200
> > >> From: PARASKEVOPOULOU MARIA <mparaskevopoulou@uth.gr>
> > >> To: alaninmcr <alaninmcr@googlemail.com>
> > >>
> > >> 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 <alaninmcr@googlemail.com>:
> > >>
> > >>
> > >>> -------- Forwarded Message --------
> > >>> Subject: Re: Problem on Taverna Plugin Installation
> > >>> Date: Tue, 9 Feb 2016 13:57:08 +0000
> > >>> From: Ian Dunlop <ian.dunlop@manchester.ac.uk>
> > >>> Reply-To: dev@taverna.incubator.apache.org
> > >>> To: dev@taverna.incubator.apache.org
> > >>>
> > >>> 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
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message