[JBoss JIRA] (TEIID-2013) Teiid with GSSAPI/kerberos authentication, remove need for jdbc clients to specify -Djava.security.krb5.realm and -Djava.security.krb5.kdc
by Graeme Gillies (JIRA)
Graeme Gillies created TEIID-2013:
-------------------------------------
Summary: Teiid with GSSAPI/kerberos authentication, remove need for jdbc clients to specify -Djava.security.krb5.realm and -Djava.security.krb5.kdc
Key: TEIID-2013
URL: https://issues.jboss.org/browse/TEIID-2013
Project: Teiid
Issue Type: Feature Request
Environment: Teiid 7.6 and above
Reporter: Graeme Gillies
Assignee: Steven Hawkins
Currently any clients connecting to teiid with GSSAPI authentication need to specify the following JVM properties
-Djava.security.krb5.realm
-Djava.security.krb5.kdc
Not specifying them causes errors saying to specify these properties. Other Java GSSAPI/kerberos projects (for example, jboss negotiation, [1]) don't need these properties to be set, instead seem to pull the values from /etc/krb5.conf (normal system kerberos configuration file) as needed. This is extremely ideal, as it allows sysadmins to change kerberos configuration for an entire system easily at once (for example, to use a new kdc) without having to then also manually reconfigure java clients.
I've done some digging and it looks like a property exists called java.security.krb5.conf [2] which can take a String pointing to a krb5.conf file, in order to get the information needed for for kerberos auth. Is it possible to modify teiid jdbc driver so that if the realm/kdc properties aren't set, then it will automatically look for the system default krb5.conf (/etc/krb5.conf in linux, not sure what it is in windows) and set java.security.krb5.conf (unless it's already set to the OS default?) to that value and then get the client to work with that?
[1] https://community.jboss.org/wiki/JBossNegotiation
[2] http://stackoverflow.com/questions/1431999/java-and-kerberos-authenticati...
This would greatly streamline the configuration needed for teiid JDBC clients with GSSAPI.
Thanks in advance,
Graeme
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] (TEIID-1912) Issuing and inner merge join query produces IOException against PostgreSQL database
by Van Halbert (JIRA)
Van Halbert created TEIID-1912:
----------------------------------
Summary: Issuing and inner merge join query produces IOException against PostgreSQL database
Key: TEIID-1912
URL: https://issues.jboss.org/browse/TEIID-1912
Project: Teiid
Issue Type: Bug
Components: JDBC Connector
Affects Versions: 7.7
Environment: Teiid 7.7.0 (built with latest today) in JBoss AS 5.1 against Oracle 10 and PostgreSQL 9.4 databases
Reporter: Van Halbert
Assignee: Steven Hawkins
Running the following inner merge query:
SELECT ORDERS.O_ORDERKEY, ORDERS.O_ORDERDATE, ORDERS.O_CLERK, CUSTOMER.C_CUSTKEY, CUSTOMER.C_NAME, CUSTOMER.C_ACCTBAL
FROM TPCR01_PostgreSQLVirt.ORDERS, TPCR01_OracleVirt.CUSTOMER WHERE (CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY)
AND (ORDERS.O_ORDERDATE < '1992-02-06 00:00:00') AND (CUSTOMER.C_ACCTBAL > 5100)
produces exception:
1 [PSQLException]An I/O error occured while sending to the backend.
2 [IOException]Tried to send an out-of-range integer as a 2-byte value: 50000
at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:90)
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:272)
at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:342)
at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:138)
at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:135)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at org.teiid.dqp.internal.process.DQPCore$FutureWork.run(DQPCore.java:118)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:232)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:118)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:288)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
>From googling the exception, I found the suggestion (i've yet to find where Postgres specifically states the max allowable) to split the parameters into 30,000 chunks. So I changed the PostgreSQLExecutionFactory by adding the following the CTOR: setMaxDependentInPredicates(30);
and this allowed the query to finish. Not to say this is the final solution, but it's an option that worked.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] (TEIID-1900) Teiid client jar file is not complete: NoClassDefFoundError: org/jboss/modules/ModuleLoadException
by Paul Nittel (JIRA)
Paul Nittel created TEIID-1900:
----------------------------------
Summary: Teiid client jar file is not complete: NoClassDefFoundError: org/jboss/modules/ModuleLoadException
Key: TEIID-1900
URL: https://issues.jboss.org/browse/TEIID-1900
Project: Teiid
Issue Type: Bug
Affects Versions: 8.0
Environment: Fedora 16, IcedTea6 1.10.4
Reporter: Paul Nittel
Assignee: Steven Hawkins
After adding the Teiid driver in SQuirreL, I was unable to connect to the Teiid 8 server. Here's the stacktrace:
java.lang.NoClassDefFoundError: org/jboss/modules/ModuleLoadException
at org.teiid.jdbc.TeiidDriver.<init>(TeiidDriver.java:74)
at org.teiid.jdbc.TeiidDriver.<clinit>(TeiidDriver.java:61)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at java.lang.Class.newInstance0(Class.java:372)
at java.lang.Class.newInstance(Class.java:325)
at net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.registerSQLDriver(SQLDriverManager.java:75)
at net.sourceforge.squirrel_sql.client.gui.db.DataCache.registerDriver(DataCache.java:491)
at net.sourceforge.squirrel_sql.client.gui.db.DataCache.loadDrivers(DataCache.java:388)
at net.sourceforge.squirrel_sql.client.gui.db.DataCache.<init>(DataCache.java:119)
at net.sourceforge.squirrel_sql.client.Application.executeStartupTasks(Application.java:744)
at net.sourceforge.squirrel_sql.client.Application.startup(Application.java:222)
at net.sourceforge.squirrel_sql.client.Main$2.run(Main.java:118)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:647)
at java.awt.EventQueue.access$000(EventQueue.java:96)
at java.awt.EventQueue$1.run(EventQueue.java:608)
at java.awt.EventQueue$1.run(EventQueue.java:606)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:617)
at net.sourceforge.squirrel_sql.client.Main$1.dispatchEvent(Main.java:99)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
Caused by: java.lang.ClassNotFoundException: org.jboss.modules.ModuleLoadException
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at net.sourceforge.squirrel_sql.fw.util.MyURLClassLoader.findClass(MyURLClassLoader.java:209)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 30 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] (TEIID-1852) Salesforce Translator doesnt handle Time types
by Mark Drilling (Created) (JIRA)
Salesforce Translator doesnt handle Time types
----------------------------------------------
Key: TEIID-1852
URL: https://issues.jboss.org/browse/TEIID-1852
Project: Teiid
Issue Type: Bug
Components: Salesforce Connector
Affects Versions: 7.6
Reporter: Mark Drilling
Assignee: Steven Hawkins
Attachments: SFTestVDB.vdb
Query the BusinessHours table imported from Salesforce, which contains columns with 'time' datatype.
For example, the query:
SELECT Name,CreatedDate,MondayStartTime FROM SFTest.salesforce.BusinessHours
Results in:
Error Code:ERR.003.029.0025 Message:Failed to transform String to Time. Expected format = hh:mm:ss for 08:00:00.000Z
It looks like the code in QueryExecutionImpl.getCellDatum needs to handle translation of the salesforce time format
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] Created: (TEIID-1326) API request: rewrite query/command before it reaches the teiid planner
by Mark Addleman (JIRA)
API request: rewrite query/command before it reaches the teiid planner
-----------------------------------------------------------------------
Key: TEIID-1326
URL: https://jira.jboss.org/browse/TEIID-1326
Project: Teiid
Issue Type: Feature Request
Components: Query Engine
Affects Versions: 7.1
Reporter: Mark Addleman
Assignee: Steven Hawkins
I'd like an API to inspect and rewrite a user query/command before it reaches the Teiid planner. The use case is to rewrite the query/command to implement view-like capabilities. For example:
SELECT a,b,c FROM table1 AS t WHERE t.a='xyz' would be rewritten as:
SELECT a,b,c FROM (SELECT a,b,c FROM table2 UNION SELECT a,b,c FROM table3) AS t
I imagine this API would be similar to the translator API: it would receive a data structure representing the query/command and use a visitor to rewrite the query. As a convenience, it would be nice to have something similar to the SQLConversionVisitor.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months