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)