Results 1 to 9 of 9

Thread: Odd Error Deploying Bundles from EBR on dm Server 2

  1. #1

    Default Odd Error Deploying Bundles from EBR on dm Server 2

    I think I've narrowed this down to a test case but am not sure if it is a bug or just incompatible bundles.

    We've got a legacy application using struts 1.1. Bottom line here is that the struts 1.1 bundle (see EBR artifact names and versions below) requires several other bundles in play, which we have, but they don't seem to play well together.

    To reproduce simply, I can drop the following into the pickup folder of a CLEAN dm server 2 (I have tried M5, CI-453 and CI-458) in the order listed here:
    1. com.springsource.org.apache.commons.collections-3.2.1
    2. com.springsource.org.apache.commons.beanutils-1.8.0
    3. com.springsource.org.apache.commons.digester-1.8.1
    4. com.springsource.org.apache.struts-1.1.0


    The error that you get is very unhelpful, however:
    Code:
    [2009-11-11 17:24:12.389] fs-watcher                   <DE0018E> Unable to install application from location 'file:/R:/bin/springsource/springsource-dm-server-2.0.0.CI-453/pickup/com.springsource.org.apache.struts-1.1.0.jar'. Could not satisfy constraints for bundle 'com.springsource.org.apache.struts' at version '1.1.0'. Cannot resolve: com.springsource.org.apache.struts
        Unsatisfied leaf constraints:
    . 
    com.springsource.kernel.deployer.core.DeploymentException: Dependency satisfaction failed
    	at com.springsource.kernel.deployer.core.internal.PipelinedApplicationDeployer.performInstall(PipelinedApplicationDeployer.java:250)
    	at com.springsource.kernel.deployer.core.internal.PipelinedApplicationDeployer.deploy(PipelinedApplicationDeployer.java:167)
    	at com.springsource.kernel.deployer.hot.HotDeploymentFileSystemListener.deploy(HotDeploymentFileSystemListener.java:192)
    	at com.springsource.kernel.deployer.hot.HotDeploymentFileSystemListener.onChange(HotDeploymentFileSystemListener.java:89)
    	at com.springsource.util.io.FileSystemChecker.notifyListeners(FileSystemChecker.java:182)
    	at com.springsource.util.io.FileSystemChecker.check(FileSystemChecker.java:145)
    	at com.springsource.kernel.deployer.hot.WatchTask.run(WatchTask.java:69)
    	at java.lang.Thread.run(Thread.java:619)
    Caused by: com.springsource.kernel.osgi.framework.UnableToSatisfyBundleDependenciesException: Unable to satisfy dependencies of bundle 'com.springsource.org.apache.struts' at version '1.1.0': Cannot resolve: com.springsource.org.apache.struts
        Unsatisfied leaf constraints:
    
    	at com.springsource.kernel.install.pipeline.stage.resolve.internal.ResolveStage.diagnoseResolutionFailure(ResolveStage.java:105)
    	at com.springsource.kernel.install.pipeline.stage.resolve.internal.ResolveStage.process(ResolveStage.java:74)
    	at com.springsource.kernel.install.pipeline.internal.StandardPipeline.doProcessTree(StandardPipeline.java:71)
    	at com.springsource.kernel.install.pipeline.internal.CompensatingPipeline.doProcessTree(CompensatingPipeline.java:80)
    	at com.springsource.kernel.install.pipeline.stage.AbstractPipelineStage.process(AbstractPipelineStage.java:50)
    	at com.springsource.kernel.install.pipeline.internal.StandardPipeline.doProcessTree(StandardPipeline.java:71)
    	at com.springsource.kernel.install.pipeline.stage.AbstractPipelineStage.process(AbstractPipelineStage.java:50)
    	at com.springsource.kernel.deployer.core.internal.PipelinedApplicationDeployer.performInstall(PipelinedApplicationDeployer.java:247)
    	... 7 more
    [2009-11-11 17:24:12.389] fs-watcher                   <HD0002E> Hot deploy failed for resource 'R:\bin\springsource\springsource-dm-server-2.0.0.CI-453\pickup\com.springsource.org.apache.struts-1.1.0.jar'.
    What's more, from the console I see that the struts module is installed, but not started, obviously, so if I start it, I get:
    Code:
    Error occured while starting bundle '[62] com.springsource.org.apache.struts-1.1.0' : The bundle could not be resolved. Reason: Package uses conflict: Import-Package: org.apache.commons.digester; version="[1.8.0,2.0.0)"
    But digester is now active at 1.8.0 (here's a snippet from executing bundles in the console):
    Code:
    57  Active        com.springsource.server.splash-2.0.0.D-20091027131059
    58  Active        com.springsource.org.apache.commons.collections-3.2.1
    59  Active        com.springsource.org.apache.commons.beanutils-1.8.0
    60  Active        com.springsource.org.apache.commons.digester-1.8.1
    61  Active        com.springsource.slf4j.org.apache.commons.logging-1.5.6
    62  Installed     com.springsource.org.apache.struts-1.1.0
    The best I've been able to come up with is that digester has pulled in com.springsource.slf4j.org.apache.commons.logging-1.5.6 to satisfy the import for org.apache.commons.logging. However, once that is done, any subsequent request for that package resolves to two bundles:

    Code:
    Package:org.apache.commons.logging
    Importers:
    2   Resolved      org.springframework.aop-3.0.0.RC1
    5   Resolved      org.springframework.beans-3.0.0.RC1
    6   Resolved      org.springframework.core-3.0.0.RC1
    7   Resolved      org.springframework.context-3.0.0.RC1
    8   Resolved      org.springframework.osgi.core-1.2.1
    9   Resolved      org.springframework.osgi.extender-1.2.1
    10  Resolved      org.springframework.osgi.io-1.2.1
    33  Resolved      com.springsource.org.apache.commons.httpclient-3.1.0
    43  Resolved      org.springframework.oxm-3.0.0.RC1
    44  Resolved      org.springframework.web-3.0.0.RC1
    45  Resolved      com.springsource.server.admin.content-2.0.0.D-20091027131059
    46  Resolved      com.springsource.server.admin.web-2.0.0.D-20091027131059
    49  Resolved      org.springframework.context.support-3.0.0.RC1
    50  Resolved      org.springframework.jdbc-3.0.0.RC1
    51  Resolved      org.springframework.js-2.0.8.RELEASE
    52  Resolved      org.springframework.transaction-3.0.0.RC1
    53  Resolved      org.springframework.web.servlet-3.0.0.RC1
    59  Resolved      com.springsource.org.apache.commons.beanutils-1.8.0
    60  Resolved      com.springsource.org.apache.commons.digester-1.8.1
    62  Resolved      com.springsource.org.apache.struts-1.1.0
    Exporters:
    1   Resolved      com.springsource.region.user-0.0.0
    61  Resolved      com.springsource.slf4j.org.apache.commons.logging-1.5.6
    So my questions:
    1. Am I on the right track trying to figure this out?
    2. What is com.springsource.region.user-0.0.0 doing exporting this package?
    3. How can this be resolved? The two things exporting this package come from dm server's default install - I've provided neither of these.

  2. #2
    Join Date
    Oct 2008
    Location
    Winchester, UK
    Posts
    535

    Default

    This certainly looks like a bug. Please would you raise a JIRA defect and attach your testcase?

    Since the package in question is provided to the user region from the kernel, there should be no need for dm Server to automatically provision the bundle to the user region.
    Glyn Normington
    SpringSource

  3. #3

  4. #4

    Default

    This one's really become a showstopper for us. Any chance at getting this one fixed soon?
    J.C. Hamlin
    Principal Consultant
    Technology Partners LLC
    http://www.technology-partners.net

  5. #5
    Join Date
    Oct 2008
    Posts
    493

    Default

    Scott, I'll take a look at this today and see what I can do.
    Andy Wilkinson
    SpringSource

  6. #6
    Join Date
    Oct 2008
    Location
    Winchester, UK
    Posts
    535

    Default

    You can apply the fix to your current build by adding one line to a properties file. Please see the defect for details.
    Glyn Normington
    SpringSource

  7. #7

    Default

    Awesome, thanks!

  8. #8

    Default

    It works. Thank you very much!
    J.C. Hamlin
    Principal Consultant
    Technology Partners LLC
    http://www.technology-partners.net

  9. #9
    Join Date
    Oct 2008
    Posts
    493

    Default

    Excellent. Thanks for letting us know.
    Andy Wilkinson
    SpringSource

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •