Uploaded image for project: 'JBoss Remoting'
  1. JBoss Remoting
  2. JBREM-223

Broken Pipe if client don't do any calls before the timeout value

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: 1.4.0 beta
    • Fix Version/s: 1.4.0 final
    • Component/s: transport
    • Labels:
      None

      Description

      On this testcase, I used socketTimeout=1000:

      public void testMfgAuditMFGTest() throws Exception
      {
      Context ctx = new InitialContext();
      Object homeObj = ctx.lookup("MfgAuditSes"); // A Bean using UnifiedInvoker and Socket Transport
      MfgAuditSesHome home = (MfgAuditSesHome)PortableRemoteObject.narrow(homeObj,MfgAuditSesHome.class);
      MfgAuditSes audit = home.create();

      for (int i=0;i<20;i++)

      { DeliveryStats stats = audit.getDeliveryStats(); // audit, as you can see is an EJB System.out.println("getDepletedCompCnt = " + stats.getDepletedCompCnt()); System.out.println("getPendingLOsCnt = " + stats.getPendingLOsCnt()); System.out.println("getTotalQtyOrdered = " + stats.getTotalQtyOrdered()); Thread.sleep(2000); }

      }

      Then I got this exception:
      java.net.SocketException: Broken pipe

      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.flushBuffer(BufferedOutputStream.java:65)

      at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)

      at java.io.DataOutputStream.flush(DataOutputStream.java:106)

      at org.jboss.serial.objectmetamodel.DataContainer.saveData(DataContainer.java:630)

      at org.jboss.serial.io.JBossObjectOutputStream.writeObjectOverride(JBossObjectOutputStream.java:113)

      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:287)

      at org.jboss.remoting.serialization.impl.jboss.JBossSerializationManager.sendObject(JBossSerializationManager.java:62)

      at org.jboss.remoting.marshal.serializable.SerializableMarshaller.write(SerializableMarshaller.java:47)

      at org.jboss.invocation.unified.marshall.InvocationMarshaller.write(InvocationMarshaller.java:87)

      at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:240)

      at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:112)

      at org.jboss.remoting.Client.invoke(Client.java:226)

      at org.jboss.remoting.Client.invoke(Client.java:189)

      at org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy.invoke(UnifiedInvokerProxy.java:110)

      at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:261)

      at org.jboss.invocation.MarshallingInvokerInterceptor.invoke(MarshallingInvokerInterceptor.java:37)

      at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)

      at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                tom.elrod Tom Elrod
                Reporter:
                clebert.suconic Clebert Suconic
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: