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

Lookup tables #3748

merged 54 commits into from Apr 28, 2017

Lookup tables #3748

merged 54 commits into from Apr 28, 2017


Copy link

@kroepke kroepke commented Apr 28, 2017

Initial lookup table feature

fixes #3691

kroepke and others added 30 commits Apr 10, 2017
extends Objectmapper provider to allow registering NamedTypes for subtype resolution in plugins
cache and data adapter configs are polymorphic and require proper binding of config classes
forgetting builder annotations is quickly becoming my favorite bug
without a single hierarchy getting the cache/adapter types is awkward as it would shadow the GET {idOrName} call
this simplifies lifecycle management, so we can easily instantiate the descriptor without having to have a complete data adapter

return the information in the `/system/lookups/types/adapters` call
in order to get metadata (which cache providers are present, what default config do they have) we need to expose the descriptors
since we don't want to instantiate the entire cache, we break out the metadata into its own class that is provided
the factory can also create instances of the actual caches, based on its configuration
this change assembles lookup tables from configured caches and adapters
a GET resource for data is exposed on /system/lookup/data/{name}

moved adapters and caches to their own packages to make easier on the eye
introduced NullCache (type "none") to disable caching
…jects are mutated

adapter and cache deletion is denied if those are in use by any lookup table in the system
fix wrong ids in warning log messages
when updating a lookup table we need to take care not to throw away existing caches or stateful adapters
that would make them lose their state, even though nothing has changed
 - lookup table resource can optionally resolve the referenced caches and data adapters on each page (resulting in fewer API calls and simpler UI code)
 - three new pages are available underneath /system/lookuptables
actually give random number generator config so we can showcase it
only the page is loading data and passing it down to components
attach promise to correct action
The cache handles the lookup in the data adapter on a cache miss.

This comment has been minimized.

this will never unlock the lock and probably deadlocks when stop() is called

This comment has been minimized.

Copy link
Member Author

@bernd bernd replied Apr 26, 2017

Fixed it in c461c47

@kroepke kroepke added this to the 2.3.0 milestone Apr 28, 2017
@kroepke kroepke requested a review from bernd Apr 28, 2017
@bernd bernd self-assigned this Apr 28, 2017
bernd approved these changes Apr 28, 2017
@bernd bernd merged commit e8b1c86 into master Apr 28, 2017
3 of 4 checks passed
3 of 4 checks passed
continuous-integration/travis-ci/pr The Travis CI build is in progress
ci-web-linter Jenkins build graylog-pr-linter-check 1553 has succeeded
continuous-integration/travis-ci/push The Travis CI build passed
license/cla Contributor License Agreement is signed.
@bernd bernd deleted the lookup-tables branch Apr 28, 2017
@davama davama mentioned this pull request Apr 28, 2017
3 of 3 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet
Linked issues

Successfully merging this pull request may close these issues.

2 participants