You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/04/12 12:28:00 UTC

[jira] [Commented] (NIFIREG-162) Add Git backed persistence provider

    [ 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 <ij...@...>
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)