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:20:22 GMT
FYI - I opened a JIRA issue (TAVERNA-893) to address this issue in Taverna
3.

On Thu, Feb 11, 2016 at 10:18 AM Gale Naylor <GaleN@noventussolutions.com>
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 <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