metron-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ottobackwards <>
Subject [GitHub] metron pull request #747: METRON-1175 [FEATURE-BRANCH] allow lazy loading of...
Date Mon, 11 Sep 2017 13:31:22 GMT
GitHub user ottobackwards opened a pull request:

    METRON-1175 [FEATURE-BRANCH] allow lazy loading of BundleSystem with BundleSystem interface
and holder pattern

    The VFS system doesn't play well with Spring as a bean. When initialized at startup, it
doesn't seem to get the right Configuration, and cannot see all of hdfs.
    In order to be both a bean used by multiple services in REST and actually work, we should
implement a holder pattern with on demand creation of bundle system.
    To do this, BundleSystem should be an interface, with multiple implementations. The Builder
class should be able to create the correct implementation.
    This PR creates the BundleSystem interface, the DefaultBundleSystem, OnDemandBundleSystem,
BundleSystemType, BundleSystemBuilder classes required to implement this.
    It allows introduces this to the REST service.
    This is the base capability to allow the REST service to use the BundleSystem as a bean.
    That will be done in the UI PR.
    This PR blocks development of the metron config ui for extensions and parsers.
    ## Testing
    Testing should look for a lack of regression
    - build and tests run
    - full dev -> data in kibana, sensors ui works in management
    - [x] Is there a JIRA ticket associated with this PR? 
    - [x] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are
trying to resolve? Pay particular attention to the hyphen "-" character.
    - [x] Has your PR been rebased against the latest commit within the target branch (typically
    ### For code changes:
    - [n/a] Have you included steps to reproduce the behavior or problem that is being changed
or addressed?
    - [x] Have you included steps or a guide to how the change may be verified and tested
    - [x] Have you ensured that the full suite of tests and checks have been executed in the
root metron folder via:
      mvn -q clean integration-test install && build_utils/ 
    - [x] Have you written or updated unit tests and or integration tests to verify your changes?
    - [n/a] If adding new dependencies to the code, are these dependencies licensed in a way
that is compatible for inclusion under [ASF 2.0](

    - [x] Have you verified the basic functionality of the build by building and running locally
with Vagrant full-dev environment or the equivalent?

You can merge this pull request into a Git repository by running:

    $ git pull ext-bundleSystemInterface

Alternatively you can review and apply these changes as the patch at:

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #747
commit 918da9251561a4033e033acec295aa03bab45866
Author: Otto Fowler <>
Date:   2017-09-11T12:47:17Z

    BundleSystem is now and interface, with the builder set out as it's own class
    BundleSystemTypes is introduced to allow specification of the type when building
    OnDemandBundleSystem and DefaultBundleSystem created, OnDemand creating the BundleSystem
on first use
    for lazy init and holder pattern.
    This allows using BundleSystem (OnDemand) as a bean in spring

commit 5ac74b261a804c83207456319e9ec7b6276b212b
Author: Otto Fowler <>
Date:   2017-09-11T12:59:10Z




View raw message