[JBoss JIRA] (TEIID-3725) In the JDG translators, enable named cache swapping so that materialization can be supported
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3725?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-3725:
---------------------------------------
Should this be marked as resolved based upon the pull request or is there still more to do/document?
> In the JDG translators, enable named cache swapping so that materialization can be supported
> --------------------------------------------------------------------------------------------
>
> Key: TEIID-3725
> URL: https://issues.jboss.org/browse/TEIID-3725
> Project: Teiid
> Issue Type: Feature Request
> Components: Misc. Connectors
> Affects Versions: 8.12
> Reporter: Van Halbert
> Assignee: Van Halbert
> Fix For: 9.0, 8.12.5
>
>
> The JDG translators, that in order to support materialization, will need to enable the named cache that's referenced by the connection, to be swapped. This is due to JDG doesn't currently support renaming a cache (i.e., like table rename in JDBC). And because of that, it limits how the cache can be refreshed (don't want to clear it before re-loading).
> Ideas are:
> 1. configure translator with the 2 cache names to use (a) initial cache to read from and (b) the staging cache to use
> perform materialize load
> call SYSADMIN.setProperty to trigger the swapping of the cache names
> 2 ???
> Note: because there's no persistence in Teiid so that any cache name changes will outlive a server restart, when a restart occurs, the translator will read from the cache identified as the initial cache to read from.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (TEIID-3933) Accumulo translator: problem comparing number literals
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-3933?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration updated TEIID-3933:
-------------------------------------------
Bugzilla References: https://bugzilla.redhat.com/show_bug.cgi?id=1301665
Bugzilla Update: Perform
> Accumulo translator: problem comparing number literals
> ------------------------------------------------------
>
> Key: TEIID-3933
> URL: https://issues.jboss.org/browse/TEIID-3933
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.3
> Reporter: Jan Stastny
> Assignee: Ramesh Reddy
>
> When accessing Accumulo instance using accumulo translator with table DDL defined in the model's metadata, there are problems filtering the output in from clause.
> For example, when there is a comparison between a column of type long with literal value 3, an exception, whose cause is below, is thrown on accumulo's side:
> {code:sql}
> SELECT * FROM accumulo.SmallA WHERE LongNum>3
> {code}
> {code:plain}
> Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
> at java.lang.Long.compareTo(Long.java:50)
> at org.teiid.query.sql.symbol.Constant$2.compare(Constant.java:99)
> at org.teiid.query.eval.Evaluator.compare(Evaluator.java:645)
> at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:373)
> at org.teiid.query.eval.Evaluator.internalEvaluateTVL(Evaluator.java:237)
> at org.teiid.query.eval.Evaluator.evaluateTVL(Evaluator.java:226)
> at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:220)
> at org.teiid.translator.accumulo.EvaluatorIterator.acceptRow(EvaluatorIterator.java:229)
> at org.teiid.translator.accumulo.EvaluatorIterator.filter(EvaluatorIterator.java:184)
> at org.teiid.translator.accumulo.EvaluatorIterator.prepKeys(EvaluatorIterator.java:180)
> at org.teiid.translator.accumulo.EvaluatorIterator.seek(EvaluatorIterator.java:159)
> at org.apache.accumulo.core.iterators.WrappingIterator.seek(WrappingIterator.java:101)
> at org.apache.accumulo.core.iterators.user.VersioningIterator.seek(VersioningIterator.java:81)
> at org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.readNext(SourceSwitchingIterator.java:116)
> at org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.seek(SourceSwitchingIterator.java:168)
> at org.apache.accumulo.server.tabletserver.Tablet.nextBatch(Tablet.java:1737)
> at org.apache.accumulo.server.tabletserver.Tablet.access$3200(Tablet.java:152)
> at org.apache.accumulo.server.tabletserver.Tablet$Scanner.read(Tablet.java:1879)
> at org.apache.accumulo.server.tabletserver.TabletServer$ThriftClientHandler$NextBatchTask.run(TabletServer.java:945)
> at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47)
> {code}
> but when I provide a value higher, than can be saved in integer, thus the type of the literal is inferred as long, the query runs as expected.
> {code:sql}
> SELECT * FROM accumulo.SmallA WHERE LongNum>30000000000000000000
> {code}
> Similar problems I had with
> ||Column type||Literal||Inferred type||Rootcause message||
> |long|3|Integer|java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long|
> |biginteger|3|Integer|java.lang.ClassCastException: java.lang.Integer cannot be cast to java.math.BigInteger|
> |double|3.0|BigDecimal|java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Double|
> |float|3.0|BigDecimal|java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Float|
> rest of the cause's stacktrace look the same.
> In Squirrel I get:
> {code:plain}
> TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 node-one: Error on server 127.0.0.1:9997
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (TEIID-3933) Accumulo translator: problem comparing number literals
by Jan Stastny (JIRA)
Jan Stastny created TEIID-3933:
----------------------------------
Summary: Accumulo translator: problem comparing number literals
Key: TEIID-3933
URL: https://issues.jboss.org/browse/TEIID-3933
Project: Teiid
Issue Type: Bug
Components: Misc. Connectors
Affects Versions: 8.12.3
Reporter: Jan Stastny
Assignee: Ramesh Reddy
When accessing Accumulo instance using accumulo translator with table DDL defined in the model's metadata, there are problems filtering the output in from clause.
For example, when there is a comparison between a column of type long with literal value 3, an exception, whose cause is below, is thrown on accumulo's side:
{code:sql}
SELECT * FROM accumulo.SmallA WHERE LongNum>3
{code}
{code:plain}
Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
at java.lang.Long.compareTo(Long.java:50)
at org.teiid.query.sql.symbol.Constant$2.compare(Constant.java:99)
at org.teiid.query.eval.Evaluator.compare(Evaluator.java:645)
at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:373)
at org.teiid.query.eval.Evaluator.internalEvaluateTVL(Evaluator.java:237)
at org.teiid.query.eval.Evaluator.evaluateTVL(Evaluator.java:226)
at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:220)
at org.teiid.translator.accumulo.EvaluatorIterator.acceptRow(EvaluatorIterator.java:229)
at org.teiid.translator.accumulo.EvaluatorIterator.filter(EvaluatorIterator.java:184)
at org.teiid.translator.accumulo.EvaluatorIterator.prepKeys(EvaluatorIterator.java:180)
at org.teiid.translator.accumulo.EvaluatorIterator.seek(EvaluatorIterator.java:159)
at org.apache.accumulo.core.iterators.WrappingIterator.seek(WrappingIterator.java:101)
at org.apache.accumulo.core.iterators.user.VersioningIterator.seek(VersioningIterator.java:81)
at org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.readNext(SourceSwitchingIterator.java:116)
at org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.seek(SourceSwitchingIterator.java:168)
at org.apache.accumulo.server.tabletserver.Tablet.nextBatch(Tablet.java:1737)
at org.apache.accumulo.server.tabletserver.Tablet.access$3200(Tablet.java:152)
at org.apache.accumulo.server.tabletserver.Tablet$Scanner.read(Tablet.java:1879)
at org.apache.accumulo.server.tabletserver.TabletServer$ThriftClientHandler$NextBatchTask.run(TabletServer.java:945)
at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47)
{code}
but when I provide a value higher, than can be saved in integer, thus the type of the literal is inferred as long, the query runs as expected.
{code:sql}
SELECT * FROM accumulo.SmallA WHERE LongNum>30000000000000000000
{code}
Similar problems I had with
||Column type||Literal||Inferred type||Rootcause message||
|long|3|Integer|java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long|
|biginteger|3|Integer|java.lang.ClassCastException: java.lang.Integer cannot be cast to java.math.BigInteger|
|double|3.0|BigDecimal|java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Double|
|float|3.0|BigDecimal|java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Float|
rest of the cause's stacktrace look the same.
In Squirrel I get:
{code:plain}
TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 node-one: Error on server 127.0.0.1:9997
{code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (TEIID-3725) In the JDG translators, enable named cache swapping so that materialization can be supported
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3725?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-3725:
----------------------------------
Fix Version/s: 9.0
8.12.5
(was: 8.12.x)
(was: 63-8.12.x)
> In the JDG translators, enable named cache swapping so that materialization can be supported
> --------------------------------------------------------------------------------------------
>
> Key: TEIID-3725
> URL: https://issues.jboss.org/browse/TEIID-3725
> Project: Teiid
> Issue Type: Feature Request
> Components: Misc. Connectors
> Affects Versions: 8.12
> Reporter: Van Halbert
> Assignee: Van Halbert
> Fix For: 9.0, 8.12.5
>
>
> The JDG translators, that in order to support materialization, will need to enable the named cache that's referenced by the connection, to be swapped. This is due to JDG doesn't currently support renaming a cache (i.e., like table rename in JDBC). And because of that, it limits how the cache can be refreshed (don't want to clear it before re-loading).
> Ideas are:
> 1. configure translator with the 2 cache names to use (a) initial cache to read from and (b) the staging cache to use
> perform materialize load
> call SYSADMIN.setProperty to trigger the swapping of the cache names
> 2 ???
> Note: because there's no persistence in Teiid so that any cache name changes will outlive a server restart, when a restart occurs, the translator will read from the cache identified as the initial cache to read from.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (TEIID-3906) OData v4 - definition of OData-Isolation header is either being ignored or is not implemented correctly
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-3906?page=com.atlassian.jira.plugin... ]
Ramesh Reddy updated TEIID-3906:
--------------------------------
Parent: TEIID-3932
Issue Type: Sub-task (was: Bug)
Steps to Reproduce: (was: # Request \[1\]
# Request \[2\]
# Data modification via JDBC
# Request \[2\]
Data returned from steps 2. and 4. are different.
\[1\]
{code:java}
Jsoup.connect("http://localhost:8080/odata4/Redshift/Source/SmallA/?$select=IntKey")
.header("Authorization", "Basic "+ Base64.encodeBytes(("user:user").getBytes()))
.header("OData-MaxVersion", "4.0")
.header("Accept", "application/xml")
.header("OData-Isolation", "snapshot")
.header("Prefer", "odata.maxpagesize=10")
{code}
\[2\]
{code:java}
Jsoup.connect("http://localhost:8080/odata4/Redshift/Source/SmallA/?$select=IntKey&$skip...")
.header("Authorization", "Basic "+ Base64.encodeBytes(("user:user").getBytes()))
.header("OData-MaxVersion", "4.0")
.header("Accept", "application/xml")
.header("Prefer", "odata.maxpagesize=10")
{code})
> OData v4 - definition of OData-Isolation header is either being ignored or is not implemented correctly
> -------------------------------------------------------------------------------------------------------
>
> Key: TEIID-3906
> URL: https://issues.jboss.org/browse/TEIID-3906
> Project: Teiid
> Issue Type: Sub-task
> Components: OData
> Affects Versions: 8.12.3
> Environment: Teiid - OData v4
> Reporter: Juraj Duráni
> Assignee: Ramesh Reddy
>
> Teiid does not process header *OData-Isolation: snapshot* defined in request correctly.
> * if service (Teiid) does not support this option it must return error 412
> * if Teiid does supports this option then it is not processed correctly, because modifications made during request are visbile
> See http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part1-pr...
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (TEIID-3932) Upgrade the Olingo library to 4.2.0
by Ramesh Reddy (JIRA)
Ramesh Reddy created TEIID-3932:
-----------------------------------
Summary: Upgrade the Olingo library to 4.2.0
Key: TEIID-3932
URL: https://issues.jboss.org/browse/TEIID-3932
Project: Teiid
Issue Type: Task
Components: OData
Reporter: Ramesh Reddy
Assignee: Ramesh Reddy
Upgrade the Olingo library to 4.2.0, this will also be used as bucket to all the related issues, patches that needs to be removed when the library is upgraded to 4.2.0
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (TEIID-3914) Datetime values not properly encoded in OData4 entity identifiers
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-3914?page=com.atlassian.jira.plugin... ]
Ramesh Reddy resolved TEIID-3914.
---------------------------------
Resolution: Done
Committed to 8.12.5
> Datetime values not properly encoded in OData4 entity identifiers
> -----------------------------------------------------------------
>
> Key: TEIID-3914
> URL: https://issues.jboss.org/browse/TEIID-3914
> Project: Teiid
> Issue Type: Bug
> Components: OData
> Affects Versions: 8.12.4
> Reporter: Simon Evenepoel
> Assignee: Ramesh Reddy
> Labels: odata,
> Fix For: 8.13, 9.0, 8.12.5
>
> Attachments: TEIID-3914.diff
>
>
> When the primary key of an OData entry consists of a timestamp or datetime value an odata get request returns the following error message:
> java.net.URISyntaxException: Illegal character in scheme name at index n: tablename(partofkey='keyvalue',datepartofkey=2016-01-13 11:25:03.884)
> For more information visit this thread on the user forums in which [~shawkins] said:
> _"Actually there is an issue with our handling of building the entity id to go into the response. We are not properly encoding datatime values.''_
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (TEIID-3930) Accumulo translator: select rowid returns empty resultset
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-3930?page=com.atlassian.jira.plugin... ]
Ramesh Reddy reassigned TEIID-3930:
-----------------------------------
Assignee: Ramesh Reddy (was: Steven Hawkins)
> Accumulo translator: select rowid returns empty resultset
> ---------------------------------------------------------
>
> Key: TEIID-3930
> URL: https://issues.jboss.org/browse/TEIID-3930
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.3
> Reporter: Jan Stastny
> Assignee: Ramesh Reddy
>
> Accumulo translator, according to its [documentation|https://docs.jboss.org/author/display/teiid812final/Apache+...], enables querying accumulo through teiid's vdb with table like:
> {code:xml}
> CREATE FOREIGN TABLE "User" (
> rowid string OPTIONS (UPDATABLE FALSE, SEARCHABLE 'All_Except_Like'),
> name_age string OPTIONS (SEARCHABLE 'All_Except_Like', "teiid_accumulo:CF" 'name', "teiid_accumulo:CQ" 'age', "teiid_accumulo:VALUE-IN" '{VALUE}'),
> name_firstname string OPTIONS (SEARCHABLE 'All_Except_Like', "teiid_accumulo:CF" 'name', "teiid_accumulo:CQ" 'firstname', "teiid_accumulo:VALUE-IN" '{VALUE}'),
> name_lastname string OPTIONS (SEARCHABLE 'All_Except_Like', "teiid_accumulo:CF" 'name', "teiid_accumulo:CQ" 'lastname', "teiid_accumulo:VALUE-IN" '{VALUE}'),
> CONSTRAINT PK0 PRIMARY KEY(rowid)
> ) OPTIONS (UPDATABLE TRUE);
> {code}
> The problem is, that querying for rowid column won't return any results:
> Query
> {code:sql}
> SELECT rowid FROM User;
> {code}
> does return empty resultset.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months