@Abdullah: Is this issue related to https://issues.apache.org/jira/browse/ASTERIXDB-1074? Ian and I plan to look into the details on Monday.
On Sun, Aug 23, 2015 at 10:08 AM, abdullah alamoudi <[email protected]> wrote: > About 3-4 days ago, I was working on the addition of the filesystem based > feed adapter and it didn't take anytime to complete. However, when I wanted > to build and make sure all tests pass, I kept getting ConnectionRefused > errors which caused the installer tests to fail every now and then. > > I knew the new change had nothing to do with this failure, yet, I couldn't > direct my attention away from this bug (It just bothered me so much and I > knew it needs to be resolved ASAP). After wasting countless hours, I was > finally able to figure out what was happening :-) > > In the startup routine, we start three Jetty web servers (Web interface > server, JSON API server, and Feed server). Sometime ago, we used to end the > startup call before making sure the server.isStarted() method returns true > on all servers. At that time, I introduced the waitUntilServerStarts method > to make sure we don't return before the servers are ready. Turned out, that > was an incorrect way to handle this (We can blame stackoverflow for this > one!) and it is not enough that the server isStarted() returns true. The > correct way to do this is to call the server.join() method after the > server.start(). > > See: > http://stackoverflow.com/questions/15924874/embedded-jetty-why-to-use-join > > This was equally satisfying as it was frustrating and you are welcome for > the future time I saved each of you :) > -- > Amoudi, Abdullah. >
