[JBoss JIRA] (TEIID-4220) Unsupported encoding when POSTing to odata on Windows
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4220?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4220:
---------------------------------------
Is it ok to reject this?
> Unsupported encoding when POSTing to odata on Windows
> -----------------------------------------------------
>
> Key: TEIID-4220
> URL: https://issues.jboss.org/browse/TEIID-4220
> Project: Teiid
> Issue Type: Bug
> Components: OData
> Affects Versions: 8.12.x
> Reporter: Andrej Šmigala
> Assignee: Steven Hawkins
> Priority: Critical
>
> When posting to a windows server from a windows client, the default encoding is cp1252. When an xml request such as this is posted:
> {code:xml}
> <?xml version='1.0' encoding='cp1252'?><entry xmlns="http://www.w3.org/2005/Atom" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:m="http://docs.oasis-open.org/odata/ns/metadata" xmlns:d="http://docs.oasis-open.org/odata/ns/data" xmlns:gml="http://www.opengis.net/gml" xmlns:georss="http://www.georss.org/georss"><category scheme="http://docs.oasis-open.org/odata/ns/scheme"/>
> <content type="application/xml">
> <m:properties>
> <d:intkey m:type="Int32">4</d:intkey>
> <d:intnum m:type="Int32">4</d:intnum>
> <d:stringkey>4</d:stringkey>
> <d:stringval>value_4</d:stringval>
> <d:booleanval m:type="Boolean">false</d:booleanval>
> <d:decimalval m:type="Double">-20.4</d:decimalval>
> <d:timeval m:type="TimeOfDay">00:00:04</d:timeval>
> <d:dateval m:type="Date">2004-04-04</d:dateval>
> <d:timestampval m:type="DateTimeOffset">2004-01-01T00:00:04Z</d:timestampval>
> </m:properties>
> </content>
> </entry>
> {code}
> the following error is logged in the server:
> {noformat}
> 09:54:38,069 WARN [org.teiid.ODATA] (http-/0.0.0.0:8080-1) TEIID16050 Unable to process odata request due to: An I/O exception occurred. with cause Unsupported encoding: IBM1252: Unsupported encoding: IBM1252
> at org.apache.olingo.server.core.deserializer.xml.ODataXmlDeserializer.entity(ODataXmlDeserializer.java:592)
> at org.apache.olingo.server.core.requests.DataRequest$EntityRequest.getEntityFromClient(DataRequest.java:367)
> at org.apache.olingo.server.core.requests.DataRequest$EntityRequest.execute(DataRequest.java:359)
> at org.apache.olingo.server.core.requests.DataRequest.execute(DataRequest.java:255)
> at org.apache.olingo.server.core.ServiceDispatcher.internalExecute(ServiceDispatcher.java:160)
> at org.apache.olingo.server.core.ServiceDispatcher.execute(ServiceDispatcher.java:98)
> at org.apache.olingo.server.core.OData4HttpHandler.process(OData4HttpHandler.java:66)
> at org.teiid.olingo.web.ODataServlet.service(ODataServlet.java:43) [teiid-olingo-8.12.5.redhat-4.jar:8.12.5.redhat-4]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-2.jar:1.0.2.Final-redhat-2]
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
> at org.teiid.olingo.web.ODataFilter.internalDoFilter(ODataFilter.java:226) [teiid-olingo-8.12.5.redhat-4.jar:8.12.5.redhat-4]
> at org.teiid.olingo.web.ODataFilter.doFilter(ODataFilter.java:100) [teiid-olingo-8.12.5.redhat-4.jar:8.12.5.redhat-4]
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:512) [jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
> at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.5.4.Final-redhat-4.jar:7.5.4.Final-redhat-4]
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150) [jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854) [jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) [jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
> at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_79]
> Caused by: com.ctc.wstx.exc.WstxIOException: Unsupported encoding: IBM1252
> at com.ctc.wstx.io.StreamBootstrapper.bootstrapInput(StreamBootstrapper.java:247)
> at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:546)
> at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:600)
> at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:615)
> at com.ctc.wstx.stax.WstxInputFactory.createXMLEventReader(WstxInputFactory.java:269)
> at __redirected.__XMLInputFactory.createXMLEventReader(__XMLInputFactory.java:170) [jboss-modules.jar:1.3.7.Final-redhat-1]
> at org.apache.olingo.server.core.deserializer.xml.ODataXmlDeserializer.getReader(ODataXmlDeserializer.java:97)
> at org.apache.olingo.server.core.deserializer.xml.ODataXmlDeserializer.entity(ODataXmlDeserializer.java:583)
> ... 26 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 7 months
[JBoss JIRA] (TEIID-3836) Create a quick start to demonstrate OData
by Van Halbert (JIRA)
[ https://issues.jboss.org/browse/TEIID-3836?page=com.atlassian.jira.plugin... ]
Work on TEIID-3836 started by Van Halbert.
------------------------------------------
> Create a quick start to demonstrate OData
> -----------------------------------------
>
> Key: TEIID-3836
> URL: https://issues.jboss.org/browse/TEIID-3836
> Project: Teiid
> Issue Type: Task
> Components: Quick Starts
> Affects Versions: 9.x
> Reporter: Kylin Soong
> Assignee: Van Halbert
> Fix For: 9.1
>
>
> Add a quick start to demonstrate OData api may helpful for users.
> After deploy portfolio-vdb.xml successful, I test with(http://localhost:8080/odata/Portfolio.1/Stocks.StockPrices) return a error:
> {code}
> TEIID16011 EntitySet "Stocks.StockPrices" is not found; Check the spelling, use modelName.tableName; The table that representing the Entity type must either have a PRIMARY KEY or UNIQUE key(s)
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 7 months
[JBoss JIRA] (TEIID-4227) Impala Translator - Support Multiple Count Distinct with Group By
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4227?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4227:
---------------------------------------
> Hi Steven Hawkins an approximate count distinct isn't going to work for us as our reporting requires exact results.
That's unfortunate as that would greatly simply things. Do you have an idea of the performance implications here? That is there a threshold at which it's better for Teiid to perform the aggregation? For example would it be possible to test with a patched or other translator modification that disables group by support?
> One solution could be to use NVL around the join column
That does not work as you can conflict with actual values.
> Impala Translator - Support Multiple Count Distinct with Group By
> -----------------------------------------------------------------
>
> Key: TEIID-4227
> URL: https://issues.jboss.org/browse/TEIID-4227
> Project: Teiid
> Issue Type: Feature Request
> Components: Misc. Connectors
> Affects Versions: 8.13.3
> Reporter: Scott Wallace
> Assignee: Steven Hawkins
>
> This is somewhat related to TEIID-3743, which added support of multiple count distinct metrics. We have a requirement to allow multiple count distinct metrics grouped by common attributes.
> Currently, we get a failure as follows:
> {noformat}org.teiid.runtime.client.TeiidClientException: java.lang.RuntimeException: Remote org.teiid.core.TeiidProcessingException: TEIID30504 vw_impression_click_transaction_process_date_detail: 500051 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0.process_date_key, SUM(g_0.num_clicks), SUM(g_0.num_impressions), COUNT(DISTINCT g_0.orderid), COUNT(DISTINCT g_0.`hash_tid`), SUM(g_0.sales) FROM detail.vw_impression_click_transaction_process_date_detail g_0 WHERE g_0.process_date_key >= '2016-05-22' AND g_0.process_date_key < '2016-05-23' AND g_0.advertiser_key = 12345 GROUP BY g_0.process_date_key]
> {noformat}
> To allow this request to succeed, we could have translator write that Impala query as:
> {noformat}
> select nvl(v1.c1,v2.c1), nvl(v1.c2,v1.c2), nvl(v1.c3,v1.c3), v1.c4, v2.c5, nvl(v1.c6,v1.c6) from (
> SELECT g_0.process_date_key as c1,
> SUM(g_0.num_clicks) as c2,
> SUM(g_0.num_impressions) as c3,
> COUNT(DISTINCT g_0.orderid) as c4,
> SUM(g_0.sales) as c6
> FROM detail.vw_impression_click_transaction_process_date_detail g_0
> WHERE g_0.process_date_key >= '2016-05-22'
> AND g_0.process_date_key < '2016-05-23'
> AND g_0.advertiser_key = 12345
> GROUP BY g_0.process_date_key
> ) v1 inner join
> (
> SELECT g_0.process_date_key as c1,
> SUM(g_0.num_clicks) as c2,
> SUM(g_0.num_impressions) as c3,
> COUNT(DISTINCT g_0.`hash_tid`) as c5,
> SUM(g_0.sales) as c6
> FROM detail.vw_impression_click_transaction_process_date_detail g_0
> WHERE g_0.process_date_key >= '2016-05-22'
> AND g_0.process_date_key < '2016-05-23'
> AND g_0.advertiser_key = 12345
> GROUP BY g_0.process_date_key
> ) v2 on v1.c1 = v2.c1;
> {noformat}
> FYI [~shawkins]
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 7 months
[JBoss JIRA] (TEIID-4227) Impala Translator - Support Multiple Count Distinct with Group By
by Scott Wallace (JIRA)
[ https://issues.jboss.org/browse/TEIID-4227?page=com.atlassian.jira.plugin... ]
Scott Wallace commented on TEIID-4227:
--------------------------------------
Hi [~shawkins] an approximate count distinct isn't going to work for us as our reporting requires exact results.
I see what you mean about nulls in the on clause, though.
One solution could be to use NVL around the join column. However, you'd need to be aware of data types.
if c1 is a string you could use: nvl(v1.c1,'') = nvl(v2.c1,'')
if c1 is a number you could use: nvl(v1.c1,0) = nvl(v2.c1,0)
You still get the correct null value in the results, but the join is handled.
> Impala Translator - Support Multiple Count Distinct with Group By
> -----------------------------------------------------------------
>
> Key: TEIID-4227
> URL: https://issues.jboss.org/browse/TEIID-4227
> Project: Teiid
> Issue Type: Feature Request
> Components: Misc. Connectors
> Affects Versions: 8.13.3
> Reporter: Scott Wallace
> Assignee: Steven Hawkins
>
> This is somewhat related to TEIID-3743, which added support of multiple count distinct metrics. We have a requirement to allow multiple count distinct metrics grouped by common attributes.
> Currently, we get a failure as follows:
> {noformat}org.teiid.runtime.client.TeiidClientException: java.lang.RuntimeException: Remote org.teiid.core.TeiidProcessingException: TEIID30504 vw_impression_click_transaction_process_date_detail: 500051 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0.process_date_key, SUM(g_0.num_clicks), SUM(g_0.num_impressions), COUNT(DISTINCT g_0.orderid), COUNT(DISTINCT g_0.`hash_tid`), SUM(g_0.sales) FROM detail.vw_impression_click_transaction_process_date_detail g_0 WHERE g_0.process_date_key >= '2016-05-22' AND g_0.process_date_key < '2016-05-23' AND g_0.advertiser_key = 12345 GROUP BY g_0.process_date_key]
> {noformat}
> To allow this request to succeed, we could have translator write that Impala query as:
> {noformat}
> select nvl(v1.c1,v2.c1), nvl(v1.c2,v1.c2), nvl(v1.c3,v1.c3), v1.c4, v2.c5, nvl(v1.c6,v1.c6) from (
> SELECT g_0.process_date_key as c1,
> SUM(g_0.num_clicks) as c2,
> SUM(g_0.num_impressions) as c3,
> COUNT(DISTINCT g_0.orderid) as c4,
> SUM(g_0.sales) as c6
> FROM detail.vw_impression_click_transaction_process_date_detail g_0
> WHERE g_0.process_date_key >= '2016-05-22'
> AND g_0.process_date_key < '2016-05-23'
> AND g_0.advertiser_key = 12345
> GROUP BY g_0.process_date_key
> ) v1 inner join
> (
> SELECT g_0.process_date_key as c1,
> SUM(g_0.num_clicks) as c2,
> SUM(g_0.num_impressions) as c3,
> COUNT(DISTINCT g_0.`hash_tid`) as c5,
> SUM(g_0.sales) as c6
> FROM detail.vw_impression_click_transaction_process_date_detail g_0
> WHERE g_0.process_date_key >= '2016-05-22'
> AND g_0.process_date_key < '2016-05-23'
> AND g_0.advertiser_key = 12345
> GROUP BY g_0.process_date_key
> ) v2 on v1.c1 = v2.c1;
> {noformat}
> FYI [~shawkins]
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 7 months