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

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

Koji Kawamura created NIFIREG-162:
-------------------------------------

             Summary: 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


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)