Re: Chicken and egg problem when initializing SocketServer

2015-04-06 Thread Ewen Cheslack-Postava
Gwen, That sounds about right to me. I've found that when ports are bound dynamically, RAII-style greatly simplifies things since if you've bound them as early as possible, then you'll always be able to get at the port even if nothing is accept()ing yet. -Ewen On Sat, Apr 4, 2015 at 8:27 PM, Gwe

Re: Chicken and egg problem when initializing SocketServer

2015-04-04 Thread Gwen Shapira
Thanks. I think I found a solution that doesn't take new locks or buffers: 1. Change the portProtocol map to ConcurrentHashMap (which makes it both thread-safe and mutable). Initialize as empty map. 2. Initialize both processors and acceptors with the hashmap, also tell each acceptor which protoco

Re: Chicken and egg problem when initializing SocketServer

2015-04-04 Thread Ashish Singh
Hi Gwen, Can we buffer the requests that arrive before acceptors are up. Once we have the acceptors, the buffer can be cleared. However, this adds on to the complexity. On Sunday, April 5, 2015, Gwen Shapira wrote: > Hi, > > I'm trying to rebase KAFKA-1809 after KAFKA-1501 was committed, and I'

Chicken and egg problem when initializing SocketServer

2015-04-04 Thread Gwen Shapira
Hi, I'm trying to rebase KAFKA-1809 after KAFKA-1501 was committed, and I'm running into a chicken and egg problem. In my design, SocketServer creates a map of port->SecurityProtocol. This map is passed to Processor when it is initialized, and Processor uses it to route requests to the correct ch