Hi,
i tried to run a workflow with two identical nested workflows (imported
from the same file) with the taverna command line tool. When running it
with "-provenance" as:
executeworkflow.sh -provenance -embedded 2_Nested_Workflows.t2flow
or
executeworkflow.sh -provenance -clientserver -startdb
2_Nested_Workflows.t2flow
i get the following error message:
Started Derby Server on Port: 1527
Outputs will be saved to the directory:
/home/markus/Dropbox/Projekte/RAWverna/Workflow/Evaluation/test/Workflow14_output_5
ERROR 2012-01-11 15:31:25,177
(net.sf.taverna.t2.provenance.lineageservice.EventProcessor:515) -
Problem processing provenance for dataflow
java.sql.SQLIntegrityConstraintViolationException: The statement was
aborted because it would have caused a duplicate key value in a unique
or primary key constraint or unique index identified by
'SQL120111150128280' defined on 'WORKFLOWRUN'.
at
org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown
Source)
at org.apache.derby.client.am.SqlException.getSQLException(Unknown
Source)
at
org.apache.derby.client.am.PreparedStatement.executeUpdate(Unknown Source)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
at
net.sf.taverna.t2.provenance.lineageservice.ProvenanceWriter.addWorkflowRun(ProvenanceWriter.java:274)
at
net.sf.taverna.t2.provenance.lineageservice.EventProcessor.processDataflowStructure(EventProcessor.java:302)
at
net.sf.taverna.t2.provenance.lineageservice.EventProcessor.processDataflowStructure(EventProcessor.java:394)
at
net.sf.taverna.t2.provenance.lineageservice.EventProcessor.processWorkflowStructure(EventProcessor.java:221)
at
net.sf.taverna.t2.provenance.lineageservice.EventProcessor.processWorkflowStructure(EventProcessor.java:184)
at
net.sf.taverna.t2.provenance.lineageservice.Provenance.processEvent(Provenance.java:187)
at
net.sf.taverna.t2.provenance.lineageservice.Provenance.acceptRawProvenanceEvent(Provenance.java:141)
at
net.sf.taverna.t2.provenance.connector.ProvenanceConnector.addProvenanceItem(ProvenanceConnector.java:359)
at
net.sf.taverna.t2.facade.impl.WorkflowInstanceFacadeImpl.fire(WorkflowInstanceFacadeImpl.java:239)
at
net.sf.taverna.t2.commandline.CommandLineLauncher.executeWorkflow(CommandLineLauncher.java:293)
at
net.sf.taverna.t2.commandline.CommandLineLauncher.setupAndExecute(CommandLineLauncher.java:256)
at
net.sf.taverna.t2.commandline.CommandLineLauncher.launch(CommandLineLauncher.java:111)
at net.sf.taverna.raven.launcher.Launcher.launchMain(Launcher.java:150)
at net.sf.taverna.raven.launcher.Launcher.main(Launcher.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
net.sf.taverna.raven.prelauncher.PreLauncher.runLauncher(PreLauncher.java:115)
at
net.sf.taverna.raven.prelauncher.PreLauncher.launchArgs(PreLauncher.java:69)
at
net.sf.taverna.raven.prelauncher.PreLauncher.main(PreLauncher.java:47)
Caused by: org.apache.derby.client.am.SqlException: The statement was
aborted because it would have caused a duplicate key value in a unique
or primary key constraint or unique index identified by
'SQL120111150128280' defined on 'WORKFLOWRUN'.
at org.apache.derby.client.am.Statement.completeExecute(Unknown Source)
at
org.apache.derby.client.net.NetStatementReply.parseEXCSQLSTTreply(Unknown
Source)
at org.apache.derby.client.net.NetStatementReply.readExecute(Unknown
Source)
at org.apache.derby.client.net.StatementReply.readExecute(Unknown
Source)
at
org.apache.derby.client.net.NetPreparedStatement.readExecute_(Unknown
Source)
at org.apache.derby.client.am.PreparedStatement.readExecute(Unknown
Source)
at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown
Source)
at
org.apache.derby.client.am.PreparedStatement.executeUpdateX(Unknown Source)
... 24 more
The problem dissappears when i modify one of the embedded workflows. Am
I missing something here or is this a bug when Taverna tries to add both
nested workflows with the same ID to the DB?
Attached is a simple workflow used for testing.
Regards,
Markus
<workflow xmlns="http://taverna.sf.net/2008/xml/t2flow" version="1"
producedBy="taverna-2.3.0"><dataflow id="e4c5e31f-963e-401e-a731-c71aa8cd683f"
role="top"><name>Workflow14</name><inputPorts
/><outputPorts><port><name>out1</name><annotations
/></port><port><name>out2</name><annotations
/></port></outputPorts><processors><processor><name>Nested_workflow</name><inputPorts
/><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations
/><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap
/><outputMap><map from="value" to="value" /></outputMap><configBean
encoding="dataflow"><dataflow ref="9b3387ea-13aa-4f97-bc5c-b309025ccd0f"
/></configBean><annotations
/></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig
xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy
/></iteration></iterationStrategyStack></processor><processor><name>Nested_workflow_2</name><inputPorts
/><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations
/><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap
/><outputMap><map from="value" to="value" /></outputMap><configBean
encoding="dataflow"><dataflow ref="9b3387ea-13aa-4f97-bc5c-b309025ccd0f"
/></configBean><annotations
/></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig
xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy
/></iteration></iterationStrategyStack></processor></processors><conditions
/><datalinks><datalink><sink type="dataflow"><port>out1</port></sink><source
type="processor"><processor>Nested_workflow</processor><port>value</port></source></datalink><datalink><sink
type="dataflow"><port>out2</port></sink><source
type="processor"><processor>Nested_workflow_2</processor><port>value</port></source></datalink></datalinks><annotations><annotation_chain_2_2
encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean
class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">
<identification>e4c5e31f-963e-401e-a731-c71aa8cd683f</identification>
</annotationBean>
<date>2012-01-11 15:22:12.418 CET</date>
<creators />
<curationEventList />
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow
id="9b3387ea-13aa-4f97-bc5c-b309025ccd0f"
role="nested"><name>Workflow13</name><inputPorts
/><outputPorts><port><name>value</name><annotations
/></port></outputPorts><processors><processor><name>String_constant</name><inputPorts
/><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations
/><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap
/><outputMap><map from="value" to="value" /></outputMap><configBean
encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean
xmlns="">
<value>Value</value>
</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations
/></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig
xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy
/></iteration></iterationStrategyStack></processor></processors><conditions
/><datalinks><datalink><sink type="dataflow"><port>value</port></sink><source
type="processor"><processor>String_constant</processor><port>value</port></source></datalink></datalinks><annotations><annotation_chain_2_2
encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean
class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">
<identification>9b3387ea-13aa-4f97-bc5c-b309025ccd0f</identification>
</annotationBean>
<date>2012-01-11 15:21:30.482 CET</date>
<creators />
<curationEventList />
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow></workflow>------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
taverna-users mailing list
[email protected]
[email protected]
Web site: http://www.taverna.org.uk
Mailing lists: http://www.taverna.org.uk/about/contact-us/