[JBoss JIRA] (TEIID-3945) Switch to more standard locations for google dependencies
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-3945:
-------------------------------------
Summary: Switch to more standard locations for google dependencies
Key: TEIID-3945
URL: https://issues.jboss.org/browse/TEIID-3945
Project: Teiid
Issue Type: Task
Components: Misc. Connectors
Reporter: Steven Hawkins
Assignee: Steven Hawkins
We add gdata dependencies to the JBoss third-party / developer repo since they weren't generally available at the time. But now they are available through maven central.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 10 months
[JBoss JIRA] (TEIID-3939) Refined Behavior of Connection.setReadOnly
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3939?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-3939.
-----------------------------------
Resolution: Done
After assessing our options and other implementations, I just opted for narrowing the scope on when an exception is thrown. We'll still toggle the flag value - but will not have a server side affect yet. This behavior will also be documented in the client guide.
> Refined Behavior of Connection.setReadOnly
> ------------------------------------------
>
> Key: TEIID-3939
> URL: https://issues.jboss.org/browse/TEIID-3939
> Project: Teiid
> Issue Type: Quality Risk
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 9.0
>
>
> The readOnly flag on the connection is not used by the server. Since it is only a hint we should not imply that it is set or we should actually use the value.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 10 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 resolved TEIID-3930.
---------------------------------
Fix Version/s: 9.0
8.12.5
Resolution: Done
This was a bug, corrected the code to allow it.
> 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
> Fix For: 9.0, 8.12.5
>
>
> 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, 10 months
[JBoss JIRA] (TEIID-3933) Accumulo translator: problem comparing number literals
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-3933?page=com.atlassian.jira.plugin... ]
Ramesh Reddy resolved TEIID-3933.
---------------------------------
Fix Version/s: 9.0
8.12.5
Resolution: Done
Used Java object serialization for the objects saved in Accumulo store, not in String (not byte[]) form, thus avoiding the issue.
> 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
> Fix For: 9.0, 8.12.5
>
>
> 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, 10 months
[JBoss JIRA] (TEIID-3921) Accumulo translator doesn't end query execution when there are no tablet servers
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-3921?page=com.atlassian.jira.plugin... ]
Ramesh Reddy resolved TEIID-3921.
---------------------------------
Fix Version/s: 9.0
8.12.5
Resolution: Done
Added a check to the connection logic to test for availability of the Tablet server, if one not found then request fails immediately not causing the thread to be in stuck to keep checking for the tablet server.
Please note with 1.7.0 of Accumulo this need to be modified for new API.
> Accumulo translator doesn't end query execution when there are no tablet servers
> --------------------------------------------------------------------------------
>
> Key: TEIID-3921
> URL: https://issues.jboss.org/browse/TEIID-3921
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.3
> Reporter: Jan Stastny
> Assignee: Ramesh Reddy
> Fix For: 9.0, 8.12.5
>
>
> Teiid accumulo translator doesn't interrupt query execution when the accumulo instance is not running.
> There might be a situation that Zookeeper instance is running, but Accumulo is not.
> The translator, even though there is no tablet server entry in zookeeper, for given accumulo instance, executes the query. The query is running until query timeout exceeds. There is no indication of the fact, that accumulo tablet server is not present/responding except for
> {code}
> 09:25:46,539 WARN [org.apache.accumulo.core.client.impl.ServerClient] (Worker3_QueryProcessorQueue21) There are no tablet servers: check that zookeeper and accumulo are running.
> {code}
> There might be even situation, that Accumulo stopped in unusual way and didn't alter the tablet server information in Zookeeper, this way, there is a tablet server entry present in Zookeeper, but the tablet server is in fact not running. So Teiid should check the tablet server's address which received from Zookeeper.
> Interesting to note is the fact, that the same problem can be examined in accumulo's shell:
> {code}
> $ bin/accumulo shell -u root
> Password: ******
> 2016-01-22 10:02:05,604 [impl.ServerClient] WARN : There are no tablet servers: check that zookeeper and accumulo are running.
> {code}
> and then the shell hangs. Teiid needs to overcome this limitation.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 10 months
[JBoss JIRA] (TEIID-3944) Accumulo translator: rowid column is compared as string in WHERE clause
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-3944?page=com.atlassian.jira.plugin... ]
Ramesh Reddy resolved TEIID-3944.
---------------------------------
Resolution: Done
Using the Lexicoder resolves this issue
> Accumulo translator: rowid column is compared as string in WHERE clause
> -----------------------------------------------------------------------
>
> Key: TEIID-3944
> URL: https://issues.jboss.org/browse/TEIID-3944
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.3
> Reporter: Jan Stastny
> Assignee: Ramesh Reddy
>
> When in SOURCE model user specifies the required rowid column as integer:
> {code:xml}
> CREATE FOREIGN TABLE "SmallA" (
> rowid integer OPTIONS (UPDATABLE FALSE, SEARCHABLE 'All_Except_Like'),
> .
> .
> .
> {code}
> and performs similar query:
> {code:sql}
> Select rowid, StringKey From accumulo.SmallA WHERE rowid >= 15 ORDER BY rowid
> {code}
> following results are returned:
> || rowid | StringKey ||
> || 2 | 2 ||
> || 3 | 3 ||
> || 4 | 4 ||
> || 5 | 5 ||
> || 6 | 6 ||
> || 7 | 7 ||
> || 8 | 8 ||
> || 9 | 9 ||
> || 15 | 15 ||
> || ... | ... ||
> and given the fact, that rowid is modelled as integer, values 2,3,4,5,6,7,8,9 shouldn't appear in the result set. Interesting to note is that the resultset is then ordered by rowid, but this time correctly as expected.
> Other integer columns, mapped from accumulo's Column Family: Column Qualifier pairs works as expected and are being compared as corresponding types.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 10 months
[JBoss JIRA] (TEIID-3944) Accumulo translator: rowid column is compared as string in WHERE clause
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-3944?page=com.atlassian.jira.plugin... ]
Ramesh Reddy updated TEIID-3944:
--------------------------------
Fix Version/s: 9.0
8.12.5
> Accumulo translator: rowid column is compared as string in WHERE clause
> -----------------------------------------------------------------------
>
> Key: TEIID-3944
> URL: https://issues.jboss.org/browse/TEIID-3944
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.3
> Reporter: Jan Stastny
> Assignee: Ramesh Reddy
> Fix For: 9.0, 8.12.5
>
>
> When in SOURCE model user specifies the required rowid column as integer:
> {code:xml}
> CREATE FOREIGN TABLE "SmallA" (
> rowid integer OPTIONS (UPDATABLE FALSE, SEARCHABLE 'All_Except_Like'),
> .
> .
> .
> {code}
> and performs similar query:
> {code:sql}
> Select rowid, StringKey From accumulo.SmallA WHERE rowid >= 15 ORDER BY rowid
> {code}
> following results are returned:
> || rowid | StringKey ||
> || 2 | 2 ||
> || 3 | 3 ||
> || 4 | 4 ||
> || 5 | 5 ||
> || 6 | 6 ||
> || 7 | 7 ||
> || 8 | 8 ||
> || 9 | 9 ||
> || 15 | 15 ||
> || ... | ... ||
> and given the fact, that rowid is modelled as integer, values 2,3,4,5,6,7,8,9 shouldn't appear in the result set. Interesting to note is that the resultset is then ordered by rowid, but this time correctly as expected.
> Other integer columns, mapped from accumulo's Column Family: Column Qualifier pairs works as expected and are being compared as corresponding types.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 10 months
[JBoss JIRA] (TEIID-3942) Accumulo translators should use LexiCoders to preserve the native ordering
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-3942?page=com.atlassian.jira.plugin... ]
Ramesh Reddy resolved TEIID-3942.
---------------------------------
Resolution: Done
Used "LexiCoder" for all the key based values. That means any PK or ROWID will be stored using this.
Then used standard java serialization of object for the all the other types. The NULL will be represented by EMPTY_BYTES which is standard for the Accumulo.
Note that previously all the data was stored as String's byte array form using UTF-8 encoding. So any previous data may be read correctly, so recreate your data, or model them as strings in the model's DDL.
> Accumulo translators should use LexiCoders to preserve the native ordering
> --------------------------------------------------------------------------
>
> Key: TEIID-3942
> URL: https://issues.jboss.org/browse/TEIID-3942
> Project: Teiid
> Issue Type: Enhancement
> Components: Misc. Connectors
> Affects Versions: 8.12.4
> Reporter: Ramesh Reddy
> Assignee: Ramesh Reddy
> Fix For: 9.0, 8.12.5
>
>
> Accumulo translator currently converts all the data to string based byte array and management of the data types is done at the translator level. In 1.6 version, there is support for LexiCoders which is standard way to encode/decode Java data types. The translator must be changed to make use of these.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 10 months