Aled Sage created BROOKLYN-496:
----------------------------------

             Summary: `brooklyn copy-state ... --transformations ...` fails for 
brooklyn-karaf persisted state
                 Key: BROOKLYN-496
                 URL: https://issues.apache.org/jira/browse/BROOKLYN-496
             Project: Brooklyn
          Issue Type: Bug
            Reporter: Aled Sage


With Brooklyn 0.11.0-rc2...

When using the {{./bin/brooklyn copy-state ... --transformations ...}} with 
persisted state created using Brooklyn karaf, it fails with an error like that 
below when trying to apply an xslt transformation:

{noformat}
2017-05-02 21:58:48,327 ERROR o.a.brooklyn.cli.AbstractMain [main]: Startup 
error: Error copying persisted state: TransformerException: 
javax.xml.transform.TransformerException: 
com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The prefix 
"org.apache.brooklyn.core" for element 
"org.apache.brooklyn.core:org.apache.brooklyn.core.mgmt.BrooklynTags_-NamedStringTag"
 is not bound.
javax.xml.transform.TransformerException: 
javax.xml.transform.TransformerException: 
com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The prefix 
"org.apache.brooklyn.core" for element 
"org.apache.brooklyn.core:org.apache.brooklyn.core.mgmt.BrooklynTags_-NamedStringTag"
 is not bound.
        at 
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:749)
 ~[na:1.8.0_121]
        at 
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:351)
 ~[na:1.8.0_121]
        at 
org.apache.brooklyn.core.mgmt.rebind.transformer.impl.XsltTransformer.transform(XsltTransformer.java:56)
 ~[org.apache.brooklyn-brooklyn-core-0.11.0.jar:0.11.0]
        at 
org.apache.brooklyn.core.mgmt.rebind.transformer.CompoundTransformer.transform(CompoundTransformer.java:319)
 ~[org.apache.brooklyn-brooklyn-core-0.11.0.jar:0.11.0]
        at 
org.apache.brooklyn.launcher.common.BasicLauncher.copyPersistedState(BasicLauncher.java:370)
 ~[org.apache.brooklyn-brooklyn-launcher-common-0.11.0.jar:0.11.0]
        at org.apache.brooklyn.cli.Main$CopyStateCommand.call(Main.java:960) 
~[org.apache.brooklyn-brooklyn-cli-0.11.0.jar:0.11.0]
        at org.apache.brooklyn.cli.Main$CopyStateCommand.call(Main.java:903) 
~[org.apache.brooklyn-brooklyn-cli-0.11.0.jar:0.11.0]
        at org.apache.brooklyn.cli.AbstractMain.execCli(AbstractMain.java:253) 
[org.apache.brooklyn-brooklyn-cli-0.11.0.jar:0.11.0]
        at org.apache.brooklyn.cli.AbstractMain.execCli(AbstractMain.java:245) 
[org.apache.brooklyn-brooklyn-cli-0.11.0.jar:0.11.0]
        at org.apache.brooklyn.cli.Main.main(Main.java:124) 
[org.apache.brooklyn-brooklyn-cli-0.11.0.jar:0.11.0]
Caused by: javax.xml.transform.TransformerException: 
com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The prefix 
"org.apache.brooklyn.core" for element 
"org.apache.brooklyn.core:org.apache.brooklyn.core.mgmt.BrooklynTags_-NamedStringTag"
 is not bound.
        at 
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:578)
 ~[na:1.8.0_121]
        at 
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:739)
 ~[na:1.8.0_121]
        ... 9 common frames omitted
Caused by: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The 
prefix "org.apache.brooklyn.core" for element 
"org.apache.brooklyn.core:org.apache.brooklyn.core.mgmt.BrooklynTags_-NamedStringTag"
 is not bound.
        at 
com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:427)
 ~[na:1.8.0_121]
        at 
com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:215)
 ~[na:1.8.0_121]
        at 
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:556)
 ~[na:1.8.0_121]
        ... 10 common frames omitted
{noformat}

An example of the persisted state file contents that causes this is shown below:

{noformat}
<entity>
  <brooklynVersion>0.11.0-20170419.1456</brooklynVersion>
  
<type>org.apache.brooklyn.core:org.apache.brooklyn.entity.stock.BasicApplicationImpl</type>
  <id>i0ottr08uf</id>
  <displayName>Application (i0ottr08uf)</displayName>
  <tags>
    
<org.apache.brooklyn.core:org.apache.brooklyn.core.mgmt.BrooklynTags_-NamedStringTag>
      <kind>yaml_spec</kind>
      ...
{noformat}

In the persisted state format, we (via xstream) have used the 
bundleSymbolicName:classname as the xml tag. It is interpreting the 
bundleSymbolicName as the namespace, and complaining that is not bound.




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to