[teiid-issues] [JBoss JIRA] (TEIID-2502) org.teiid.net.socket.SingleInstanceCommunicationException

Steven Hawkins (JIRA) jira-events at lists.jboss.org
Mon May 20 06:48:06 EDT 2013


    [ https://issues.jboss.org/browse/TEIID-2502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12775276#comment-12775276 ] 

Steven Hawkins commented on TEIID-2502:
---------------------------------------

> It seems that oracle.sql.struts is serializable.

It is marked as serializable, but carries the connection object as a member, and thus fails in the simplistic case of just trying to write the struct instance out.  As the doc covers and what I'm referring to above is that there are other options for retrieving the information contained by the struct - namely the getAttributes method that is not oracle specific.

> It should be possible to map also to java.sql.structs and maybe this could solve?

I was hoping that retrieval as blob or string may have been possible, but as your next comment indicates that did not work.

> Can be a problem the fact that the designer mappet to object (is there a mapping to structs?).

There is no built-in handling for structs either in Teiid or Teiid Designer.

> Let me know if there is a plan for solving this ... but the oracle spatial connector that should have been merged with the standard one did not address this?

The oracle spatial logic simply covered adding function hooks for common spatial options, but generally represented a spatial type as object and just expected to return simple scalar and not spatial type results.  TEIID-2384 is the issue to generally add support for spatial types.

Like I said above the quickest fix would be to extend the OracleExecutionFactory and when retrieving objects do an instance check for STRUCT and instead return a SerialStruct, which will be fully serializable.  Another user directed fix would be to add a udf that would do the same - or convert to whatever representation that you want.

Otherwise you'll have to wait for the built-in fix, which will likely be just to use the SerialStruct approach.  We just need to make sure that this won't conflict with any later handling of structs, what sources need overrides - but we aren't likely to add full type (in Designer or DDL) handling yet.
                
> org.teiid.net.socket.SingleInstanceCommunicationException
> ---------------------------------------------------------
>
>                 Key: TEIID-2502
>                 URL: https://issues.jboss.org/browse/TEIID-2502
>             Project: Teiid
>          Issue Type: Bug
>          Components: Query Engine
>    Affects Versions: 8.2
>         Environment: centos 6.3
>            Reporter: luca gioppo
>            Assignee: Steven Hawkins
>            Priority: Critical
>
> I'm issuing a query (a simple select * from table) on a VDB's table that contains a geometric column from oracle spatial.
> I'm getting the following error in SquirrelSQL
> Error: org.teiid.net.socket.SingleInstanceCommunicationException
> SQLState:  08S01
> ErrorCode: 0
> Afterwards the connection is broken and I cannot access any other table and have to reconnect since I get:
> Error: Error Code:TEIID20013 Message:Error Code:TEIID20013 Message:java.net.SocketException: Socket closed
> SQLState:  TEIID20013
> ErrorCode: 0
> I'm trying to access a SDO table and a geometry type column, but hoped that TEIID could read it as a BLOB without caring about the real type.
> Probably it doesn't like it too much.

--
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


More information about the teiid-issues mailing list