You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@vxquery.apache.org by Steven Jacobs <sj...@ucr.edu> on 2016/06/28 16:53:08 UTC

VXQuery Tests

Up until this point, our VXQuery tests have been "legal" JUnit tests, in
the sense that no test is affected by the results of another test (for
contrast, think of Asterix, where one test could potentially ruin the
shared cluster instance that the next test will use).

In order to achieve this, we have been creating, starting, and stopping a
new cluster for each test case individually. This has worked fine while the
number of test cases has remained small, but as GSOC has been rapidly
adding new test cases, we have found an issue.

Basically, the cleanup process isn't properly closing sockets when the
cluster finishes, which leads to a huge number of open files, throwing a
Java error. Asterix avoids this problem in two ways:
1) They create a cluster only once for an entire test suite
2) The cc and the client are in the same place, so stopping the cc has a
net effect of closing these sockets.

As a temporary solution, we are employing (1) from Asterix, which makes our
tests no longer "legal" JUnit tests, but allows our test suites to execute
(they were currently always failing on most non-mac unix systems).

In the long term, we would need to add functionality within Hyracks for
manually closing the client sockets (which again wasn't necessary within
the Asterix model). The reason we aren't doing this now is that it requires
us to catch up to the latest Hyracks builds, which will currently be
nontrivial.

Please feel free to share your thoughts on this.

Steven