[ 
https://issues.apache.org/jira/browse/METRON-777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16111354#comment-16111354
 ] 

ASF GitHub Bot commented on METRON-777:
---------------------------------------

Github user ottobackwards commented on the issue:

    https://github.com/apache/metron/pull/530
  
    @mmiklavc 
    1.  I don't think we want to, or have to track it as upstream.  But we do 
want to keep track of bug fixes and improvements to areas where we have not 
deviated.  That is my current thinking.  
    2. I certainly did look at 
[#468](https://github.com/apache/metron/pull/468).  Here is how we are related:
    
    - 777 uses the same VFS Classloader, although I have modified a new version 
of the classloader to load a bundle as a compound filesystem.  That is to say, 
instead of VFSClassloader loading a number of Jar uris, it loads a bundle, and 
then finds all the embedded dependency jars as well.  This I believe is an 
improvement on the NAR system, since there is no longer a requirement to 
unbundle the NAR into a working directory and all the overhead that has.
    - 777 uses the ClassIndex System.  I have replaced the NAR service loader 
dependency ( in the archetype ) with ClassIndex.  I have also made the loaders 
work with class index's multiple ways for marking classes.  This is an 
improvement on the NAR system because:
    1. You do not have to manually maintain the service file in the jar metadata
    2. It is faster
    
    One of my goals is to have Extensions/Bundles+archetypes for Stellar 
libraries as well.  I believe that 777 is done in a way that is comparable with 
that goal, and enables it.
    



> Create a plugin system for Metron based on 'NAR'
> ------------------------------------------------
>
>                 Key: METRON-777
>                 URL: https://issues.apache.org/jira/browse/METRON-777
>             Project: Metron
>          Issue Type: New Feature
>            Reporter: Otto Fowler
>            Assignee: Otto Fowler
>
> The success of the Metron project will be greatly dependent on community 
> participation, and with that the ability to adapt and extend Metron without 
> having to maintain a fork of the project.
> As organizations and individuals look to extend the Metron system with custom 
> parsers, enrichments, and stellar functions that may be proprietary in 
> nature, the ability to develop and deploy these extensions outside the Metron 
> code base is critically important.
> To that end, and after community discussion and proposal we create or 
> formalize the 'plugin' development story in Metron.  
> The proposal is to adapt the Apache Nifi NAR system for use in Metron.  This 
> will provide the system with:
> * archetype(s) for developer projects and independent development
> * defined packaging and metadata for 'plugin' products
> * loading and instantiation with classloader isolation capabilities
> * removing the necessity for shading plugin jars
> These capabilities will also enable other features, such as plugin lifecycle, 
> plugin configuration+redeployment, and other things.
> The plugin archetypes and their installation will be a followon



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to