]
Matej Kralik commented on TEIIDDES-3117:
----------------------------------------
In my point of view, add a combo box to options tab in the 'Save as VDB XML file'
wizard will be useful for users.
Users will choose whether they have already defined a module (and the designer will
generate property as now) or they have only deployed jar file (and the designer will
generate property differently).
F.e. combo list:
1. A module is already defined on the server (lib):
Designer add this property to dynamicVDB: <property name="lib"
value="MyTestUdf-1.0-SNAPSHOT"/>
2. Jar is only deployed
Designer add this property to dynamicVDB: <property name="lib"
value="deployment.MyTestUdf-1.0-SNAPSHOT.jar"/>
Dynamic VDB is not generated properly for UDF function
------------------------------------------------------
Key: TEIIDDES-3117
URL:
https://issues.jboss.org/browse/TEIIDDES-3117
Project: Teiid Designer
Issue Type: Bug
Affects Versions: 11.1
Environment: Fedora 26
Reporter: Matej Kralik
Assignee: Barry LaFond
Priority: Critical
Fix For: 11.1.1
I have a project with UDF function. I mark jar as deployable and it is on the server.
Static VDB works fine, but when I generate dynamic VDB and want it to deploy on the
server, the server shows me an error:
{code:java}
15:50:26,282 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001:
Failed to start service jboss.deployment.unit."myUdfVdb-vdb.xml".DEPENDENCIES:
org.jboss.msc.service.StartException in service
jboss.deployment.unit."myUdfVdb-vdb.xml".DEPENDENCIES: JBAS018733: Failed to
process phase DEPENDENCIES of deployment "myUdfVdb-vdb.xml"
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:184)
[jboss-as-server-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1]
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2064)
[jboss-msc-1.1.7.SP1-redhat-1.jar:1.1.7.SP1-redhat-1]
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1987)
[jboss-msc-1.1.7.SP1-redhat-1.jar:1.1.7.SP1-redhat-1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[rt.jar:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[rt.jar:1.8.0_121]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_121]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: TEIID50088
Failed to load module MyTestUdf-1.0-SNAPSHOT for UDF in VDB
myUdfVdb.1:org.jboss.modules.ModuleNotFoundException: MyTestUdf-1.0-SNAPSHOT:main
at org.teiid.jboss.VDBDependencyDeployer.deploy(VDBDependencyDeployer.java:85)
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:177)
[jboss-as-server-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1]
... 5 more
{code}
According to EAP
[
documentation|https://access.redhat.com/documentation/en-US/JBoss_Enterpr...],
a module is automatically created after jar file is deployed. Name of the module is
*deployment.<runtime jar name>* however designer generated lib properties *only*
with <jarFileName>.
The name is wrong too because when designer deploying jar file, the runtime name is set
with suffix (.jar f.e. runtime-name: "MyTestUdf-1.0-SNAPSHOT.jar")
*Actual property*
{code:java}
<property name="lib" value="MyTestUdf-1.0-SNAPSHOT"/>
{code}
*Valid property*
{code:java}
<property name="lib"
value="deployment.MyTestUdf-1.0-SNAPSHOT.jar"/>
{code}