Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial release features support for Hbase #7

Open
5 tasks
silkentrance opened this issue Feb 22, 2018 · 0 comments
Open
5 tasks

Initial release features support for Hbase #7

silkentrance opened this issue Feb 22, 2018 · 0 comments

Comments

@silkentrance
Copy link
Member

As a test developer I need to have a working Hbase instance. While I do not need direct access to that instance, it should be available for integration with other Hadoop components.

I want to be able to configure the Hbase instance by means of annotating the test class.

When running tests in parallel, I want the system to not start multiple Hbase instances for a specific test class or a suite of test classes that derive from a common super class which provides the Hbase configuration. Instead, all of these threads must share the same instance. In effect, there is only one Hbase instance that is shared across all threads.

Running the same tests on the same system from multiple processes must not lead to failing tests. Individual instances of Hbase must have their own ports. The ports must be determined automatically.

TODO

  • shared access requires demarcating tables in Hbase on a per thread basis so these threads will not interfere or alter or destroy the data of other threads so tests will not fail, e.g. each thread must operate in a sandbox, even when using the "same" tables, demarcating tables should be transparent to the user and is to be managed by the table manager
  • creating and deleting/purging tables before all/each, after all/each test (class)
  • table creation, deletion and purge is to be done programmatically, it needs a table manager of some sort to be injected as either field or parameter
  • regardless of an after all being present that does the clean up for a given thread, the system must ensure that the demarcated tables will be removed from the Hbase instance

Acceptance criteria

  • Hbase is provided
  • Hbase instances can be configured via annotation on ElementType.TYPE level
  • There is only one Hbase instance that is shared across multiple threads
  • The effective Hbase instance configuration is used for configuring other provided components
  • Hbase instances use dedicated free ports that have been determined automatically
  • TBD
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

1 participant