Cannot flush pipeline logstash hangs

I am running logstash 2.3.1 on solaris 10 with java version "1.7.0_55".
$ bin/logstash -f config.txt -w 16 --log ./logs/logstash.log -vv
It loads the config file fine, reads in a lot of data but then tries to put a flush onto the pipeline. At this point its stuck and constantly repeats the following in the log file:
...
{:timestamp=>"2016-04-26T15:46:51.987000-0700", :message=>"Pushing flush onto pipeline", :level=>:debug, :file=>"logstash/pipeline.rb", :line=>"458", :method=>"flush"}
...

How can I fix this?

Is there any way to tell how much (items or memory) of the queue is full and/or if it is stuck because its blocked?

Maybe I'm missing something here, but is the same queue being used to process data as well as issue operation commands like 'flush'? If so, this seems like a very bad design since a blocking queue can stop the functionality if stuffed with data messages effectively creating a denial of service, no?