[JBoss JIRA] (TEIID-4294) External Materialization MATVIEW_AFTER_LOAD_SCRIPT may not be an atomic operation
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4294?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4294:
----------------------------------
Fix Version/s: 9.2
Summary: External Materialization MATVIEW_AFTER_LOAD_SCRIPT may not be an atomic operation (was: External Materialization MATVIEW_AFTER_LOAD_SCRIPT is not atomic operation)
Priority: Major (was: Blocker)
> External Materialization MATVIEW_AFTER_LOAD_SCRIPT may not be an atomic operation
> ---------------------------------------------------------------------------------
>
> Key: TEIID-4294
> URL: https://issues.jboss.org/browse/TEIID-4294
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.12.5
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Fix For: 9.2
>
> Attachments: dv-2016-06-23-mat-view.log, teiid-command.log
>
>
> Firstly, this issue appears even after *TEIID-4283* fix, and is db independent.
> When during materialized view's loading there is a query on the view performed, timing issues appear. In MATVIEW_AFTER_LOAD_SCRIPT there might be more commands separated by semicolon, but these commands are not performed as a single operation. In specific timing a query on such view might fail when you have a MATVIEW_AFTER_LOAD_SCRIPT like this:
> {code:sql}
> "teiid_rel:MATVIEW_AFTER_LOAD_SCRIPT" 'exec Source.native(''RENAME TABLE dv_matviews_mat_view_stage TO dv_matviews_mat_view_temp'');exec Source.native(''RENAME TABLE dv_matviews_mat_view TO dv_matviews_mat_view_stage'');exec Source.native(''RENAME TABLE dv_matviews_mat_view_temp TO dv_matviews_mat_view'');
> {code}
> user might end up querying the view right in the moment, when 'primary' materialized table (dv_matviews_mat_view) was renamed (dv_matviews_mat_view_stage) and thus there's no such table like defined in the materialized view.
> {code:xml}
> CREATE VIEW external_long_ttl (
> customer_id integer NOT NULL,
> total_amount integer
> ) OPTIONS (MATERIALIZED 'TRUE', UPDATABLE 'FALSE',
> MATERIALIZED_TABLE 'Source.JSTASTNY.dv_matviews_mat_view',
> "teiid_rel:ALLOW_MATVIEW_MANAGEMENT" 'true',
> "teiid_rel:MATVIEW_STATUS_TABLE" 'Source.JSTASTNY.dv_matviews_statustable',
> "teiid_rel:ON_VDB_START_SCRIPT" 'MERGE INTO dv_matviews_check_table(id,vdb_create) SELECT id, vdb_create+1 FROM dv_matviews_check_table WHERE id=''external_long_ttl'';',
> "teiid_rel:ON_VDB_DROP_SCRIPT" 'MERGE INTO dv_matviews_check_table(id,vdb_drop) SELECT id, vdb_drop+1 FROM dv_matviews_check_table WHERE id=''external_long_ttl'';',
> "teiid_rel:MATVIEW_LOAD_SCRIPT" 'INSERT INTO dv_matviews_mat_view_stage(customer_id,total_amount) SELECT CONVERT(c.id,integer) AS customer_id, CONVERT(SUM(o.amount),integer) AS total_amount FROM dv_matviews_customers c INNER JOIN dv_matviews_orders o ON c.id = o.customer_id GROUP BY c.id;',
> "teiid_rel:MATVIEW_BEFORE_LOAD_SCRIPT" 'exec Source.native(''truncate table dv_matviews_mat_view_stage'');MERGE INTO dv_matviews_check_table(id,before_load) SELECT id, before_load+1 FROM dv_matviews_check_table WHERE id=''external_long_ttl'';',
> "teiid_rel:MATVIEW_AFTER_LOAD_SCRIPT" 'exec Source.native(''RENAME TABLE dv_matviews_mat_view_stage TO dv_matviews_mat_view_temp'');exec Source.native(''RENAME TABLE dv_matviews_mat_view TO dv_matviews_mat_view_stage'');exec Source.native(''RENAME TABLE dv_matviews_mat_view_temp TO dv_matviews_mat_view'');MERGE INTO dv_matviews_check_table(id,after_load) SELECT id, after_load+1 FROM dv_matviews_check_table WHERE id=''external_long_ttl'';',
> "teiid_rel:MATVIEW_ONERROR_ACTION" 'IGNORE',
> "teiid_rel:MATVIEW_TTL" 20000)
> AS SELECT CONVERT(c.id,integer) AS customer_id, CONVERT(SUM(o.amount),integer) AS total_amount FROM dv_matviews_customers c INNER JOIN dv_matviews_orders o ON c.id = o.customer_id GROUP BY c.id;
> {code}
> Then for some queries I get:
> {code:plain}
> 10:40:19,252 WARN [org.teiid.CONNECTOR] (Worker2_QueryProcessorQueue130) Connector worker process failed for atomic-request=+k/MyS3sUhQX.14.7.113: org.teiid.translator.jdbc.JDBCExecutionException: 259 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0."CUSTOMER_ID", g_0."TOTAL_AMOUNT" FROM "JSTASTNY".dvqe_X_XjdkY_YDV_MATVIEWS_MAT_VIEW AS g_0]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131) [translator-jdbc-8.12.5.redhat-5.jar:8.12.5.redhat-5]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:364)
> at sun.reflect.GeneratedMethodAccessor158.invoke(Unknown Source) [:1.7.0_79]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_79]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_79]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy80.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_79]
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_79]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_79]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_79]
> Caused by: com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [259]: invalid table name: Could not find table/view DVQE_X_XJDKY_YDV_MATVIEWS_MAT_VIEW in schema JSTASTNY: line 1 col 62 (at pos 61)
> at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.createException(SQLExceptionSapDB.java:345)
> at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.generateDatabaseException(SQLExceptionSapDB.java:185)
> at com.sap.db.jdbc.packet.ReplyPacket.buildExceptionChain(ReplyPacket.java:100)
> at com.sap.db.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:1130)
> at com.sap.db.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:877)
> at com.sap.db.jdbc.CallableStatementSapDB.execute(CallableStatementSapDB.java:410)
> at com.sap.db.jdbc.CallableStatementSapDB.execute(CallableStatementSapDB.java:266)
> at com.sap.db.jdbc.CallableStatementSapDB.executeQuery(CallableStatementSapDB.java:756)
> at com.sap.db.jdbc.trace.PreparedStatement.executeQuery(PreparedStatement.java:161)
> at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:462)
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:123) [translator-jdbc-8.12.5.redhat-5.jar:8.12.5.redhat-5]
> ... 17 more
> {code}
> From the logs it seems that the after load script has completed, but probably not in the source db. In logs just before the exception I see:
> {code:plain}
> 12:34:59,247 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue79) Source-specific command: RENAME TABLE dv_matviews_mat_view_temp TO dv_matviews_mat_view
> 12:34:59,663 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue79) ORTEkGreciAL.0.85.84 Executed command
> 12:34:59,663 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue79) ORTEkGreciAL.0.85.84 Processing MORE request
> 12:34:59,663 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue79) ORTEkGreciAL.0.85.84 Getting results from connector
> 12:34:59,663 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue79) ORTEkGreciAL.0.85.84 Obtained last batch, total row count: 1
> 12:34:59,663 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue79) ORTEkGreciAL.0.85.84 Remove State
> 12:34:59,664 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue79) ORTEkGreciAL.0.85.84 Processing Close : EXEC Source.native('RENAME TABLE dv_matviews_mat_view_temp TO dv_matviews_mat_view')
> {code}
> I attached the logs to this issue.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 2 months
[JBoss JIRA] (TEIID-4294) External Materialization MATVIEW_AFTER_LOAD_SCRIPT is not atomic operation
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4294?page=com.atlassian.jira.plugin... ]
Steven Hawkins reopened TEIID-4294:
-----------------------------------
Reopening to work on the options listed in the last comment.
> External Materialization MATVIEW_AFTER_LOAD_SCRIPT is not atomic operation
> --------------------------------------------------------------------------
>
> Key: TEIID-4294
> URL: https://issues.jboss.org/browse/TEIID-4294
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.12.5
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Priority: Blocker
> Attachments: dv-2016-06-23-mat-view.log, teiid-command.log
>
>
> Firstly, this issue appears even after *TEIID-4283* fix, and is db independent.
> When during materialized view's loading there is a query on the view performed, timing issues appear. In MATVIEW_AFTER_LOAD_SCRIPT there might be more commands separated by semicolon, but these commands are not performed as a single operation. In specific timing a query on such view might fail when you have a MATVIEW_AFTER_LOAD_SCRIPT like this:
> {code:sql}
> "teiid_rel:MATVIEW_AFTER_LOAD_SCRIPT" 'exec Source.native(''RENAME TABLE dv_matviews_mat_view_stage TO dv_matviews_mat_view_temp'');exec Source.native(''RENAME TABLE dv_matviews_mat_view TO dv_matviews_mat_view_stage'');exec Source.native(''RENAME TABLE dv_matviews_mat_view_temp TO dv_matviews_mat_view'');
> {code}
> user might end up querying the view right in the moment, when 'primary' materialized table (dv_matviews_mat_view) was renamed (dv_matviews_mat_view_stage) and thus there's no such table like defined in the materialized view.
> {code:xml}
> CREATE VIEW external_long_ttl (
> customer_id integer NOT NULL,
> total_amount integer
> ) OPTIONS (MATERIALIZED 'TRUE', UPDATABLE 'FALSE',
> MATERIALIZED_TABLE 'Source.JSTASTNY.dv_matviews_mat_view',
> "teiid_rel:ALLOW_MATVIEW_MANAGEMENT" 'true',
> "teiid_rel:MATVIEW_STATUS_TABLE" 'Source.JSTASTNY.dv_matviews_statustable',
> "teiid_rel:ON_VDB_START_SCRIPT" 'MERGE INTO dv_matviews_check_table(id,vdb_create) SELECT id, vdb_create+1 FROM dv_matviews_check_table WHERE id=''external_long_ttl'';',
> "teiid_rel:ON_VDB_DROP_SCRIPT" 'MERGE INTO dv_matviews_check_table(id,vdb_drop) SELECT id, vdb_drop+1 FROM dv_matviews_check_table WHERE id=''external_long_ttl'';',
> "teiid_rel:MATVIEW_LOAD_SCRIPT" 'INSERT INTO dv_matviews_mat_view_stage(customer_id,total_amount) SELECT CONVERT(c.id,integer) AS customer_id, CONVERT(SUM(o.amount),integer) AS total_amount FROM dv_matviews_customers c INNER JOIN dv_matviews_orders o ON c.id = o.customer_id GROUP BY c.id;',
> "teiid_rel:MATVIEW_BEFORE_LOAD_SCRIPT" 'exec Source.native(''truncate table dv_matviews_mat_view_stage'');MERGE INTO dv_matviews_check_table(id,before_load) SELECT id, before_load+1 FROM dv_matviews_check_table WHERE id=''external_long_ttl'';',
> "teiid_rel:MATVIEW_AFTER_LOAD_SCRIPT" 'exec Source.native(''RENAME TABLE dv_matviews_mat_view_stage TO dv_matviews_mat_view_temp'');exec Source.native(''RENAME TABLE dv_matviews_mat_view TO dv_matviews_mat_view_stage'');exec Source.native(''RENAME TABLE dv_matviews_mat_view_temp TO dv_matviews_mat_view'');MERGE INTO dv_matviews_check_table(id,after_load) SELECT id, after_load+1 FROM dv_matviews_check_table WHERE id=''external_long_ttl'';',
> "teiid_rel:MATVIEW_ONERROR_ACTION" 'IGNORE',
> "teiid_rel:MATVIEW_TTL" 20000)
> AS SELECT CONVERT(c.id,integer) AS customer_id, CONVERT(SUM(o.amount),integer) AS total_amount FROM dv_matviews_customers c INNER JOIN dv_matviews_orders o ON c.id = o.customer_id GROUP BY c.id;
> {code}
> Then for some queries I get:
> {code:plain}
> 10:40:19,252 WARN [org.teiid.CONNECTOR] (Worker2_QueryProcessorQueue130) Connector worker process failed for atomic-request=+k/MyS3sUhQX.14.7.113: org.teiid.translator.jdbc.JDBCExecutionException: 259 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0."CUSTOMER_ID", g_0."TOTAL_AMOUNT" FROM "JSTASTNY".dvqe_X_XjdkY_YDV_MATVIEWS_MAT_VIEW AS g_0]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131) [translator-jdbc-8.12.5.redhat-5.jar:8.12.5.redhat-5]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:364)
> at sun.reflect.GeneratedMethodAccessor158.invoke(Unknown Source) [:1.7.0_79]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_79]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_79]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy80.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_79]
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_79]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_79]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_79]
> Caused by: com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [259]: invalid table name: Could not find table/view DVQE_X_XJDKY_YDV_MATVIEWS_MAT_VIEW in schema JSTASTNY: line 1 col 62 (at pos 61)
> at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.createException(SQLExceptionSapDB.java:345)
> at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.generateDatabaseException(SQLExceptionSapDB.java:185)
> at com.sap.db.jdbc.packet.ReplyPacket.buildExceptionChain(ReplyPacket.java:100)
> at com.sap.db.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:1130)
> at com.sap.db.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:877)
> at com.sap.db.jdbc.CallableStatementSapDB.execute(CallableStatementSapDB.java:410)
> at com.sap.db.jdbc.CallableStatementSapDB.execute(CallableStatementSapDB.java:266)
> at com.sap.db.jdbc.CallableStatementSapDB.executeQuery(CallableStatementSapDB.java:756)
> at com.sap.db.jdbc.trace.PreparedStatement.executeQuery(PreparedStatement.java:161)
> at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:462)
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:123) [translator-jdbc-8.12.5.redhat-5.jar:8.12.5.redhat-5]
> ... 17 more
> {code}
> From the logs it seems that the after load script has completed, but probably not in the source db. In logs just before the exception I see:
> {code:plain}
> 12:34:59,247 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue79) Source-specific command: RENAME TABLE dv_matviews_mat_view_temp TO dv_matviews_mat_view
> 12:34:59,663 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue79) ORTEkGreciAL.0.85.84 Executed command
> 12:34:59,663 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue79) ORTEkGreciAL.0.85.84 Processing MORE request
> 12:34:59,663 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue79) ORTEkGreciAL.0.85.84 Getting results from connector
> 12:34:59,663 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue79) ORTEkGreciAL.0.85.84 Obtained last batch, total row count: 1
> 12:34:59,663 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue79) ORTEkGreciAL.0.85.84 Remove State
> 12:34:59,664 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue79) ORTEkGreciAL.0.85.84 Processing Close : EXEC Source.native('RENAME TABLE dv_matviews_mat_view_temp TO dv_matviews_mat_view')
> {code}
> I attached the logs to this issue.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 2 months
[JBoss JIRA] (TEIID-4423) UPDATE command with non-pushdown functions leads to TEIID30253 error
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4423?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4423.
-----------------------------------
Resolution: Done
Changed the logic to consistently check for non-deterministic expressions - we'll now only deeply check in uncorrelated subqueries. Also add a release note and a doc note.
So now:
update test.textagg_test_2 set id =(select uuid()) where id = 'xxxx';
will evaluate to a single id value.
update test.textagg_test_2 set id =uuid() where id = 'xxxx';
will set an id per row, which in this case without a key will result in an error.
> UPDATE command with non-pushdown functions leads to TEIID30253 error
> --------------------------------------------------------------------
>
> Key: TEIID-4423
> URL: https://issues.jboss.org/browse/TEIID-4423
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.12.x
> Environment: teiid-8.12-Beta1 on Red Hat JBoss Enterprise Application Platform - Version 6.3.0.GA
> teiid-9.0.3 on WildFly Full 9.0.2.Final
> Reporter: dalex dalex
> Assignee: Steven Hawkins
> Fix For: 9.1
>
>
> Running the following queries:
> {code:sql}
> update test.textagg_test_2 set id =(select uuid());;
> {code}
> or
> {code:sql}
> update test.textagg_test_2 set id =(select rand());;
> {code}
> leads to the following errors:
> {code}
> TEIID30253 Source UPDATE or DELETE command "UPDATE test.textagg_test_2 SET id = (SELECT uuid() LIMIT 2)" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.
> {code}
> and
> {code}
> TEIID30253 Source UPDATE or DELETE command "UPDATE test.textagg_test_2 SET id = convert((SELECT rand() LIMIT 2), string)" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.
> {code}
> though the following query:
> {code:sql}
> update test.textagg_test_2 set id =(select now());;
> {code}
> works without errors.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 2 months
[JBoss JIRA] (TEIID-4495) Salesforce - unable to use CXF configuration with version 34
by Juraj Duráni (JIRA)
[ https://issues.jboss.org/browse/TEIID-4495?page=com.atlassian.jira.plugin... ]
Juraj Duráni updated TEIID-4495:
--------------------------------
Description:
I am trying to use simple CXF logging feature to log in/outbound messages for Salesforce resource adapter. However, Teiid throws ClassNotFoundException if using translator/connection factory of version 34.
There is no problem with version 22 except one warning:
{code:plain}
08:16:44WARNING [org.apache.cxf.bus.spring.SpringBusFactory] (Worker1_QueryProcessorQueue11) Initial attempt to create application context was unsuccessful.: org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [META-INF/cxf/cxf.xml]; nested exception is java.io.FileNotFoundException: class path resource [META-INF/cxf/cxf.xml] cannot be opened because it does not exist
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.internalLoadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:154)
at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.access$000(ControlledValidationXmlBeanDefinitionReader.java:66)
at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader$1.run(ControlledValidationXmlBeanDefinitionReader.java:141)
at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader$1.run(ControlledValidationXmlBeanDefinitionReader.java:139)
at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0-internal]
at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.loadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:139)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:123)
at org.apache.cxf.bus.spring.BusApplicationContext.loadBeanDefinitions(BusApplicationContext.java:322)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:539)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451)
at org.apache.cxf.bus.spring.BusApplicationContext$1.run(BusApplicationContext.java:107)
at org.apache.cxf.bus.spring.BusApplicationContext$1.run(BusApplicationContext.java:105)
at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0-internal]
at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:105)
at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:157)
at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:148)
at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:124)
at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:94)
at org.apache.cxf.jaxrs.client.WebClient.getBean(WebClient.java:1221)
at org.apache.cxf.jaxrs.client.WebClient.create(WebClient.java:202)
at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connectRaw(SalesforceCXFTransport.java:123)
at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connectLocal(SalesforceCXFTransport.java:87)
at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connectLocal(SalesforceCXFTransport.java:82)
at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connect(SalesforceCXFTransport.java:78)
at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:94) [force-wsc-22.0.0.jar:]
at com.sforce.soap.partner.PartnerConnection.delete(PartnerConnection.java:905) [force-partner-api-22.0.0.jar:]
at org.teiid.resource.adapter.salesforce.SalesforceConnectionImpl.delete(SalesforceConnectionImpl.java:315)
at org.teiid.translator.salesforce.execution.DeleteExecutionImpl.execute(DeleteExecutionImpl.java:52) [translator-salesforce-8.12.5.redhat-8.jar:8.12.5.redhat-8]
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem$1.execute(ConnectorWorkItem.java:402)
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:364)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0-internal]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0-internal]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0-internal]
at java.lang.reflect.Method.invoke(Method.java:483) [rt.jar:1.8.0-internal]
at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
at com.sun.proxy.$Proxy47.execute(Unknown Source)
at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0-internal]
at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0-internal]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0-internal]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.8.0-internal]
Caused by: java.io.FileNotFoundException: class path resource [META-INF/cxf/cxf.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:171)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:329)
... 50 more
{code}
was:
I am trying to use simple CXF logging feature to log in/outbound messages for Salesforce resource adapter. However, Teiid throws ClassNotFoundException if using translator/connection factory of version 34.
There is no problem with version 22 except one warning:
{code:plain}
08:16:44,652 WARNING [org.apache.cxf.bus.spring.SpringBusFactory] (Worker1_QueryProcessorQueue11) Initial attempt to create application context was unsuccessful.: org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [META-INF/cxf/cxf.xml]; nested exception is java.io.FileNotFoundException: class path resource [META-INF/cxf/cxf.xml] cannot be opened because it does not exist
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.internalLoadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:154)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.access$000(ControlledValidationXmlBeanDefinitionReader.java:66)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader$1.run(ControlledValidationXmlBeanDefinitionReader.java:141)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader$1.run(ControlledValidationXmlBeanDefinitionReader.java:139)
09:16:44,655 INFO [MultiPlatformProcessRunner] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0-internal]
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.loadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:139)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:123)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.BusApplicationContext.loadBeanDefinitions(BusApplicationContext.java:322)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:539)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.BusApplicationContext$1.run(BusApplicationContext.java:107)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.BusApplicationContext$1.run(BusApplicationContext.java:105)
09:16:44,655 INFO [MultiPlatformProcessRunner] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0-internal]
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:105)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:157)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:148)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:124)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:94)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.apache.cxf.jaxrs.client.WebClient.getBean(WebClient.java:1221)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.apache.cxf.jaxrs.client.WebClient.create(WebClient.java:202)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connectRaw(SalesforceCXFTransport.java:123)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connectLocal(SalesforceCXFTransport.java:87)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connectLocal(SalesforceCXFTransport.java:82)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connect(SalesforceCXFTransport.java:78)
09:16:44,656 INFO [MultiPlatformProcessRunner] at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:94) [force-wsc-22.0.0.jar:]
09:16:44,656 INFO [MultiPlatformProcessRunner] at com.sforce.soap.partner.PartnerConnection.delete(PartnerConnection.java:905) [force-partner-api-22.0.0.jar:]
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.resource.adapter.salesforce.SalesforceConnectionImpl.delete(SalesforceConnectionImpl.java:315)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.translator.salesforce.execution.DeleteExecutionImpl.execute(DeleteExecutionImpl.java:52) [translator-salesforce-8.12.5.redhat-8.jar:8.12.5.redhat-8]
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.datamgr.ConnectorWorkItem$1.execute(ConnectorWorkItem.java:402)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:364)
09:16:44,656 INFO [MultiPlatformProcessRunner] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] at java.lang.reflect.Method.invoke(Method.java:483) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
09:16:44,656 INFO [MultiPlatformProcessRunner] at com.sun.proxy.$Proxy47.execute(Unknown Source)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
09:16:44,656 INFO [MultiPlatformProcessRunner] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
09:16:44,656 INFO [MultiPlatformProcessRunner] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] at java.lang.Thread.run(Thread.java:744) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] Caused by: java.io.FileNotFoundException: class path resource [META-INF/cxf/cxf.xml] cannot be opened because it does not exist
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:171)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:329)
09:16:44,656 INFO [MultiPlatformProcessRunner] ... 50 more
09:16:44,656 INFO [MultiPlatformProcessRunner]
{code}
> Salesforce - unable to use CXF configuration with version 34
> ------------------------------------------------------------
>
> Key: TEIID-4495
> URL: https://issues.jboss.org/browse/TEIID-4495
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.12.5
> Reporter: Juraj Duráni
> Assignee: Steven Hawkins
>
> I am trying to use simple CXF logging feature to log in/outbound messages for Salesforce resource adapter. However, Teiid throws ClassNotFoundException if using translator/connection factory of version 34.
> There is no problem with version 22 except one warning:
> {code:plain}
> 08:16:44WARNING [org.apache.cxf.bus.spring.SpringBusFactory] (Worker1_QueryProcessorQueue11) Initial attempt to create application context was unsuccessful.: org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [META-INF/cxf/cxf.xml]; nested exception is java.io.FileNotFoundException: class path resource [META-INF/cxf/cxf.xml] cannot be opened because it does not exist
> at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
> at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.internalLoadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:154)
> at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.access$000(ControlledValidationXmlBeanDefinitionReader.java:66)
> at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader$1.run(ControlledValidationXmlBeanDefinitionReader.java:141)
> at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader$1.run(ControlledValidationXmlBeanDefinitionReader.java:139)
> at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0-internal]
> at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.loadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:139)
> at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)
> at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
> at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:123)
> at org.apache.cxf.bus.spring.BusApplicationContext.loadBeanDefinitions(BusApplicationContext.java:322)
> at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
> at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:539)
> at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451)
> at org.apache.cxf.bus.spring.BusApplicationContext$1.run(BusApplicationContext.java:107)
> at org.apache.cxf.bus.spring.BusApplicationContext$1.run(BusApplicationContext.java:105)
> at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0-internal]
> at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:105)
> at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:157)
> at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:148)
> at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:124)
> at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:94)
> at org.apache.cxf.jaxrs.client.WebClient.getBean(WebClient.java:1221)
> at org.apache.cxf.jaxrs.client.WebClient.create(WebClient.java:202)
> at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connectRaw(SalesforceCXFTransport.java:123)
> at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connectLocal(SalesforceCXFTransport.java:87)
> at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connectLocal(SalesforceCXFTransport.java:82)
> at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connect(SalesforceCXFTransport.java:78)
> at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:94) [force-wsc-22.0.0.jar:]
> at com.sforce.soap.partner.PartnerConnection.delete(PartnerConnection.java:905) [force-partner-api-22.0.0.jar:]
> at org.teiid.resource.adapter.salesforce.SalesforceConnectionImpl.delete(SalesforceConnectionImpl.java:315)
> at org.teiid.translator.salesforce.execution.DeleteExecutionImpl.execute(DeleteExecutionImpl.java:52) [translator-salesforce-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem$1.execute(ConnectorWorkItem.java:402)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:364)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0-internal]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0-internal]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0-internal]
> at java.lang.reflect.Method.invoke(Method.java:483) [rt.jar:1.8.0-internal]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy47.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0-internal]
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0-internal]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0-internal]
> at java.lang.Thread.run(Thread.java:744) [rt.jar:1.8.0-internal]
> Caused by: java.io.FileNotFoundException: class path resource [META-INF/cxf/cxf.xml] cannot be opened because it does not exist
> at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:171)
> at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:329)
> ... 50 more
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 2 months
[JBoss JIRA] (TEIID-4495) Salesforce - unable to use CXF configuration with version 34
by Juraj Duráni (JIRA)
Juraj Duráni created TEIID-4495:
-----------------------------------
Summary: Salesforce - unable to use CXF configuration with version 34
Key: TEIID-4495
URL: https://issues.jboss.org/browse/TEIID-4495
Project: Teiid
Issue Type: Bug
Affects Versions: 8.12.5
Reporter: Juraj Duráni
Assignee: Steven Hawkins
I am trying to use simple CXF logging feature to log in/outbound messages for Salesforce resource adapter. However, Teiid throws ClassNotFoundException if using translator/connection factory of version 34.
There is no problem with version 22 except one warning:
{code:plain}
08:16:44,652 WARNING [org.apache.cxf.bus.spring.SpringBusFactory] (Worker1_QueryProcessorQueue11) Initial attempt to create application context was unsuccessful.: org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [META-INF/cxf/cxf.xml]; nested exception is java.io.FileNotFoundException: class path resource [META-INF/cxf/cxf.xml] cannot be opened because it does not exist
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.internalLoadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:154)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.access$000(ControlledValidationXmlBeanDefinitionReader.java:66)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader$1.run(ControlledValidationXmlBeanDefinitionReader.java:141)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader$1.run(ControlledValidationXmlBeanDefinitionReader.java:139)
09:16:44,655 INFO [MultiPlatformProcessRunner] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0-internal]
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.loadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:139)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:123)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.BusApplicationContext.loadBeanDefinitions(BusApplicationContext.java:322)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:539)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.BusApplicationContext$1.run(BusApplicationContext.java:107)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.BusApplicationContext$1.run(BusApplicationContext.java:105)
09:16:44,655 INFO [MultiPlatformProcessRunner] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0-internal]
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:105)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:157)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:148)
09:16:44,655 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:124)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:94)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.apache.cxf.jaxrs.client.WebClient.getBean(WebClient.java:1221)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.apache.cxf.jaxrs.client.WebClient.create(WebClient.java:202)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connectRaw(SalesforceCXFTransport.java:123)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connectLocal(SalesforceCXFTransport.java:87)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connectLocal(SalesforceCXFTransport.java:82)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.resource.adapter.salesforce.transport.SalesforceCXFTransport.connect(SalesforceCXFTransport.java:78)
09:16:44,656 INFO [MultiPlatformProcessRunner] at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:94) [force-wsc-22.0.0.jar:]
09:16:44,656 INFO [MultiPlatformProcessRunner] at com.sforce.soap.partner.PartnerConnection.delete(PartnerConnection.java:905) [force-partner-api-22.0.0.jar:]
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.resource.adapter.salesforce.SalesforceConnectionImpl.delete(SalesforceConnectionImpl.java:315)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.translator.salesforce.execution.DeleteExecutionImpl.execute(DeleteExecutionImpl.java:52) [translator-salesforce-8.12.5.redhat-8.jar:8.12.5.redhat-8]
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.datamgr.ConnectorWorkItem$1.execute(ConnectorWorkItem.java:402)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:364)
09:16:44,656 INFO [MultiPlatformProcessRunner] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] at java.lang.reflect.Method.invoke(Method.java:483) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
09:16:44,656 INFO [MultiPlatformProcessRunner] at com.sun.proxy.$Proxy47.execute(Unknown Source)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
09:16:44,656 INFO [MultiPlatformProcessRunner] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
09:16:44,656 INFO [MultiPlatformProcessRunner] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] at java.lang.Thread.run(Thread.java:744) [rt.jar:1.8.0-internal]
09:16:44,656 INFO [MultiPlatformProcessRunner] Caused by: java.io.FileNotFoundException: class path resource [META-INF/cxf/cxf.xml] cannot be opened because it does not exist
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:171)
09:16:44,656 INFO [MultiPlatformProcessRunner] at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:329)
09:16:44,656 INFO [MultiPlatformProcessRunner] ... 50 more
09:16:44,656 INFO [MultiPlatformProcessRunner]
{code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 2 months
[JBoss JIRA] (TEIID-4423) UPDATE command with non-pushdown functions leads to TEIID30253 error
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4423?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4423:
----------------------------------
Fix Version/s: 9.1
Assigning to 9.1 to resolve the inconsistent handling for the final release. Since it allows more optimization and is consistent with postgresql/oracle, we'll treat uncorrelated subqueries as deterministic. Note that this behavior is inconsistent with h2/mysql (which can treat uncorrelated subqueries as deterministic) - but I don't think that warrants additional handling yet.
> UPDATE command with non-pushdown functions leads to TEIID30253 error
> --------------------------------------------------------------------
>
> Key: TEIID-4423
> URL: https://issues.jboss.org/browse/TEIID-4423
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.12.x
> Environment: teiid-8.12-Beta1 on Red Hat JBoss Enterprise Application Platform - Version 6.3.0.GA
> teiid-9.0.3 on WildFly Full 9.0.2.Final
> Reporter: dalex dalex
> Assignee: Steven Hawkins
> Fix For: 9.1
>
>
> Running the following queries:
> {code:sql}
> update test.textagg_test_2 set id =(select uuid());;
> {code}
> or
> {code:sql}
> update test.textagg_test_2 set id =(select rand());;
> {code}
> leads to the following errors:
> {code}
> TEIID30253 Source UPDATE or DELETE command "UPDATE test.textagg_test_2 SET id = (SELECT uuid() LIMIT 2)" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.
> {code}
> and
> {code}
> TEIID30253 Source UPDATE or DELETE command "UPDATE test.textagg_test_2 SET id = convert((SELECT rand() LIMIT 2), string)" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.
> {code}
> though the following query:
> {code:sql}
> update test.textagg_test_2 set id =(select now());;
> {code}
> works without errors.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 2 months