[JBoss JIRA] (TEIID-2887) MongoDB: mongodb DBCollection aggregate error
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2887?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-2887:
---------------------------------------
It is there now.
> MongoDB: mongodb DBCollection aggregate error
> ----------------------------------------------
>
> Key: TEIID-2887
> URL: https://issues.jboss.org/browse/TEIID-2887
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.7
> Environment: Teiid 8.7 Beta1 with MongoDB
> Reporter: Ivan Chan
> Assignee: Ramesh Reddy
> Labels: Beta3, teiid
> Fix For: 8.7
>
>
> Here is my simple JSON object:
> "addresst" { "_id": 0,
> "name": "Duke Grant",
> "age": 38,
> "gender": "male",
>
> "address": { "_id": 0,
> "street": "345 Burnett Street",
> "city": "Nash",
> "state": "Rhode Island",
> "zip": 7384 }
> }
> And I define a schema like following:
> REATE FOREIGN TABLE addresst (custid integer PRIMARY KEY, name varchar(25), age integer, gender varchar(25)) OPTIONS(UPDATABLE 'TRUE');
> CREATE FOREIGN TABLE address (custid integer PRIMARY KEY, street varchar(50), city varchar(25), state varchar(25), zipcode varchar(6), FOREIGN KEY (custId) REFERENCES addresst (custid)) OPTIONS(UPDATABLE 'TRUE' , "teiid_mongo:MERGE" 'addresst');
> Got exception when trying to execute a query like following:
> select "MongoDB_addresst"."gender" as "MongoDB_addresst_gender",
> "MongoDB_address"."state" as "MongoDB_address_state"
> from "MongoDB"."addresst" "MongoDB_addresst"
> inner join "MongoDB"."address" "MongoDB_address" on ("MongoDB_addresst"."custid" = "MongoDB_address"."custid")
> group by "MongoDB_addresst"."gender", "MongoDB_address"."state"
> order by "MongoDB_addresst_gender", "MongoDB_address_state"
> limit 1000
> Exception:
> Caused by: com.mongodb.CommandFailureException: { "serverUsed" : "qa-mongodb.jaspersoft.com/172.17.1.48:27017" , "errmsg" : "exception: dotted field names are only allowed at the top level" , "code" :
> 16405 , "ok" : 0.0}
> at com.mongodb.CommandResult.getException(CommandResult.java:71)
> at com.mongodb.CommandResult.throwOnError(CommandResult.java:110)
> at com.mongodb.DBCollection.aggregate(DBCollection.java:1308)
> at org.teiid.translator.mongodb.MongoDBQueryExecution.execute(MongoDBQueryExecution.java:99)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:317)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:298)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:110)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:107)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:58)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:273)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:214)
> ... 3 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 9 months
[JBoss JIRA] (TEIID-2814) HIVE: quote is removed for TIMESTAMP field in where clause
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2814?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-2814:
---------------------------------------
It looks like there are a host of issues with date/time comparisons. After glancing through the issues/links, I'm not even entirely sure what the proper approach is as the comparison model (bigint vs. string) and recommendations seem to vary. With https://issues.apache.org/jira/browse/HIVE-5204 being addressed in 0.13, does that change things here at all?
> HIVE: quote is removed for TIMESTAMP field in where clause
> -----------------------------------------------------------
>
> Key: TEIID-2814
> URL: https://issues.jboss.org/browse/TEIID-2814
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.6
> Environment: HIVE and Teiid 8.6
> Reporter: Ivan Chan
> Assignee: Steven Hawkins
> Labels: teiid
> Fix For: 8.4.2, 8.7
>
>
> I am running teiid 8.6 against HIVE. And I found out that quote was removed for TIMESTAMP field in where clause. And it caused java.sql.SQLException: Error while processing statement: FAILED: ParseException line 1:88 missing EOF
> Original SQL:
> select "the_date",
> "store_sales"
> from "hive2"."sales_seq"
> where ("the_date" > '1970-05-16 00:10:04')
> Teiid generated SQL:
> SELECT g_0.the_date, g_0.store_sales FROM sales_seq g_0 WHERE g_0.the_date > 1970-05-16 00:10:04.0
> Exception:
> Caused by: java.sql.SQLException: Error while processing statement: FAILED:
> ParseException line 1:88 missing EOF at '00' near '16'
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 9 months
[JBoss JIRA] (TEIID-2887) MongoDB: mongodb DBCollection aggregate error
by Ivan Chan (JIRA)
[ https://issues.jboss.org/browse/TEIID-2887?page=com.atlassian.jira.plugin... ]
Ivan Chan commented on TEIID-2887:
----------------------------------
Hi, I saw the update of CR1. Thank you for that. Would u guys mind to put it to the repo, too? Thanks.
https://repository.jboss.org/nexus/content/repositories/releases/org/jbos...
> MongoDB: mongodb DBCollection aggregate error
> ----------------------------------------------
>
> Key: TEIID-2887
> URL: https://issues.jboss.org/browse/TEIID-2887
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.7
> Environment: Teiid 8.7 Beta1 with MongoDB
> Reporter: Ivan Chan
> Assignee: Ramesh Reddy
> Labels: Beta3, teiid
> Fix For: 8.7
>
>
> Here is my simple JSON object:
> "addresst" { "_id": 0,
> "name": "Duke Grant",
> "age": 38,
> "gender": "male",
>
> "address": { "_id": 0,
> "street": "345 Burnett Street",
> "city": "Nash",
> "state": "Rhode Island",
> "zip": 7384 }
> }
> And I define a schema like following:
> REATE FOREIGN TABLE addresst (custid integer PRIMARY KEY, name varchar(25), age integer, gender varchar(25)) OPTIONS(UPDATABLE 'TRUE');
> CREATE FOREIGN TABLE address (custid integer PRIMARY KEY, street varchar(50), city varchar(25), state varchar(25), zipcode varchar(6), FOREIGN KEY (custId) REFERENCES addresst (custid)) OPTIONS(UPDATABLE 'TRUE' , "teiid_mongo:MERGE" 'addresst');
> Got exception when trying to execute a query like following:
> select "MongoDB_addresst"."gender" as "MongoDB_addresst_gender",
> "MongoDB_address"."state" as "MongoDB_address_state"
> from "MongoDB"."addresst" "MongoDB_addresst"
> inner join "MongoDB"."address" "MongoDB_address" on ("MongoDB_addresst"."custid" = "MongoDB_address"."custid")
> group by "MongoDB_addresst"."gender", "MongoDB_address"."state"
> order by "MongoDB_addresst_gender", "MongoDB_address_state"
> limit 1000
> Exception:
> Caused by: com.mongodb.CommandFailureException: { "serverUsed" : "qa-mongodb.jaspersoft.com/172.17.1.48:27017" , "errmsg" : "exception: dotted field names are only allowed at the top level" , "code" :
> 16405 , "ok" : 0.0}
> at com.mongodb.CommandResult.getException(CommandResult.java:71)
> at com.mongodb.CommandResult.throwOnError(CommandResult.java:110)
> at com.mongodb.DBCollection.aggregate(DBCollection.java:1308)
> at org.teiid.translator.mongodb.MongoDBQueryExecution.execute(MongoDBQueryExecution.java:99)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:317)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:298)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:110)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:107)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:58)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:273)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:214)
> ... 3 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 9 months
[JBoss JIRA] (TEIID-2909) Provide more info for TeiidPropertyDefinition marked 'isRequired' but with conditions
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2909?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-2909:
---------------------------------------
> Here's a possible solution:
I get what you are getting at, but do we do this for any of our other metadata? MED stuff, etc.? Are we inventing a solution to a limited problem on the fly here?
Unless there is already an expression language defined for this and used elsewhere, I'd much rather take a first pass with marking interdependent properties as optional and letting the UI/user take it from there.
> Provide more info for TeiidPropertyDefinition marked 'isRequired' but with conditions
> -------------------------------------------------------------------------------------
>
> Key: TEIID-2909
> URL: https://issues.jboss.org/browse/TEIID-2909
> Project: Teiid
> Issue Type: Feature Request
> Components: AdminApi
> Affects Versions: 8.4
> Reporter: Mark Drilling
> Assignee: Steven Hawkins
>
> For some data source types, there are associated propertyDefinitions that are marked 'required'. However, they are not always required.
> I'm referring to TeiidPropertyDefinition list returned by adminApi.getTemplatePropertyDefns(), for example.
> Google source is example of a source containing this type of property definition.
> https://docs.jboss.org/author/display/teiid84final/Google+Spreadsheet+Dat...
> For example 'RefreshToken' is marked as required, but it is only required based on the value of another property (AuthMethod).
> Can teiid provide these additional conditions along with the propertyDefinition? Without this information we are forced to hard-code the validation rules into our client application.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 9 months
[JBoss JIRA] (TEIID-2909) Provide more info for TeiidPropertyDefinition marked 'isRequired' but with conditions
by Mark Drilling (JIRA)
[ https://issues.jboss.org/browse/TEIID-2909?page=com.atlassian.jira.plugin... ]
Mark Drilling commented on TEIID-2909:
--------------------------------------
going back to the google source, consider these properties:
AuthMethod (isRequired=true)
Username (isRequired=true)
Password (isRequired=true)
RefreshToken (isRequired=true)
According to the documentation, Username and Password are only required if AuthMethod=ClientLogin . Similarly, RefreshToken is only required if AuthMethod=OAuth2.
So in #1 , are you saying the above definitions are wrong and need fixing under current implementation? How would they be changed?
#2 - The property descriptions for the above are empty. Even if they had descriptions, that is insufficient for us to data drive our tooling.
Heres a possible solution:
AuthMethod (isRequired=true)
Username (isRequired=true, requiredWhen='AuthMethod=ClientLogin')
Password (isRequired=true, requiredWhen='AuthMethod=ClientLogin')
RefreshToken (isRequired=true, requiredWhen='AuthMethod=OAuth2')
> Provide more info for TeiidPropertyDefinition marked 'isRequired' but with conditions
> -------------------------------------------------------------------------------------
>
> Key: TEIID-2909
> URL: https://issues.jboss.org/browse/TEIID-2909
> Project: Teiid
> Issue Type: Feature Request
> Components: AdminApi
> Affects Versions: 8.4
> Reporter: Mark Drilling
> Assignee: Steven Hawkins
>
> For some data source types, there are associated propertyDefinitions that are marked 'required'. However, they are not always required.
> I'm referring to TeiidPropertyDefinition list returned by adminApi.getTemplatePropertyDefns(), for example.
> Google source is example of a source containing this type of property definition.
> https://docs.jboss.org/author/display/teiid84final/Google+Spreadsheet+Dat...
> For example 'RefreshToken' is marked as required, but it is only required based on the value of another property (AuthMethod).
> Can teiid provide these additional conditions along with the propertyDefinition? Without this information we are forced to hard-code the validation rules into our client application.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 9 months
[JBoss JIRA] (TEIID-2904) Expose "import" and "extension-metadata" Translator Properties through Admin API
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2904?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-2904:
---------------------------------------
It is null yes:
14:02:45,669 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC00001: Failed to start service jboss.deployment.unit."fake.jar".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."fake.jar".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment "fake.jar"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:127) [jboss-as-server-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_09-icedtea]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_09-icedtea]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09-icedtea]
Caused by: java.lang.NullPointerException
at org.teiid.translator.BaseDelegatingExecutionFactory.getMetadataProcessor(BaseDelegatingExecutionFactory.java:497)
at org.teiid.deployers.TranslatorUtil.buildTranslatorProperties(TranslatorUtil.java:264)
at org.teiid.deployers.TranslatorUtil.buildTranslatorMetadata(TranslatorUtil.java:236)
at org.teiid.jboss.TranslatorDeployer.deploy(TranslatorDeployer.java:68)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:120) [jboss-as-server-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]
... 5 more
Getting the metadata is run against a default instance that does not have a delegate.
> Expose "import" and "extension-metadata" Translator Properties through Admin API
> --------------------------------------------------------------------------------
>
> Key: TEIID-2904
> URL: https://issues.jboss.org/browse/TEIID-2904
> Project: Teiid
> Issue Type: Enhancement
> Components: AdminApi
> Reporter: Ramesh Reddy
> Assignee: Ramesh Reddy
> Labels: CR1
> Fix For: 8.7
>
>
> Currently only "override" translator properties are exposed through Admin API. Teiid should also expose
> * import properties
> * extension metadata proeprties
> for tooling purposes. Right now Teiid Connection importer in Designer, a user has to manually enter these values.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 9 months
[JBoss JIRA] (TEIID-2909) Provide more info for TeiidPropertyDefinition marked 'isRequired' but with conditions
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-2909?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-2909:
-------------------------------------
1) If something is marked "required", only required with when other property is defined, then that required property has been defined in-correctly, that needs to be fixed.
2) As per being required state when other property is in play, that will be explained on the property description, and IMO that is sufficient. Yes, Teiid does check the properties in those situations, and fail if the needed property is needed is not available with proper error message indicating the user to take corrective action. Note that this not common either.
If you think the above is not sufficient, and we need further elaborate framework, you can propose *how* you you see this can be solved.
> Provide more info for TeiidPropertyDefinition marked 'isRequired' but with conditions
> -------------------------------------------------------------------------------------
>
> Key: TEIID-2909
> URL: https://issues.jboss.org/browse/TEIID-2909
> Project: Teiid
> Issue Type: Feature Request
> Components: AdminApi
> Affects Versions: 8.4
> Reporter: Mark Drilling
> Assignee: Steven Hawkins
>
> For some data source types, there are associated propertyDefinitions that are marked 'required'. However, they are not always required.
> I'm referring to TeiidPropertyDefinition list returned by adminApi.getTemplatePropertyDefns(), for example.
> Google source is example of a source containing this type of property definition.
> https://docs.jboss.org/author/display/teiid84final/Google+Spreadsheet+Dat...
> For example 'RefreshToken' is marked as required, but it is only required based on the value of another property (AuthMethod).
> Can teiid provide these additional conditions along with the propertyDefinition? Without this information we are forced to hard-code the validation rules into our client application.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 9 months
[JBoss JIRA] (TEIID-2904) Expose "import" and "extension-metadata" Translator Properties through Admin API
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2904?page=com.atlassian.jira.plugin... ]
Steven Hawkins reopened TEIID-2904:
-----------------------------------
An NPE will cause deployment to fail if a delegating translator is asked for the importer/extension properties - see org.teiid.arquillian.IntegrationTestDeployment.testChainedDelegates
Seems like the BaseDelegatingExecutionFactory should return a null MetadataProcessor correct?
> Expose "import" and "extension-metadata" Translator Properties through Admin API
> --------------------------------------------------------------------------------
>
> Key: TEIID-2904
> URL: https://issues.jboss.org/browse/TEIID-2904
> Project: Teiid
> Issue Type: Enhancement
> Components: AdminApi
> Reporter: Ramesh Reddy
> Assignee: Ramesh Reddy
> Labels: CR1
> Fix For: 8.7
>
>
> Currently only "override" translator properties are exposed through Admin API. Teiid should also expose
> * import properties
> * extension metadata proeprties
> for tooling purposes. Right now Teiid Connection importer in Designer, a user has to manually enter these values.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 9 months