My team is using StreamingDataSet because we're dealing with some
fairly large fixtures that would otherwise cause us to run out of
memory. Unfortunately, StreamingDataSet is launching a new thread to
load data and then immediately returns. This is a problem because we
can't determine when the thread has completed its work; closing the
provided input stream yields an InterruptedException in the
constructor of StreamingIterator. If we weren't to explicitly close
the input stream and instead continue with the test, we'd have an
inconsistent state in the database.
This is definitely not desired behavior for a testing utility and I'd
like to see either the threading removed or appropriate
blocking/notification methods added.