[JBoss JIRA] (TEIID-2769) BLOB as virtual procedure parameter is getting closed
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-2769?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on TEIID-2769:
------------------------------------------------
Filip Elias <felias(a)redhat.com> changed the Status of [bug 1041341|https://bugzilla.redhat.com/show_bug.cgi?id=1041341] from VERIFIED to CLOSED
> BLOB as virtual procedure parameter is getting closed
> -----------------------------------------------------
>
> Key: TEIID-2769
> URL: https://issues.jboss.org/browse/TEIID-2769
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.4.1
> Reporter: Van Halbert
> Assignee: Steven Hawkins
> Fix For: 8.7
>
>
> Not sure what is the cause.
> I have two virtual procedures [1][2]. [2] has a XMLLiteral parameter. I call [2] inside [1]. However I get exception [3] because the response.result blob stream is apparently closed.
> [1] CREATE VIRTUAL PROCEDURE
> BEGIN
> SELECT t.* FROM (EXEC PeopleRestXmlSource.invokeHttp('GET', null, null, TRUE)) AS response, TABLE(EXEC PeopleRestXmlView.getPeople_response(XMLPARSE(DOCUMENT response.result))) AS t;
> END
> [2] CREATE VIRTUAL PROCEDURE
> BEGIN
> SELECT t.* FROM XMLTABLE('//return' PASSING PeopleJaxwsView.getPeopleByName_response.xml_in COLUMNS name string PATH 'text()') AS t;
> END
> [3]
> org.teiid.jdbc.TeiidSQLException: TEIID30328 Unable to evaluate XMLPARSE(DOCUMENT response.result): TEIID30331 java.sql.SQLException: Already Freed.
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135)
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71)
> at org.teiid.jdbc.StatementImpl.postReceiveResults(StatementImpl.java:668)
> at org.teiid.jdbc.StatementImpl.access$100(StatementImpl.java:63)
> at org.teiid.jdbc.StatementImpl$2.onCompletion(StatementImpl.java:516)
> at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:135)
> at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:40)
> at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:79)
> at org.teiid.net.socket.SocketServerInstanceImpl.receivedMessage(SocketServerInstanceImpl.java:242)
> at org.teiid.net.socket.SocketServerInstanceImpl.read(SocketServerInstanceImpl.java:278)
> 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:601)
> at org.teiid.net.socket.SocketServerConnectionFactory$ShutdownHandler.invoke(SocketServerConnectionFactory.java:102)
> at $Proxy1.read(Unknown Source)
> at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.get(SocketServerInstanceImpl.java:377)
> at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:525)
> at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:393)
> at org.teiid.jdbc.StatementImpl.executeQuery(StatementImpl.java:327)
> at JDBCClient.execute(JDBCClient.java:81)
> at JDBCClient.main(JDBCClient.java:48)
> Caused by: org.teiid.api.exception.query.ExpressionEvaluationException: TEIID30328 Unable to evaluate XMLPARSE(DOCUMENT response.result): TEIID30331 java.sql.SQLException: Already Freed.
> at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:608)
> at org.teiid.query.processor.proc.ProcedurePlan.evaluateExpression(ProcedurePlan.java:804)
> at org.teiid.query.processor.proc.ProcedurePlan.open(ProcedurePlan.java:211)
> at org.teiid.query.processor.relational.PlanExecutionNode.open(PlanExecutionNode.java:82)
> at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
> at org.teiid.query.processor.relational.JoinStrategy.openRight(JoinStrategy.java:105)
> at org.teiid.query.processor.relational.NestedTableJoinStrategy.process(NestedTableJoinStrategy.java:114)
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:211)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278)
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:149)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:149)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:112)
> at org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:69)
> at org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:70)
> at org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:84)
> at org.teiid.common.buffer.AbstractTupleSource.hasNext(AbstractTupleSource.java:92)
> at org.teiid.query.processor.proc.ProcedurePlan.executePlan(ProcedurePlan.java:563)
> at org.teiid.query.processor.proc.CreateCursorResultSetInstruction.process(CreateCursorResultSetInstruction.java:68)
> at org.teiid.query.processor.proc.ProcedurePlan.processProcedure(ProcedurePlan.java:356)
> at org.teiid.query.processor.proc.ProcedurePlan.nextBatchDirect(ProcedurePlan.java:283)
> at org.teiid.query.processor.proc.ProcedurePlan.nextBatch(ProcedurePlan.java:257)
> at org.teiid.query.processor.relational.PlanExecutionNode.nextBatchDirect(PlanExecutionNode.java:118)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278)
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:149)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:149)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:112)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:157)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:139)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:435)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:320)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:248)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:269)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:214)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
> Caused by: org.teiid.api.exception.query.ExpressionEvaluationException: TEIID30331 java.sql.SQLException: Already Freed.
> at org.teiid.query.eval.Evaluator.evaluateXMLParse(Evaluator.java:734)
> at org.teiid.query.eval.Evaluator.internalEvaluate(Evaluator.java:668)
> at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:606)
> ... 45 more
> Caused by: java.sql.SQLException: java.sql.SQLException: Already Freed.
> at org.teiid.core.types.BaseLob.getBinaryStream(BaseLob.java:105)
> at org.teiid.core.types.BaseLob.getCharacterStream(BaseLob.java:98)
> at org.teiid.query.eval.Evaluator.evaluateXMLParse(Evaluator.java:727)
> ... 47 more
> Caused by: java.io.IOException: java.sql.SQLException: Already Freed.
> at org.teiid.core.types.InputStreamFactory$BlobInputStreamFactory.getInputStream(InputStreamFactory.java:205)
> at org.teiid.core.types.BaseLob.getBinaryStream(BaseLob.java:103)
> ... 49 more
> Caused by: java.sql.SQLException: Already Freed.
> at org.teiid.translator.ws.BinaryWSProcedureExecution$StreamingBlob.getBinaryStream(BinaryWSProcedureExecution.java:72)
> at org.teiid.core.types.InputStreamFactory$BlobInputStreamFactory.getInputStream(InputStreamFactory.java:203)
> ... 50 more
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 10 months
[JBoss JIRA] (TEIID-3290) Auto generated REST WAR truncates the larger payloads
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-3290?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on TEIID-3290:
------------------------------------------------
Filip Elias <felias(a)redhat.com> changed the Status of [bug 1185024|https://bugzilla.redhat.com/show_bug.cgi?id=1185024] from VERIFIED to CLOSED
> Auto generated REST WAR truncates the larger payloads
> -----------------------------------------------------
>
> Key: TEIID-3290
> URL: https://issues.jboss.org/browse/TEIID-3290
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.4
> Reporter: Ramesh Reddy
> Assignee: Ramesh Reddy
> Priority: Blocker
> Labels: Beta2
> Fix For: 8.7.1, 8.10
>
>
> Currently only query parameters are supported as the input parameters to the Teiid procedure in POST based call.
> The POST BODY also needs to be supported to handle larger payloads in this situation as query parameters has size limitations. Currently string based query parameters are supported, but since they passed as is as strings on larger payloads the they will be subject 4000 string length restriction.
> It should be possible to read metadata of the procedure and convert the string objects to respective objects before the query gets executed.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 10 months
[JBoss JIRA] (TEIID-3141) Bad result of query with GROUB BY clause (underlying sybase15 datasource)
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-3141?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on TEIID-3141:
------------------------------------------------
Filip Elias <felias(a)redhat.com> changed the Status of [bug 1146501|https://bugzilla.redhat.com/show_bug.cgi?id=1146501] from VERIFIED to CLOSED
> Bad result of query with GROUB BY clause (underlying sybase15 datasource)
> -------------------------------------------------------------------------
>
> Key: TEIID-3141
> URL: https://issues.jboss.org/browse/TEIID-3141
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.7.1
> Environment: OS: fedora20
> arch: x86_64
> java: sun 1.7
> Reporter: Juraj Duráni
> Assignee: Steven Hawkins
>
> Description:
> There is sybase15 database with table named SmallA and table named SmallA in VDB which is mapped to sybase table (see tables definition below).
> I am trying to run query against VDB:
> SELECT
> INTKEY, STRINGKEY, INTNUM, STRINGNUM, FLOATNUM, LONGNUM, DOUBLENUM, BYTENUM, DATEVALUE, TIMEVALUE, TIMESTAMPVALUE, BOOLEANVALUE, CHARVALUE, SHORTVALUE, BIGINTEGERVALUE, BIGDECIMALVALUE
> FROM
> BQT1.SMALLA
> GROUP BY
> INTKEY, STRINGKEY, INTNUM, STRINGNUM, FLOATNUM, LONGNUM, DOUBLENUM, BYTENUM, DATEVALUE, TIMEVALUE, TIMESTAMPVALUE, BOOLEANVALUE, CHARVALUE, SHORTVALUE, BIGINTEGERVALUE, BIGDECIMALVALUE
> Result is table which misses some values (the other values are OK):
> FloatNum: always 0
> ByteNum: always 0
> DateValue: always 1900-01-01
> TimeValue: always 00:00:00
> BooleanValue: always 'false'
> CharValue: always empty character
> ShortValue: always 0
> BigIntegerValue: always 0
> BigDecimalValue: always 0
> After removing 'INTKEY' and 'STRINGKEY' from the query is result OK (sybase15 has indices only for these two columns).
> ///////////////////
> Table definition
> ///////////////////
> SmallA (sybase) has these columns (name:type):
> IntKey:int -> PRIMARY KEY, HAS INDEX
> StringKey:varchar -> HAS INDEX
> IntNum:int
> StringNum:varchar
> FloatNum:float
> LongNum:numeric
> DoubleNum:float
> ByteNum:real
> DateValue:datetime
> TimeValue:datetime
> TimestampValue:datetime
> BooleanValue:tinyint
> CharValue:char
> ShortValue:numeric
> BigIntegerValue:numeric
> BigDecimalValue:numeric
> ObjectValue:text
> SmallA (VDB) has these columns (name:type):
> IntKey:integer
> StringKey:string
> IntNum:integer
> StringNum:string
> FloatNum:float
> LongNum:long
> DoubleNum:double
> ByteNum:byte
> DateValue:date
> TimeValue:time
> TimestampValue:timestamp
> BooleanValue:boolean
> CharValue:char
> ShortValue:short
> BigIntegerValue:biginteger
> BigDecimalValue:bigdecimal
> ObjectValue:object
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 10 months
[JBoss JIRA] (TEIID-3215) External Materialization ON_VDB_START_SCRIPT invocation issues
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-3215?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on TEIID-3215:
------------------------------------------------
Filip Elias <felias(a)redhat.com> changed the Status of [bug 1163685|https://bugzilla.redhat.com/show_bug.cgi?id=1163685] from VERIFIED to CLOSED
> External Materialization ON_VDB_START_SCRIPT invocation issues
> --------------------------------------------------------------
>
> Key: TEIID-3215
> URL: https://issues.jboss.org/browse/TEIID-3215
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.7
> Reporter: Jan Stastny
> Assignee: Ramesh Reddy
> Labels: Final
> Fix For: 8.7.1, 8.9
>
> Attachments: mat-views-vdb.xml
>
>
> With materialized view I have set teiid_rel:ON_VDB_START_SCRIPT property for the external matview table. (Simple query to increment a column in table to count invocations.)
> Invocation of the script is dependent upon the way the vdb is deployed. The first case (A) doesn't invoke the script, the second (B) does.
> A - 1. Copy the vdbname-vdb.xml into deployments folder
> 2. Start the server
> B - 1. Start the server
> 2. Copy the vdbname-vdb.xml into deployments folder
> That means that after server stop (maintenance) the script is not invoked on start, which can cause problems when the script is used to initialize running environment (clear table, create temporary table,...)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 10 months
[JBoss JIRA] (TEIID-3547) Oracle and postgres translators - date/time format letters are not translated correctly if pattern ends with non-pattern/non-letter character
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-3547?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on TEIID-3547:
------------------------------------------------
Filip Elias <felias(a)redhat.com> changed the Status of [bug 1233212|https://bugzilla.redhat.com/show_bug.cgi?id=1233212] from VERIFIED to CLOSED
> Oracle and postgres translators - date/time format letters are not translated correctly if pattern ends with non-pattern/non-letter character
> ---------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: TEIID-3547
> URL: https://issues.jboss.org/browse/TEIID-3547
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.7.1.6_2
> Reporter: Juraj Duráni
> Assignee: Steven Hawkins
>
> Oracle translator seems to support translation of patterns from SimpleDateFormat to oracle's patterns [1], but not for all of them [2]. If Teiid is not able to translate format then it retrieves date/time/timestamp field and format it [2]. However, if pattern ends with non-pattern/non-letter character, pattern is translated only partially and passed to Oracle DB [3] - I have tried number, *, /, \, etc. Similar behavior with postgresql translator
> [1]
> *Query:* select formattimestamp(timestampvalue, 'y') from bqt1.smalla where intkey=1;
> *Source-specific command:* SELECT TO_CHAR(g_0."TIMESTAMPVALUE", 'YYYY') FROM "DV"."SMALLA" g_0 WHERE trunc(g_0."INTKEY") = 1
> [2]
> *Query:* select formattimestamp(timestampvalue, 'D') from bqt1.smalla where intkey=1;
> *Source-specific command:* SELECT g_0."TIMESTAMPVALUE" FROM "DV"."SMALLA" g_0 WHERE trunc(g_0."INTKEY") = 1
> [3]
> *Query:* select formattimestamp(timestampvalue, 'G-y-M-w-W-D-d-F-E-a-H-k-K-h-m-s') from bqt1.smalla where intkey=1;
> *Source-specific command:* SELECT g_0."TIMESTAMPVALUE" FROM "DV"."SMALLA" g_0 WHERE trunc(g_0."INTKEY") = 1
> *Query:* select formattimestamp(timestampvalue, 'G-y-M-w-W-D-d-F-E-a-H-k-K-h-m-s-') from bqt1.smalla where intkey=1;
> *Source-specific command:* SELECT TO_CHAR(g_0."TIMESTAMPVALUE", 'AD-YYYY-------Dy-AM-------') FROM "DV"."SMALLA" g_0 WHERE trunc(g_0."INTKEY") = 1
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 10 months
[JBoss JIRA] (TEIID-3959) dynamic VDB, Not loading UDF , Showing class Not Found .
by Durgadatta Sahu (JIRA)
[ https://issues.jboss.org/browse/TEIID-3959?page=com.atlassian.jira.plugin... ]
Durgadatta Sahu edited comment on TEIID-3959 at 2/10/16 12:52 AM:
------------------------------------------------------------------
Thank you Steven !!
I am not using teiid designer . only using dynamic vdb to create UDF.
As you specified I create a TESTUDF.vdb, zip file with following structure,
/META-INF
vdb.xml
/lib
testudf.jar
The content of vdb.xml is as follows, Here I have removed the module reference property,
<?xml version="1.0" encoding="utf-8"?>
<vdb name="DDS_TEST_VDB" version="1">
<model name="modelsource" type='VIRTUAL' >
<metadata type="DDL">
<![CDATA[
create virtual function getDouble(key Long) returns Double
options (
java_class 'com.my.app.Demo',
java_method 'getValue'
);
]]>
</metadata>
</model>
</vdb>
But now same error is coming ,
1:01:20,571 INFO [org.teiid.RUNTIME] (teiid-async-threads - 5) TEIID50030 VDB UDFVDB.1 model "modelsource" metadata loaded. End Time: 2/10/16 11:01 AM
11:01:20,581 ERROR [stderr] (teiid-async-threads - 5) Exception in thread "teiid-async-threads - 5" org.teiid.metadata.MetadataException: TEIID30387 Could not load UDF "doADD", since its invocation class "com.my.app.Demo" could not be found.
11:01:20,591 ERROR [stderr] (teiid-async-threads - 5) at org.teiid.query.function.FunctionTree.createFunctionDescriptor(FunctionTree.java:325
2- Is there any way to specify the module slot name in VDB property file, so that it will access corresponding version module ?
Thanks,
Durga
was (Author: durgadatta):
Thank you Steven !!
I am not using teiid designer . only using dynamic vdb to create UDF.
As you specified I create a TESTUDF.vdb, zip file with following structure,
/META-INF
vdb.xml
/lib
testudf.jar
The content of vdb.xml is as follows, Here I have removed the module reference property,
<?xml version="1.0" encoding="utf-8"?>
<vdb name="DDS_TEST_VDB" version="1">
<model name="modelsource" type='VIRTUAL' >
<metadata type="DDL">
<![CDATA[
create virtual function getDouble(key Long) returns Double
options (
java_class 'com.my.app.Demo',
java_method 'getValue'
);
]]>
</metadata>
</model>
</vdb>
But now same error is coming ,
1:01:20,571 INFO [org.teiid.RUNTIME] (teiid-async-threads - 5) TEIID50030 VDB UDFVDB.1 model "modelsource" metadata loaded. End Time: 2/10/16 11:01 AM
11:01:20,581 ERROR [stderr] (teiid-async-threads - 5) Exception in thread "teiid-async-threads - 5" org.teiid.metadata.MetadataException: TEIID30387 Could not load UDF "doADD", since its invocation class "com.my.app.Demo" could not be found.
11:01:20,591 ERROR [stderr] (teiid-async-threads - 5) at org.teiid.query.function.FunctionTree.createFunctionDescriptor(FunctionTree.java:325
Thanks,
Durga
> dynamic VDB, Not loading UDF , Showing class Not Found .
> -----------------------------------------------------------
>
> Key: TEIID-3959
> URL: https://issues.jboss.org/browse/TEIID-3959
> Project: Teiid
> Issue Type: Feature Request
> Affects Versions: 8.12.2
> Environment: Windows 7, 64 bit
> Reporter: Durgadatta Sahu
> Assignee: Steven Hawkins
>
> Hi I am new to TEIID , and trying to deploy UDF and corresponding JAR at run time .
> It is showing following exception:-
> 10:46:47,729 INFO [org.teiid.RUNTIME] (teiid-async-threads - 6) TEIID50030 VDB DDS_TEST_VDB.1 model "modelsource" metadata loaded. End Time: 2/6/16 10:46 AM
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) Exception in thread "teiid-async-threads - 6" org.teiid.metadata.MetadataException: TEIID30387 Could not load UDF "getDouble", since its invocation class "com.my.app.Demo" could not be found.
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.query.function.FunctionTree.createFunctionDescriptor(FunctionTree.java:325)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.query.function.FunctionTree.addFunction(FunctionTree.java:212)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.query.function.FunctionTree.<init>(FunctionTree.java:102)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.deployers.CompositeVDB.buildTransformationMetaData(CompositeVDB.java:93)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.deployers.CompositeVDB.metadataLoadFinished(CompositeVDB.java:286)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.deployers.VDBRepository.finishDeployment(VDBRepository.java:297)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.runtime.AbstractVDBDeployer.metadataLoaded(AbstractVDBDeployer.java:244)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.jboss.VDBService.access$1200(VDBService.java:81)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.jboss.VDBService$6.run(VDBService.java:416)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.jboss.VDBService$7.run(VDBService.java:446)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at java.lang.Thread.run(Thread.java:745)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.jboss.threads.JBossThread.run(JBossThread.java:122)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) Caused by: java.lang.ClassNotFoundException: com.my.app.Demo from [Module "deployment.udfa-vdb.xml:main" from Service Module Loader]
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at java.lang.Class.forName0(Native Method)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at java.lang.Class.forName(Class.java:340)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.query.function.UDFSource.getInvocationClass(UDFSource.java:43)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.query.function.FunctionTree.createFunctionDescriptor(FunctionTree.java:315)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) ... 13 more
> ===============================
> I have crated a dynamic VDB and define UDF details as follows
> <?xml version="1.0" encoding="utf-8"?>
> <vdb name="DDS_TEST_VDB" version="1">
> <model name="modelsource" type='VIRTUAL' >
> <property name ="lib" value ="com.my.app"></property>
> <metadata type="DDL">
> <![CDATA[
> create virtual function getDouble(key Long) returns Double
> options (
> java_class 'com.my.app.Demo',
> java_method 'getValue'
> );
> ]]>
> </metadata>
> </model>
> </vdb>
> And I have deployed my jar file and module.xml in following path,
> \teiid-8.12.2-server\teiid-8.12.2\modules\com\my\app\main\
> module.xml :
> <?xml version="1.0" encoding="UTF-8"?>
>
> <module xmlns="urn:jboss:module:1.1" name="com.my.app">
>
> <resources>
> <resource-root path="myapp.jar"/>
> <!-- Insert resources here -->
> </resources>
> <dependencies>
> </dependencies>
> </module>
> Thanks,
> Durga
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 10 months
[JBoss JIRA] (TEIID-3959) dynamic VDB, Not loading UDF , Showing class Not Found .
by Durgadatta Sahu (JIRA)
[ https://issues.jboss.org/browse/TEIID-3959?page=com.atlassian.jira.plugin... ]
Durgadatta Sahu commented on TEIID-3959:
----------------------------------------
Thank you Steven !!
I am not using teiid designer . only using dynamic vdb to create UDF.
As you specified I create a TESTUDF.vdb, zip file with following structure,
/META-INF
vdb.xml
/lib
testudf.jar
The content of vdb.xml is as follows, Here I have removed the module reference property,
<?xml version="1.0" encoding="utf-8"?>
<vdb name="DDS_TEST_VDB" version="1">
<model name="modelsource" type='VIRTUAL' >
<metadata type="DDL">
<![CDATA[
create virtual function getDouble(key Long) returns Double
options (
java_class 'com.my.app.Demo',
java_method 'getValue'
);
]]>
</metadata>
</model>
</vdb>
But now same error is coming ,
1:01:20,571 INFO [org.teiid.RUNTIME] (teiid-async-threads - 5) TEIID50030 VDB UDFVDB.1 model "modelsource" metadata loaded. End Time: 2/10/16 11:01 AM
11:01:20,581 ERROR [stderr] (teiid-async-threads - 5) Exception in thread "teiid-async-threads - 5" org.teiid.metadata.MetadataException: TEIID30387 Could not load UDF "doADD", since its invocation class "com.my.app.Demo" could not be found.
11:01:20,591 ERROR [stderr] (teiid-async-threads - 5) at org.teiid.query.function.FunctionTree.createFunctionDescriptor(FunctionTree.java:325
Thanks,
Durga
> dynamic VDB, Not loading UDF , Showing class Not Found .
> -----------------------------------------------------------
>
> Key: TEIID-3959
> URL: https://issues.jboss.org/browse/TEIID-3959
> Project: Teiid
> Issue Type: Feature Request
> Affects Versions: 8.12.2
> Environment: Windows 7, 64 bit
> Reporter: Durgadatta Sahu
> Assignee: Steven Hawkins
>
> Hi I am new to TEIID , and trying to deploy UDF and corresponding JAR at run time .
> It is showing following exception:-
> 10:46:47,729 INFO [org.teiid.RUNTIME] (teiid-async-threads - 6) TEIID50030 VDB DDS_TEST_VDB.1 model "modelsource" metadata loaded. End Time: 2/6/16 10:46 AM
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) Exception in thread "teiid-async-threads - 6" org.teiid.metadata.MetadataException: TEIID30387 Could not load UDF "getDouble", since its invocation class "com.my.app.Demo" could not be found.
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.query.function.FunctionTree.createFunctionDescriptor(FunctionTree.java:325)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.query.function.FunctionTree.addFunction(FunctionTree.java:212)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.query.function.FunctionTree.<init>(FunctionTree.java:102)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.deployers.CompositeVDB.buildTransformationMetaData(CompositeVDB.java:93)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.deployers.CompositeVDB.metadataLoadFinished(CompositeVDB.java:286)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.deployers.VDBRepository.finishDeployment(VDBRepository.java:297)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.runtime.AbstractVDBDeployer.metadataLoaded(AbstractVDBDeployer.java:244)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.jboss.VDBService.access$1200(VDBService.java:81)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.jboss.VDBService$6.run(VDBService.java:416)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.jboss.VDBService$7.run(VDBService.java:446)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at java.lang.Thread.run(Thread.java:745)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.jboss.threads.JBossThread.run(JBossThread.java:122)
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) Caused by: java.lang.ClassNotFoundException: com.my.app.Demo from [Module "deployment.udfa-vdb.xml:main" from Service Module Loader]
> 10:46:47,729 ERROR [stderr] (teiid-async-threads - 6) at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at java.lang.Class.forName0(Native Method)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at java.lang.Class.forName(Class.java:340)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.query.function.UDFSource.getInvocationClass(UDFSource.java:43)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) at org.teiid.query.function.FunctionTree.createFunctionDescriptor(FunctionTree.java:315)
> 10:46:47,739 ERROR [stderr] (teiid-async-threads - 6) ... 13 more
> ===============================
> I have crated a dynamic VDB and define UDF details as follows
> <?xml version="1.0" encoding="utf-8"?>
> <vdb name="DDS_TEST_VDB" version="1">
> <model name="modelsource" type='VIRTUAL' >
> <property name ="lib" value ="com.my.app"></property>
> <metadata type="DDL">
> <![CDATA[
> create virtual function getDouble(key Long) returns Double
> options (
> java_class 'com.my.app.Demo',
> java_method 'getValue'
> );
> ]]>
> </metadata>
> </model>
> </vdb>
> And I have deployed my jar file and module.xml in following path,
> \teiid-8.12.2-server\teiid-8.12.2\modules\com\my\app\main\
> module.xml :
> <?xml version="1.0" encoding="UTF-8"?>
>
> <module xmlns="urn:jboss:module:1.1" name="com.my.app">
>
> <resources>
> <resource-root path="myapp.jar"/>
> <!-- Insert resources here -->
> </resources>
> <dependencies>
> </dependencies>
> </module>
> Thanks,
> Durga
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 10 months