[JBoss JIRA] (TEIID-6017) Not able to connect GCP bucket using S3 translator
by Nayan Bija (Jira)
[ https://issues.redhat.com/browse/TEIID-6017?page=com.atlassian.jira.plugi... ]
Nayan Bija commented on TEIID-6017:
-----------------------------------
Hi,
Thanks for your suggestion,
We are using Teiid 15.0.0 version and downloaded it from below link.
[https://oss.sonatype.org/service/local/repositories/releases/content/org/...]
And I am also making changes step by step.
First I have configured the adapter by using Google Bucket secret key.
then I have created a above dummy VDB just to check the connectivity with the Google Storage.
But connection is not estabilishing. hence I am not getting what exactly missing here.
Whether there is a problem in adapter or I am following wrong approch.
I have done below things till now.
# Download Teiid 15.0.0
# Created bucket on Google Storage.
# Created a access key and secret key
# Created a adapter by adding google access key and secret key
# Created a dummy VDB to test connection.
# Trying to make connction.
Could you please convey me if I am missing anything?
> Not able to connect GCP bucket using S3 translator
> --------------------------------------------------
>
> Key: TEIID-6017
> URL: https://issues.redhat.com/browse/TEIID-6017
> Project: Teiid
> Issue Type: Feature Request
> Reporter: Nayan Bija
> Assignee: Steven Hawkins
> Priority: Major
>
> As suggested in the ticket TEIID-6015
> We have tried to connect the GCP bucket using the S3 translator(not amazon-s3).
> As mentioned, S3 doesn't support google authentication,
> so we have created access key and secret key of Google bucket by logging into the GCP accoudnt.
> We have followed below steps to create access key and secret key.
> _*Storage->Setting->INTEROPERABILITY-> Service account HMAC->Create a key for service account"*_
>
> We have also created below adapter file and VDB but still, we are not able to connect to GCP.
>
> <resource-adapter id="amazon-s3-custom">
> <module slot="main" id="org.jboss.teiid.resource-adapter.s3"/>
> <transaction-support>NoTransaction</transaction-support>
> <connection-definitions>
> <connection-definition class-name="org.teiid.resource.adapter.s3.S3ManagedConnectionFactory" jndi-name="java:/s3DS" enabled="true" use-java-context="true" pool-name="teiid-s3-ds">
> <config-property name="bucket">abc</config-property>
> <config-property name="endpoint">[https://storage.googleapis.com|https://storage.googleapis.com/]</config-property>
> <config-property name="secretKey">xxx</config-property>
> <config-property name="accessKey">xxx</config-property>
> </connection-definition>
> </connection-definitions>
> </resource-adapter>
>
>
>
> VDB
> ----
>
> <?xml version="1.0"?>
> <vdb name="gcp" version="1">
> <connection-type>BY_VERSION</connection-type>
> <model name="s3">
> <source name="web-connector" translator-name="amazon-s3-custom" connection-jndi-name="java:/s3DS"/>
> </model>
> <translator name="amazon-s3-custom" type="amazon-s3">
> <property name="accesskey" value="xxx"/>
> <property name="secretkey" value="xxx"/>
> <property name="bucket" value="abc"/>
> </translator>
> </vdb
>
>
> as we tried to connect we are getting below error.
>
> *_"_*_org.teiid.jdbc.TeiidSQLException: TEIID20018 Unable to find a component used authenticate on to Teiid_*_"_*
>
> In the above configuration, where should we mention the File name?
> As I have read the properties in the documentation, I could see bucket property, where we can add a bucket name. but where should we add the file name which is present in the bucket?
>
> Could you please help us with it?
>
>
>
>
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 8 months
[JBoss JIRA] (TEIID-6010) Salesforce: an implementation restriction when querying ContentDocumentLink table
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-6010?page=com.atlassian.jira.plugi... ]
Steven Hawkins edited comment on TEIID-6010 at 8/13/20 9:30 AM:
----------------------------------------------------------------
For me using all defaults with 34 connectivity get the following imported metadata:
{code:sql}
CREATE FOREIGN TABLE ContentDocumentLink (
Id string(18) NOT NULL AUTO_INCREMENT DEFAULT 'sf default' OPTIONS (NAMEINSOURCE 'Id', UPDATABLE FALSE, NATIVE_TYPE 'id', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'true'),
LinkedEntityId string(18) NOT NULL OPTIONS (NAMEINSOURCE 'LinkedEntityId', NATIVE_TYPE 'reference', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
ContentDocumentId string(18) NOT NULL OPTIONS (NAMEINSOURCE 'ContentDocumentId', NATIVE_TYPE 'reference', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
IsDeleted boolean NOT NULL DEFAULT 'sf default' OPTIONS (NAMEINSOURCE 'IsDeleted', UPDATABLE FALSE, NATIVE_TYPE '_boolean', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'true'),
ShareType string(40) OPTIONS (NAMEINSOURCE 'ShareType', NATIVE_TYPE 'restrictedpicklist', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false', "teiid_sf:Picklist Values" 'V,C,I'),
Visibility string(40) OPTIONS (NAMEINSOURCE 'Visibility', NATIVE_TYPE 'restrictedpicklist', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false', "teiid_sf:Picklist Values" 'AllUsers,InternalUsers,SharedUsers'),
...
{code}
The same pushdown query/plan:
{code}
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
AccessNode(0) output=[SalesForceModel.ContentDocumentLink.Id, SalesForceModel.ContentDocumentLink.LinkedEntityId, SalesForceModel.ContentDocumentLink.ContentDocumentId, SalesForceModel.ContentDocumentLink.IsDeleted, SalesForceModel.ContentDocumentLink.ShareType, SalesForceModel.ContentDocumentLink.Visibility] SELECT g_0.Id, g_0.LinkedEntityId, g_0.ContentDocumentId, g_0.IsDeleted, g_0.ShareType, g_0.Visibility FROM SalesForceModel.ContentDocumentLink AS g_0 WHERE g_0.ContentDocumentId = '0691t000002aeKaAAI'
{code}
And the soql query:
{code}
SELECT Id, LinkedEntityId, ContentDocumentId, IsDeleted, ShareType, Visibility FROM ContentDocumentLink WHERE ContentDocumentId = '0691t000002aeKaAAI'
{code}
The difference is that this is on 15/master after TEIID-5988.
On Teiid 14 before that change the soql query has qualifications - "WHERE ContentDocumentLink.ContentDocumentId ="
Which for some reason undocumented Salesforce treats differently than the unqualified form. Can you confirm that this is already addressed in Teiid 15 for you?
was (Author: shawkins):
For me using all defaults with 34 connectivity get the following imported metadata:
{code:sql}
CREATE FOREIGN TABLE ContentDocumentLink (
Id string(18) NOT NULL AUTO_INCREMENT DEFAULT 'sf default' OPTIONS (NAMEINSOURCE 'Id', UPDATABLE FALSE, NATIVE_TYPE 'id', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'true'),
LinkedEntityId string(18) NOT NULL OPTIONS (NAMEINSOURCE 'LinkedEntityId', NATIVE_TYPE 'reference', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
ContentDocumentId string(18) NOT NULL OPTIONS (NAMEINSOURCE 'ContentDocumentId', NATIVE_TYPE 'reference', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
IsDeleted boolean NOT NULL DEFAULT 'sf default' OPTIONS (NAMEINSOURCE 'IsDeleted', UPDATABLE FALSE, NATIVE_TYPE '_boolean', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'true'),
ShareType string(40) OPTIONS (NAMEINSOURCE 'ShareType', NATIVE_TYPE 'restrictedpicklist', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false', "teiid_sf:Picklist Values" 'V,C,I'),
Visibility string(40) OPTIONS (NAMEINSOURCE 'Visibility', NATIVE_TYPE 'restrictedpicklist', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false', "teiid_sf:Picklist Values" 'AllUsers,InternalUsers,SharedUsers'),
...
{code}
The same pushdown query/plan:
{code}
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
AccessNode(0) output=[SalesForceModel.ContentDocumentLink.Id, SalesForceModel.ContentDocumentLink.LinkedEntityId, SalesForceModel.ContentDocumentLink.ContentDocumentId, SalesForceModel.ContentDocumentLink.IsDeleted, SalesForceModel.ContentDocumentLink.ShareType, SalesForceModel.ContentDocumentLink.Visibility] SELECT g_0.Id, g_0.LinkedEntityId, g_0.ContentDocumentId, g_0.IsDeleted, g_0.ShareType, g_0.Visibility FROM SalesForceModel.ContentDocumentLink AS g_0 WHERE g_0.ContentDocumentId = '0691t000002aeKaAAI'
{code}
And the soql query:
{code}
SELECT Id, LinkedEntityId, ContentDocumentId, IsDeleted, ShareType, Visibility FROM ContentDocumentLink WHERE ContentDocumentId = '0691t000002aeKaAAI'
{code}
The difference is that this is on 15/master after TEIID-5988.
On Teiid 14 before that change the soql query has qualifications - "WHERE ContentDocumentLink.ContentDocumentId ="
Which for some reason undocumented reason Salesforce treats differently, then the unqualified form. Can you confirm that this is already addressed in Teiid 15 for you?
> Salesforce: an implementation restriction when querying ContentDocumentLink table
> ---------------------------------------------------------------------------------
>
> Key: TEIID-6010
> URL: https://issues.redhat.com/browse/TEIID-6010
> Project: Teiid
> Issue Type: Bug
> Components: Salesforce Connector
> Affects Versions: 14.0
> Reporter: Dmitrii Pogorelov
> Assignee: Steven Hawkins
> Priority: Major
>
> when running the following query:
> {code:sql}
> SELECT "Id", "LinkedEntityId", "ContentDocumentId", "IsDeleted", "ShareType", "Visibility"
> FROM "sf34.ContentDocumentLink"
> WHERE "ContentDocumentId" = '0691t000002aeKaAAI' ;; {code}
> Teiid throws out the stack trace:
> {code:java}
> 2020-08-10 14:11:56,721 WARN [org.teiid.CONNECTOR] (Worker2_QueryProcessorQueue33) SSrs8BwlD5AI Connector worker process failed for atomic-request=SSrs8BwlD5AI.14.0.0: org.teiid.translator.TranslatorException at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:198) at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:249) at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:228) at com.sun.proxy.$Proxy46.execute(Unknown Source) at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:302) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:104) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:59) at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:281) at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:124) at org.teiid.dqp.internal.process.ThreadReuseExecutor$2.run(ThreadReuseExecutor.java:212) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: [MalformedQueryFault [ApiQueryFault [ApiFault exceptionCode='MALFORMED_QUERY' exceptionMessage='Implementation restriction: ContentDocumentLink requires a filter by a single Id on ContentDocumentId or LinkedEntityId using the equals operator or multiple Id's using the IN operator.' ] row='-1' column='-1' ] ] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.lang.Class.newInstance(Class.java:442) at com.sforce.ws.bind.TypeMapper.readSingle(TypeMapper.java:652) at com.sforce.ws.bind.TypeMapper.readObject(TypeMapper.java:529) at com.sforce.ws.transport.SoapConnection.parseDetail(SoapConnection.java:230) at com.sforce.ws.transport.SoapConnection.createException(SoapConnection.java:204) at com.sforce.ws.transport.SoapConnection.receive(SoapConnection.java:150) at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:99) at com.sforce.soap.partner.PartnerConnection.query(PartnerConnection.java:1078) at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:193) ... 19 more{code}
> though the native query works:
> {code:sql}
> select w.* from (call sf34.native('search;SELECT Id, LinkedEntityId, ContentDocumentId, IsDeleted, ShareType, Visibility FROM ContentDocumentLink WHERE ContentDocumentId = ''0691t000002aeKaAAI''', null)) as w ;; {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 8 months
[JBoss JIRA] (TEIID-6010) Salesforce: an implementation restriction when querying ContentDocumentLink table
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-6010?page=com.atlassian.jira.plugi... ]
Steven Hawkins resolved TEIID-6010.
-----------------------------------
Resolution: Duplicate Issue
Marking as a duplicate of TEIID-5988
> Salesforce: an implementation restriction when querying ContentDocumentLink table
> ---------------------------------------------------------------------------------
>
> Key: TEIID-6010
> URL: https://issues.redhat.com/browse/TEIID-6010
> Project: Teiid
> Issue Type: Bug
> Components: Salesforce Connector
> Affects Versions: 14.0
> Reporter: Dmitrii Pogorelov
> Assignee: Steven Hawkins
> Priority: Major
>
> when running the following query:
> {code:sql}
> SELECT "Id", "LinkedEntityId", "ContentDocumentId", "IsDeleted", "ShareType", "Visibility"
> FROM "sf34.ContentDocumentLink"
> WHERE "ContentDocumentId" = '0691t000002aeKaAAI' ;; {code}
> Teiid throws out the stack trace:
> {code:java}
> 2020-08-10 14:11:56,721 WARN [org.teiid.CONNECTOR] (Worker2_QueryProcessorQueue33) SSrs8BwlD5AI Connector worker process failed for atomic-request=SSrs8BwlD5AI.14.0.0: org.teiid.translator.TranslatorException at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:198) at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:249) at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:228) at com.sun.proxy.$Proxy46.execute(Unknown Source) at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:302) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:104) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:59) at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:281) at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:124) at org.teiid.dqp.internal.process.ThreadReuseExecutor$2.run(ThreadReuseExecutor.java:212) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: [MalformedQueryFault [ApiQueryFault [ApiFault exceptionCode='MALFORMED_QUERY' exceptionMessage='Implementation restriction: ContentDocumentLink requires a filter by a single Id on ContentDocumentId or LinkedEntityId using the equals operator or multiple Id's using the IN operator.' ] row='-1' column='-1' ] ] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.lang.Class.newInstance(Class.java:442) at com.sforce.ws.bind.TypeMapper.readSingle(TypeMapper.java:652) at com.sforce.ws.bind.TypeMapper.readObject(TypeMapper.java:529) at com.sforce.ws.transport.SoapConnection.parseDetail(SoapConnection.java:230) at com.sforce.ws.transport.SoapConnection.createException(SoapConnection.java:204) at com.sforce.ws.transport.SoapConnection.receive(SoapConnection.java:150) at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:99) at com.sforce.soap.partner.PartnerConnection.query(PartnerConnection.java:1078) at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:193) ... 19 more{code}
> though the native query works:
> {code:sql}
> select w.* from (call sf34.native('search;SELECT Id, LinkedEntityId, ContentDocumentId, IsDeleted, ShareType, Visibility FROM ContentDocumentLink WHERE ContentDocumentId = ''0691t000002aeKaAAI''', null)) as w ;; {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 8 months
[JBoss JIRA] (TEIID-6010) Salesforce: an implementation restriction when querying ContentDocumentLink table
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-6010?page=com.atlassian.jira.plugi... ]
Steven Hawkins reopened TEIID-6010:
-----------------------------------
> Salesforce: an implementation restriction when querying ContentDocumentLink table
> ---------------------------------------------------------------------------------
>
> Key: TEIID-6010
> URL: https://issues.redhat.com/browse/TEIID-6010
> Project: Teiid
> Issue Type: Bug
> Components: Salesforce Connector
> Affects Versions: 14.0
> Reporter: Dmitrii Pogorelov
> Assignee: Steven Hawkins
> Priority: Major
>
> when running the following query:
> {code:sql}
> SELECT "Id", "LinkedEntityId", "ContentDocumentId", "IsDeleted", "ShareType", "Visibility"
> FROM "sf34.ContentDocumentLink"
> WHERE "ContentDocumentId" = '0691t000002aeKaAAI' ;; {code}
> Teiid throws out the stack trace:
> {code:java}
> 2020-08-10 14:11:56,721 WARN [org.teiid.CONNECTOR] (Worker2_QueryProcessorQueue33) SSrs8BwlD5AI Connector worker process failed for atomic-request=SSrs8BwlD5AI.14.0.0: org.teiid.translator.TranslatorException at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:198) at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:249) at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:228) at com.sun.proxy.$Proxy46.execute(Unknown Source) at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:302) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:104) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:59) at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:281) at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:124) at org.teiid.dqp.internal.process.ThreadReuseExecutor$2.run(ThreadReuseExecutor.java:212) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: [MalformedQueryFault [ApiQueryFault [ApiFault exceptionCode='MALFORMED_QUERY' exceptionMessage='Implementation restriction: ContentDocumentLink requires a filter by a single Id on ContentDocumentId or LinkedEntityId using the equals operator or multiple Id's using the IN operator.' ] row='-1' column='-1' ] ] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.lang.Class.newInstance(Class.java:442) at com.sforce.ws.bind.TypeMapper.readSingle(TypeMapper.java:652) at com.sforce.ws.bind.TypeMapper.readObject(TypeMapper.java:529) at com.sforce.ws.transport.SoapConnection.parseDetail(SoapConnection.java:230) at com.sforce.ws.transport.SoapConnection.createException(SoapConnection.java:204) at com.sforce.ws.transport.SoapConnection.receive(SoapConnection.java:150) at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:99) at com.sforce.soap.partner.PartnerConnection.query(PartnerConnection.java:1078) at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:193) ... 19 more{code}
> though the native query works:
> {code:sql}
> select w.* from (call sf34.native('search;SELECT Id, LinkedEntityId, ContentDocumentId, IsDeleted, ShareType, Visibility FROM ContentDocumentLink WHERE ContentDocumentId = ''0691t000002aeKaAAI''', null)) as w ;; {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 8 months
[JBoss JIRA] (TEIID-6010) Salesforce: an implementation restriction when querying ContentDocumentLink table
by Dmitrii Pogorelov (Jira)
[ https://issues.redhat.com/browse/TEIID-6010?page=com.atlassian.jira.plugi... ]
Dmitrii Pogorelov commented on TEIID-6010:
------------------------------------------
[~shawkins] yes, it helped! The TEIID-5988 issue solves the problem. Thx Steven!
> Salesforce: an implementation restriction when querying ContentDocumentLink table
> ---------------------------------------------------------------------------------
>
> Key: TEIID-6010
> URL: https://issues.redhat.com/browse/TEIID-6010
> Project: Teiid
> Issue Type: Bug
> Components: Salesforce Connector
> Affects Versions: 14.0
> Reporter: Dmitrii Pogorelov
> Assignee: Steven Hawkins
> Priority: Major
>
> when running the following query:
> {code:sql}
> SELECT "Id", "LinkedEntityId", "ContentDocumentId", "IsDeleted", "ShareType", "Visibility"
> FROM "sf34.ContentDocumentLink"
> WHERE "ContentDocumentId" = '0691t000002aeKaAAI' ;; {code}
> Teiid throws out the stack trace:
> {code:java}
> 2020-08-10 14:11:56,721 WARN [org.teiid.CONNECTOR] (Worker2_QueryProcessorQueue33) SSrs8BwlD5AI Connector worker process failed for atomic-request=SSrs8BwlD5AI.14.0.0: org.teiid.translator.TranslatorException at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:198) at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:249) at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:228) at com.sun.proxy.$Proxy46.execute(Unknown Source) at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:302) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:104) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:59) at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:281) at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:124) at org.teiid.dqp.internal.process.ThreadReuseExecutor$2.run(ThreadReuseExecutor.java:212) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: [MalformedQueryFault [ApiQueryFault [ApiFault exceptionCode='MALFORMED_QUERY' exceptionMessage='Implementation restriction: ContentDocumentLink requires a filter by a single Id on ContentDocumentId or LinkedEntityId using the equals operator or multiple Id's using the IN operator.' ] row='-1' column='-1' ] ] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.lang.Class.newInstance(Class.java:442) at com.sforce.ws.bind.TypeMapper.readSingle(TypeMapper.java:652) at com.sforce.ws.bind.TypeMapper.readObject(TypeMapper.java:529) at com.sforce.ws.transport.SoapConnection.parseDetail(SoapConnection.java:230) at com.sforce.ws.transport.SoapConnection.createException(SoapConnection.java:204) at com.sforce.ws.transport.SoapConnection.receive(SoapConnection.java:150) at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:99) at com.sforce.soap.partner.PartnerConnection.query(PartnerConnection.java:1078) at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:193) ... 19 more{code}
> though the native query works:
> {code:sql}
> select w.* from (call sf34.native('search;SELECT Id, LinkedEntityId, ContentDocumentId, IsDeleted, ShareType, Visibility FROM ContentDocumentLink WHERE ContentDocumentId = ''0691t000002aeKaAAI''', null)) as w ;; {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 8 months
[JBoss JIRA] (TEIID-6010) Salesforce: an implementation restriction when querying ContentDocumentLink table
by Dmitrii Pogorelov (Jira)
[ https://issues.redhat.com/browse/TEIID-6010?page=com.atlassian.jira.plugi... ]
Dmitrii Pogorelov commented on TEIID-6010:
------------------------------------------
[~shawkins] let me adapt changes from the TEIID-5988 issue and check...
> Salesforce: an implementation restriction when querying ContentDocumentLink table
> ---------------------------------------------------------------------------------
>
> Key: TEIID-6010
> URL: https://issues.redhat.com/browse/TEIID-6010
> Project: Teiid
> Issue Type: Bug
> Components: Salesforce Connector
> Affects Versions: 14.0
> Reporter: Dmitrii Pogorelov
> Assignee: Steven Hawkins
> Priority: Major
>
> when running the following query:
> {code:sql}
> SELECT "Id", "LinkedEntityId", "ContentDocumentId", "IsDeleted", "ShareType", "Visibility"
> FROM "sf34.ContentDocumentLink"
> WHERE "ContentDocumentId" = '0691t000002aeKaAAI' ;; {code}
> Teiid throws out the stack trace:
> {code:java}
> 2020-08-10 14:11:56,721 WARN [org.teiid.CONNECTOR] (Worker2_QueryProcessorQueue33) SSrs8BwlD5AI Connector worker process failed for atomic-request=SSrs8BwlD5AI.14.0.0: org.teiid.translator.TranslatorException at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:198) at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:249) at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:228) at com.sun.proxy.$Proxy46.execute(Unknown Source) at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:302) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:104) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:59) at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:281) at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:124) at org.teiid.dqp.internal.process.ThreadReuseExecutor$2.run(ThreadReuseExecutor.java:212) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: [MalformedQueryFault [ApiQueryFault [ApiFault exceptionCode='MALFORMED_QUERY' exceptionMessage='Implementation restriction: ContentDocumentLink requires a filter by a single Id on ContentDocumentId or LinkedEntityId using the equals operator or multiple Id's using the IN operator.' ] row='-1' column='-1' ] ] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.lang.Class.newInstance(Class.java:442) at com.sforce.ws.bind.TypeMapper.readSingle(TypeMapper.java:652) at com.sforce.ws.bind.TypeMapper.readObject(TypeMapper.java:529) at com.sforce.ws.transport.SoapConnection.parseDetail(SoapConnection.java:230) at com.sforce.ws.transport.SoapConnection.createException(SoapConnection.java:204) at com.sforce.ws.transport.SoapConnection.receive(SoapConnection.java:150) at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:99) at com.sforce.soap.partner.PartnerConnection.query(PartnerConnection.java:1078) at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:193) ... 19 more{code}
> though the native query works:
> {code:sql}
> select w.* from (call sf34.native('search;SELECT Id, LinkedEntityId, ContentDocumentId, IsDeleted, ShareType, Visibility FROM ContentDocumentLink WHERE ContentDocumentId = ''0691t000002aeKaAAI''', null)) as w ;; {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 8 months
[JBoss JIRA] (TEIID-6010) Salesforce: an implementation restriction when querying ContentDocumentLink table
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-6010?page=com.atlassian.jira.plugi... ]
Steven Hawkins commented on TEIID-6010:
---------------------------------------
For me using all defaults with 34 connectivity get the following imported metadata:
{code:sql}
CREATE FOREIGN TABLE ContentDocumentLink (
Id string(18) NOT NULL AUTO_INCREMENT DEFAULT 'sf default' OPTIONS (NAMEINSOURCE 'Id', UPDATABLE FALSE, NATIVE_TYPE 'id', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'true'),
LinkedEntityId string(18) NOT NULL OPTIONS (NAMEINSOURCE 'LinkedEntityId', NATIVE_TYPE 'reference', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
ContentDocumentId string(18) NOT NULL OPTIONS (NAMEINSOURCE 'ContentDocumentId', NATIVE_TYPE 'reference', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
IsDeleted boolean NOT NULL DEFAULT 'sf default' OPTIONS (NAMEINSOURCE 'IsDeleted', UPDATABLE FALSE, NATIVE_TYPE '_boolean', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'true'),
ShareType string(40) OPTIONS (NAMEINSOURCE 'ShareType', NATIVE_TYPE 'restrictedpicklist', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false', "teiid_sf:Picklist Values" 'V,C,I'),
Visibility string(40) OPTIONS (NAMEINSOURCE 'Visibility', NATIVE_TYPE 'restrictedpicklist', "teiid_sf:Calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false', "teiid_sf:Picklist Values" 'AllUsers,InternalUsers,SharedUsers'),
...
{code}
The same pushdown query/plan:
{code}
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
AccessNode(0) output=[SalesForceModel.ContentDocumentLink.Id, SalesForceModel.ContentDocumentLink.LinkedEntityId, SalesForceModel.ContentDocumentLink.ContentDocumentId, SalesForceModel.ContentDocumentLink.IsDeleted, SalesForceModel.ContentDocumentLink.ShareType, SalesForceModel.ContentDocumentLink.Visibility] SELECT g_0.Id, g_0.LinkedEntityId, g_0.ContentDocumentId, g_0.IsDeleted, g_0.ShareType, g_0.Visibility FROM SalesForceModel.ContentDocumentLink AS g_0 WHERE g_0.ContentDocumentId = '0691t000002aeKaAAI'
{code}
And the soql query:
{code}
SELECT Id, LinkedEntityId, ContentDocumentId, IsDeleted, ShareType, Visibility FROM ContentDocumentLink WHERE ContentDocumentId = '0691t000002aeKaAAI'
{code}
The difference is that this is on 15/master after TEIID-5988.
On Teiid 14 before that change the soql query has qualifications - "WHERE ContentDocumentLink.ContentDocumentId ="
Which for some reason undocumented reason Salesforce treats differently, then the unqualified form. Can you confirm that this is already addressed in Teiid 15 for you?
> Salesforce: an implementation restriction when querying ContentDocumentLink table
> ---------------------------------------------------------------------------------
>
> Key: TEIID-6010
> URL: https://issues.redhat.com/browse/TEIID-6010
> Project: Teiid
> Issue Type: Bug
> Components: Salesforce Connector
> Affects Versions: 14.0
> Reporter: Dmitrii Pogorelov
> Assignee: Steven Hawkins
> Priority: Major
>
> when running the following query:
> {code:sql}
> SELECT "Id", "LinkedEntityId", "ContentDocumentId", "IsDeleted", "ShareType", "Visibility"
> FROM "sf34.ContentDocumentLink"
> WHERE "ContentDocumentId" = '0691t000002aeKaAAI' ;; {code}
> Teiid throws out the stack trace:
> {code:java}
> 2020-08-10 14:11:56,721 WARN [org.teiid.CONNECTOR] (Worker2_QueryProcessorQueue33) SSrs8BwlD5AI Connector worker process failed for atomic-request=SSrs8BwlD5AI.14.0.0: org.teiid.translator.TranslatorException at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:198) at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:249) at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:228) at com.sun.proxy.$Proxy46.execute(Unknown Source) at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:302) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:104) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:59) at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:281) at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:124) at org.teiid.dqp.internal.process.ThreadReuseExecutor$2.run(ThreadReuseExecutor.java:212) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: [MalformedQueryFault [ApiQueryFault [ApiFault exceptionCode='MALFORMED_QUERY' exceptionMessage='Implementation restriction: ContentDocumentLink requires a filter by a single Id on ContentDocumentId or LinkedEntityId using the equals operator or multiple Id's using the IN operator.' ] row='-1' column='-1' ] ] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.lang.Class.newInstance(Class.java:442) at com.sforce.ws.bind.TypeMapper.readSingle(TypeMapper.java:652) at com.sforce.ws.bind.TypeMapper.readObject(TypeMapper.java:529) at com.sforce.ws.transport.SoapConnection.parseDetail(SoapConnection.java:230) at com.sforce.ws.transport.SoapConnection.createException(SoapConnection.java:204) at com.sforce.ws.transport.SoapConnection.receive(SoapConnection.java:150) at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:99) at com.sforce.soap.partner.PartnerConnection.query(PartnerConnection.java:1078) at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:193) ... 19 more{code}
> though the native query works:
> {code:sql}
> select w.* from (call sf34.native('search;SELECT Id, LinkedEntityId, ContentDocumentId, IsDeleted, ShareType, Visibility FROM ContentDocumentLink WHERE ContentDocumentId = ''0691t000002aeKaAAI''', null)) as w ;; {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 8 months
[JBoss JIRA] (TEIID-6017) Not able to connect GCP bucket using S3 translator
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-6017?page=com.atlassian.jira.plugi... ]
Steven Hawkins resolved TEIID-6017.
-----------------------------------
Resolution: Explained
>From this and other issues it's clear that you are trying to do a lot all at once with a low familiarity with Teiid. It would help if you could start from either a smaller working example or build up incrementally - so that you can isolate what exactly isn't working for you.
For example you can start with a dummy vdb to verify you can connect and query. Then you can add a source model to your vdb and verify that it error out when looking for the datasource, then you can add your datasource.
Example dummy vdb in ddl:
{code:java}
CREATE DATABASE DUMMY;
USE DATABASE DUMMY;
CREATE VIRTUAL SCHEMA S1;
SET SCHEMA S1;
CREATE VIEW V as SELECT 'HELLO WORLD';
{code}
> *_"_*_org.teiid.jdbc.TeiidSQLException: TEIID20018 Unable to find a component used authenticate on to Teiid_*_"_*
That is not related to anything about sources or translators. It probably indicates something is wrong with the Teiid install - did you use a full kit including wildflyor an overlay? If an overlay, which teiid version and wildfly version - as they are not independent.
> Not able to connect GCP bucket using S3 translator
> --------------------------------------------------
>
> Key: TEIID-6017
> URL: https://issues.redhat.com/browse/TEIID-6017
> Project: Teiid
> Issue Type: Feature Request
> Reporter: Nayan Bija
> Assignee: Steven Hawkins
> Priority: Major
>
> As suggested in the ticket TEIID-6015
> We have tried to connect the GCP bucket using the S3 translator(not amazon-s3).
> As mentioned, S3 doesn't support google authentication,
> so we have created access key and secret key of Google bucket by logging into the GCP accoudnt.
> We have followed below steps to create access key and secret key.
> _*Storage->Setting->INTEROPERABILITY-> Service account HMAC->Create a key for service account"*_
>
> We have also created below adapter file and VDB but still, we are not able to connect to GCP.
>
> <resource-adapter id="amazon-s3-custom">
> <module slot="main" id="org.jboss.teiid.resource-adapter.s3"/>
> <transaction-support>NoTransaction</transaction-support>
> <connection-definitions>
> <connection-definition class-name="org.teiid.resource.adapter.s3.S3ManagedConnectionFactory" jndi-name="java:/s3DS" enabled="true" use-java-context="true" pool-name="teiid-s3-ds">
> <config-property name="bucket">abc</config-property>
> <config-property name="endpoint">[https://storage.googleapis.com|https://storage.googleapis.com/]</config-property>
> <config-property name="secretKey">xxx</config-property>
> <config-property name="accessKey">xxx</config-property>
> </connection-definition>
> </connection-definitions>
> </resource-adapter>
>
>
>
> VDB
> ----
>
> <?xml version="1.0"?>
> <vdb name="gcp" version="1">
> <connection-type>BY_VERSION</connection-type>
> <model name="s3">
> <source name="web-connector" translator-name="amazon-s3-custom" connection-jndi-name="java:/s3DS"/>
> </model>
> <translator name="amazon-s3-custom" type="amazon-s3">
> <property name="accesskey" value="xxx"/>
> <property name="secretkey" value="xxx"/>
> <property name="bucket" value="abc"/>
> </translator>
> </vdb
>
>
> as we tried to connect we are getting below error.
>
> *_"_*_org.teiid.jdbc.TeiidSQLException: TEIID20018 Unable to find a component used authenticate on to Teiid_*_"_*
>
> In the above configuration, where should we mention the File name?
> As I have read the properties in the documentation, I could see bucket property, where we can add a bucket name. but where should we add the file name which is present in the bucket?
>
> Could you please help us with it?
>
>
>
>
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 8 months
[JBoss JIRA] (TEIID-6010) Salesforce: an implementation restriction when querying ContentDocumentLink table
by Dmitrii Pogorelov (Jira)
[ https://issues.redhat.com/browse/TEIID-6010?page=com.atlassian.jira.plugi... ]
Dmitrii Pogorelov commented on TEIID-6010:
------------------------------------------
[~shawkins] it still fails without limit clause (SQuirrel adds the limit automatically):
{code:java}
---------------------------------------------------------------------------- OPTIMIZATION COMPLETE: PROCESSOR PLAN: AccessNode(0) output=[sf34.ContentDocumentLink.Id, sf34.ContentDocumentLink.LinkedEntityId, sf34.ContentDocumentLink.ContentDocumentId, sf34.ContentDocumentLink.IsDeleted, sf34.ContentDocumentLink.ShareType, sf34.ContentDocumentLink.Visibility] SELECT g_0.Id, g_0.LinkedEntityId, g_0.ContentDocumentId, g_0.IsDeleted, g_0.ShareType, g_0.Visibility FROM sf34.ContentDocumentLink AS g_0 WHERE g_0.ContentDocumentId = '0691t000002aeKaAAI' ============================================================================ 2020-08-13 14:36:49,765 WARN [org.teiid.CONNECTOR] (Worker6_QueryProcessorQueue12) +DOVlogY13Ra Connector worker process failed for atomic-request=+DOVlogY13Ra.2.0.2: org.teiid.translator.TranslatorException at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:198) at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:249) at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:228) at com.sun.proxy.$Proxy46.execute(Unknown Source) at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:302) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:104) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:59) at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:281) at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:124) at org.teiid.dqp.internal.process.ThreadReuseExecutor$2.run(ThreadReuseExecutor.java:212) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: [MalformedQueryFault [ApiQueryFault [ApiFault exceptionCode='MALFORMED_QUERY' exceptionMessage='Implementation restriction: ContentDocumentLink requires a filter by a single Id on ContentDocumentId or LinkedEntityId using the equals operator or multiple Id's using the IN operator.' ] row='-1' column='-1' ] ] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.lang.Class.newInstance(Class.java:442) at com.sforce.ws.bind.TypeMapper.readSingle(TypeMapper.java:652) at com.sforce.ws.bind.TypeMapper.readObject(TypeMapper.java:529) at com.sforce.ws.transport.SoapConnection.parseDetail(SoapConnection.java:230)
at com.sforce.ws.transport.SoapConnection.createException(SoapConnection.java:204) at com.sforce.ws.transport.SoapConnection.receive(SoapConnection.java:150) at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:99) at com.sforce.soap.partner.PartnerConnection.query(PartnerConnection.java:1078) at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:193) ... 19 more 2020-08-13 14:36:49,768 WARN [org.teiid.PROCESSOR] (Worker5_QueryProcessorQueue13) +DOVlogY13Ra TEIID30020 Processing exception for request +DOVlogY13Ra.2 'TEIID30504 sf34: null'. Originally TeiidProcessingException sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method). Enable more detailed logging to see the entire stacktrace. {code}
> Salesforce: an implementation restriction when querying ContentDocumentLink table
> ---------------------------------------------------------------------------------
>
> Key: TEIID-6010
> URL: https://issues.redhat.com/browse/TEIID-6010
> Project: Teiid
> Issue Type: Bug
> Components: Salesforce Connector
> Affects Versions: 14.0
> Reporter: Dmitrii Pogorelov
> Assignee: Steven Hawkins
> Priority: Major
>
> when running the following query:
> {code:sql}
> SELECT "Id", "LinkedEntityId", "ContentDocumentId", "IsDeleted", "ShareType", "Visibility"
> FROM "sf34.ContentDocumentLink"
> WHERE "ContentDocumentId" = '0691t000002aeKaAAI' ;; {code}
> Teiid throws out the stack trace:
> {code:java}
> 2020-08-10 14:11:56,721 WARN [org.teiid.CONNECTOR] (Worker2_QueryProcessorQueue33) SSrs8BwlD5AI Connector worker process failed for atomic-request=SSrs8BwlD5AI.14.0.0: org.teiid.translator.TranslatorException at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:198) at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:249) at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:228) at com.sun.proxy.$Proxy46.execute(Unknown Source) at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:302) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:104) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:59) at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:281) at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:124) at org.teiid.dqp.internal.process.ThreadReuseExecutor$2.run(ThreadReuseExecutor.java:212) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: [MalformedQueryFault [ApiQueryFault [ApiFault exceptionCode='MALFORMED_QUERY' exceptionMessage='Implementation restriction: ContentDocumentLink requires a filter by a single Id on ContentDocumentId or LinkedEntityId using the equals operator or multiple Id's using the IN operator.' ] row='-1' column='-1' ] ] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.lang.Class.newInstance(Class.java:442) at com.sforce.ws.bind.TypeMapper.readSingle(TypeMapper.java:652) at com.sforce.ws.bind.TypeMapper.readObject(TypeMapper.java:529) at com.sforce.ws.transport.SoapConnection.parseDetail(SoapConnection.java:230) at com.sforce.ws.transport.SoapConnection.createException(SoapConnection.java:204) at com.sforce.ws.transport.SoapConnection.receive(SoapConnection.java:150) at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:99) at com.sforce.soap.partner.PartnerConnection.query(PartnerConnection.java:1078) at org.teiid.salesforce.BaseSalesforceConnection.query(BaseSalesforceConnection.java:193) ... 19 more{code}
> though the native query works:
> {code:sql}
> select w.* from (call sf34.native('search;SELECT Id, LinkedEntityId, ContentDocumentId, IsDeleted, ShareType, Visibility FROM ContentDocumentLink WHERE ContentDocumentId = ''0691t000002aeKaAAI''', null)) as w ;; {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 8 months
[JBoss JIRA] (TEIID-6017) Not able to connect GCP bucket using S3 translator
by Nayan Bija (Jira)
[ https://issues.redhat.com/browse/TEIID-6017?page=com.atlassian.jira.plugi... ]
Nayan Bija updated TEIID-6017:
------------------------------
Description:
As suggested in the ticket TEIID-6015
We have tried to connect the GCP bucket using the S3 translator(not amazon-s3).
As mentioned, S3 doesn't support google authentication,
so we have created access key and secret key of Google bucket by logging into the GCP accoudnt.
We have followed below steps to create access key and secret key.
_*Storage->Setting->INTEROPERABILITY-> Service account HMAC->Create a key for service account"*_
We have also created below adapter file and VDB but still, we are not able to connect to GCP.
<resource-adapter id="amazon-s3-custom">
<module slot="main" id="org.jboss.teiid.resource-adapter.s3"/>
<transaction-support>NoTransaction</transaction-support>
<connection-definitions>
<connection-definition class-name="org.teiid.resource.adapter.s3.S3ManagedConnectionFactory" jndi-name="java:/s3DS" enabled="true" use-java-context="true" pool-name="teiid-s3-ds">
<config-property name="bucket">abc</config-property>
<config-property name="endpoint">[https://storage.googleapis.com|https://storage.googleapis.com/]</config-property>
<config-property name="secretKey">xxx</config-property>
<config-property name="accessKey">xxx</config-property>
</connection-definition>
</connection-definitions>
</resource-adapter>
VDB
----
<?xml version="1.0"?>
<vdb name="gcp" version="1">
<connection-type>BY_VERSION</connection-type>
<model name="s3">
<source name="web-connector" translator-name="amazon-s3-custom" connection-jndi-name="java:/s3DS"/>
</model>
<translator name="amazon-s3-custom" type="amazon-s3">
<property name="accesskey" value="xxx"/>
<property name="secretkey" value="xxx"/>
<property name="bucket" value="abc"/>
</translator>
</vdb
as we tried to connect we are getting below error.
*_"_*_org.teiid.jdbc.TeiidSQLException: TEIID20018 Unable to find a component used authenticate on to Teiid_*_"_*
In the above configuration, where should we mention the File name?
As I have read the properties in the documentation, I could see bucket property, where we can add a bucket name. but where should we add the file name which is present in the bucket?
Could you please help us with it?
was:
As suggested in the ticket TEIID-6015
We have tried to connect the GCP bucket using the S3 translator(not amazon-s3).
As mentioned, S3 doesn't support google authentication,
so we have created access key and secret key of Google bucket by logging into the GCP accoudnt.
We have followed below steps to create access key and secret key.
_*Storage->Setting->INTEROPERABILITY-> Service account HMAC->Create a key for service account"*_
We have also created below adapter file and VDB but still, we are not able to connect to GCP.
<resource-adapter id="amazon-s3-custom">
<module slot="main" id="org.jboss.teiid.resource-adapter.s3"/>
<transaction-support>NoTransaction</transaction-support>
<connection-definitions>
<connection-definition class-name="org.teiid.resource.adapter.s3.S3ManagedConnectionFactory" jndi-name="java:/s3DS" enabled="true" use-java-context="true" pool-name="teiid-s3-ds">
<config-property name="bucket">abc</config-property>
<config-property name="endpoint">[https://storage.googleapis.com|https://storage.googleapis.com/]</config-property>
<config-property name="secretKey">xxx</config-property>
<config-property name="accessKey">xxx</config-property>
</connection-definition>
</connection-definitions>
</resource-adapter>
VDB
----
<?xml version="1.0"?>
<vdb name="gcp" version="1">
<connection-type>BY_VERSION</connection-type>
<model name="s3">
<source name="web-connector" translator-name="amazon-s3-custom" connection-jndi-name="java:/s3DS"/>
</model>
<translator name="amazon-s3-custom" type="amazon-s3">
<property name="accesskey" value="xxx"/>
<property name="secretkey" value="xxx"/>
<property name="bucket" value="abc"/>
</translator>
</vdb
as we tried to connect we are getting below error.
org.teiid.jdbc.TeiidSQLException: TEIID20018 Unable to find a component used authenticate on to Teiid
In the above configuration, where should we mention the File name?
As I have read the properties in the documentation, I could see bucket property, where we can add a bucket name. but where should we add the file name which is present in the bucket?
Could you please help us with it?
> Not able to connect GCP bucket using S3 translator
> --------------------------------------------------
>
> Key: TEIID-6017
> URL: https://issues.redhat.com/browse/TEIID-6017
> Project: Teiid
> Issue Type: Feature Request
> Reporter: Nayan Bija
> Assignee: Steven Hawkins
> Priority: Major
>
> As suggested in the ticket TEIID-6015
> We have tried to connect the GCP bucket using the S3 translator(not amazon-s3).
> As mentioned, S3 doesn't support google authentication,
> so we have created access key and secret key of Google bucket by logging into the GCP accoudnt.
> We have followed below steps to create access key and secret key.
> _*Storage->Setting->INTEROPERABILITY-> Service account HMAC->Create a key for service account"*_
>
> We have also created below adapter file and VDB but still, we are not able to connect to GCP.
>
> <resource-adapter id="amazon-s3-custom">
> <module slot="main" id="org.jboss.teiid.resource-adapter.s3"/>
> <transaction-support>NoTransaction</transaction-support>
> <connection-definitions>
> <connection-definition class-name="org.teiid.resource.adapter.s3.S3ManagedConnectionFactory" jndi-name="java:/s3DS" enabled="true" use-java-context="true" pool-name="teiid-s3-ds">
> <config-property name="bucket">abc</config-property>
> <config-property name="endpoint">[https://storage.googleapis.com|https://storage.googleapis.com/]</config-property>
> <config-property name="secretKey">xxx</config-property>
> <config-property name="accessKey">xxx</config-property>
> </connection-definition>
> </connection-definitions>
> </resource-adapter>
>
>
>
> VDB
> ----
>
> <?xml version="1.0"?>
> <vdb name="gcp" version="1">
> <connection-type>BY_VERSION</connection-type>
> <model name="s3">
> <source name="web-connector" translator-name="amazon-s3-custom" connection-jndi-name="java:/s3DS"/>
> </model>
> <translator name="amazon-s3-custom" type="amazon-s3">
> <property name="accesskey" value="xxx"/>
> <property name="secretkey" value="xxx"/>
> <property name="bucket" value="abc"/>
> </translator>
> </vdb
>
>
> as we tried to connect we are getting below error.
>
> *_"_*_org.teiid.jdbc.TeiidSQLException: TEIID20018 Unable to find a component used authenticate on to Teiid_*_"_*
>
> In the above configuration, where should we mention the File name?
> As I have read the properties in the documentation, I could see bucket property, where we can add a bucket name. but where should we add the file name which is present in the bucket?
>
> Could you please help us with it?
>
>
>
>
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 8 months