Yes, I got, in my case, I use java main function as socket client and send to the socket server(s4 adapter), that is , replace the nc command in walkthrough page saying, Because when socket server accepted one data and spend much time to process long time logic(blocking from PE), next data from java client already coming, the accept() still working and busy, can not accept again, the error happened. That is the cause.
From: Matthieu Morel [mailto:mmo...@apache.org] Sent: Wednesday, August 14, 2013 2:06 AM To: s4-user@incubator.apache.org Subject: Re: socket for adapter That looks like normal behaviour to me: if processing in PEs takes a long time, backpressure applies and slows down / blocks upstream PEs or adapters. Still not sure where / how / why you are using sockets directly though. Matthieu On Aug 13, 2013, at 03:31 , Sky Zhao <sky.z...@ericsson.com<mailto:sky.z...@ericsson.com>> wrote: Thanks Matthieu, I found socket transmission performance is very slow, adapter has to wait PE finished then sedn(in my case some algor and complex long process), if too quickly send, it will cause the system signal error,(block or refuse etc.), so I tried to add semaphore to block socket, the speed not ideal. /Sky From: Matthieu Morel [mailto:mmo...@apache.org<http://apache.org>] Sent: Monday, August 12, 2013 11:18 PM To: s4-user@incubator.apache.org<mailto:s4-user@incubator.apache.org> Subject: Re: socket for adapter If you have a lot of data to send, make sure you are chunking it - i.e. separating it in multiple pieces. Then you can feed the stream processing system with those chunks. That is typically the role of the adapter in S4. It seems you are doing something else before the adapter but I don't see how that is specific to S4. Regards, Matthieu On Aug 8, 2013, at 03:50 , Sky Zhao <sky.z...@ericsson.com<mailto:sky.z...@ericsson.com>> wrote: I try to use socket as a socket server to receive the data stream, and use java socket client program to send data stream(e.g. read big files), But in Ubuntu I can't keep sending the files, always broke during the time, say: broken pipe or connection reset etc. So I change the strategy with interval time sending and increase the data content one time, it is ok, as a stream feature, 1) How do I keep sending the stream 2) Another issue, socket receiving data is very slower than reading files from adapter. How to increase the speed? Thanks