Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-2668

Teiid procedure input parameter has limit for bulk data

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Major
    • None
    • 8.3
    • None
    • None
    • Hide

      1. Write a procedure in Teiid VDB translator, which has input parameter List<List<Double>>
      2. Create a Source_Model.xmi including this procedure.
      3. Create a View_Model.xmi and the corresponding procedure. And link them by transformation mapping.
      4. Write test code to execute this procedure and assign more than 200x375 double data to the parameter List<List<Double>>.

      Show
      1. Write a procedure in Teiid VDB translator, which has input parameter List<List<Double>> 2. Create a Source_Model.xmi including this procedure. 3. Create a View_Model.xmi and the corresponding procedure. And link them by transformation mapping. 4. Write test code to execute this procedure and assign more than 200x375 double data to the parameter List<List<Double>>.

    Description

      We wrote a Teiid procedure, one of the input parameters is List<List<Double>>. We found if we give too many data in there, e.g. 200x375, Teiid will throw out exception before go to my translator:

      org.teiid.jdbc.TeiidSQLException: Error Code:TEIID20013 Message:Error Code:TEIID20013 Message:java.net.SocketException: Connection reset by peer: socket write error
      at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:113)
      at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:70)
      at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:631)
      at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:559)
      at org.teiid.jdbc.PreparedStatementImpl.execute(PreparedStatementImpl.java:201)
      at MyTest.testHorizon3DWrite(MyTest.java:102)
      at MyTest.main(MyTest.java:27)
      Caused by: [TeiidComponentException] TEIID20013: Error Code:TEIID20013 Message:Error Code:TEIID20013 Message:java.net.SocketException: Connection reset by peer: socket write error
      1 [SingleInstanceCommunicationException] TEIID20013: Error Code:TEIID20013 Message:java.net.SocketException: Connection reset by peer: socket write error
      2 [ExecutionException]java.net.SocketException: Connection reset by peer: socket write error
      3 [SocketException]Connection reset by peer: socket write error
      at org.teiid.client.util.ExceptionUtil.convertException(ExceptionUtil.java:61)
      at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler.invoke(SocketServerInstanceImpl.java:374)
      at org.teiid.net.socket.SocketServerConnection$1.invoke(SocketServerConnection.java:243)
      at $Proxy7.executeRequest(Unknown Source)
      at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:629)
      ... 4 more
      Caused by: [SingleInstanceCommunicationException] TEIID20013: Error Code:TEIID20013 Message:java.net.SocketException: Connection reset by peer: socket write error
      1 [ExecutionException]java.net.SocketException: Connection reset by peer: socket write error
      2 [SocketException]Connection reset by peer: socket write error
      at org.teiid.net.socket.SocketServerInstanceImpl.send(SocketServerInstanceImpl.java:177)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.teiid.net.socket.SocketServerConnectionFactory$ShutdownHandler.invoke(SocketServerConnectionFactory.java:102)
      at $Proxy1.send(Unknown Source)
      at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler.invoke(SocketServerInstanceImpl.java:362)
      ... 7 more
      Caused by: java.util.concurrent.ExecutionException: java.net.SocketException: Connection reset by peer: socket write error
      at org.teiid.client.util.ResultsFuture.convertResult(ResultsFuture.java:100)
      at org.teiid.client.util.ResultsFuture.get(ResultsFuture.java:95)
      at org.teiid.net.socket.SocketServerInstanceImpl.send(SocketServerInstanceImpl.java:174)
      ... 14 more
      Caused by: java.net.SocketException: Connection reset by peer: socket write error
      at java.net.SocketOutputStream.socketWrite0(Native Method)
      at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
      at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
      at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
      at java.io.DataOutputStream.write(DataOutputStream.java:90)
      at org.teiid.netty.handler.codec.serialization.ObjectEncoderOutputStream.writeObjectOverride(ObjectEncoderOutputStream.java:65)
      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
      at org.teiid.net.socket.OioOjbectChannelFactory$OioObjectChannel.write(OioOjbectChannelFactory.java:130)
      at org.teiid.net.socket.SocketServerInstanceImpl.send(SocketServerInstanceImpl.java:173)
      ... 14 more

      But if we give less number of data in that param, e.g. 100x375, it works fine.

      Thanks.

      Attachments

        Activity

          People

            rhn-engineering-shawkins Steven Hawkins
            jane_lj Jane Li (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: