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

ASF GitHub Bot commented on NIFIREG-162:
----------------------------------------

GitHub user ijokarumawak opened a pull request:

    https://github.com/apache/nifi-registry/pull/112

    NIFIREG-162: Support Git backed PersistenceProvider

    - Added GitPersistenceProvider which manages Flow snapshot versions
    by Git commits
    - Updated FlowSnapshotContext to provide author
    - Added new serialization data model version 2 which stores Flow
    snapshots as JSON files

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

    $ git pull https://github.com/ijokarumawak/nifi-registry nifireg-162

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

    https://github.com/apache/nifi-registry/pull/112.patch

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

    This closes #112
    
----
commit 4e70373c410eda83bf3b2f0ef2b4add7512d7b44
Author: Koji Kawamura <ijokarumawak@...>
Date:   2018-03-30T04:17:19Z

    NIFIREG-162: Support Git backed PersistenceProvider
    
    - Added GitPersistenceProvider which manages Flow snapshot versions
    by Git commits
    - Updated FlowSnapshotContext to provide author
    - Added new serialization data model version 2 which stores Flow
    snapshots as JSON files

----


> Add Git backed persistence provider
> -----------------------------------
>
>                 Key: NIFIREG-162
>                 URL: https://issues.apache.org/jira/browse/NIFIREG-162
>             Project: NiFi Registry
>          Issue Type: Improvement
>            Reporter: Koji Kawamura
>            Assignee: Koji Kawamura
>            Priority: Major
>
> Currently, NiFi Registry provides FileSystemFlowPersistenceProvider, which 
> stores Flow snapshot files into local file system. It simply manages snapshot 
> versions by creating directories with version numbers.
> While it works, there are also demands for using Git as a version control and 
> persistence mechanism.
> A Git backend persistence repository would be beneficial in following aspects:
> * Git is a SCM (Source Control Management) that manages commits, branches, 
> file diffs, patches natively and provide ways to contribute and apply changes 
> among users
> * Local and remote Git repositories can construct a distributed reliable 
> storage
> * There are several Git repository services on the internet which can be used 
> as remote Git repositories those can be used as backup storages
> There are few things with current NiFi Registry framework and existing 
> FileSystemFlowPersistenceProvider those may not be Git friendly:
> * Bucket id and Flow id are UUID and not recognizable by human, if those 
> files have human readable names, many Git commands and tools can be used 
> easier.
> * Current serialized Flow snapshots are binary files having header bytes and 
> XML encoded flow contents. If those are pure ASCII format, Git can provide 
> better diffs among commits, that can provide better UX in terms of 
> controlling Flow snapshot versions
> * NiFi Registry userid which can be used as author in Git commit is not 
> available in FlowSnapshotContext
> Also, if we are going to add another Persistence Provider implementation, we 
> also need to provide a way to migrate existing persisted files so that those 
> can be used by new one.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to