[ 
https://issues.apache.org/jira/browse/NIFI-12206?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Handermann updated NIFI-12206:
------------------------------------
    Status: Patch Available  (was: In Progress)

> Refactor Flow Configuration History from H2 to JetBrains Xodus
> --------------------------------------------------------------
>
>                 Key: NIFI-12206
>                 URL: https://issues.apache.org/jira/browse/NIFI-12206
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Core Framework
>            Reporter: David Handermann
>            Assignee: David Handermann
>            Priority: Major
>             Fix For: 2.latest
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> The [H2 Database Engine|https://h2database.com/html/main.html] has provided 
> local persistent storage for several types of information across Apache NiFi 
> versions. With multiple refactoring efforts over several versions, H2 no 
> longer stores user session information or identity provider group 
> information, leaving the Flow Configuration History as the only remaining 
> reference to H2.
> H2 version 2.1 introduced incompatible changes in the binary storage format 
> from H2 version 1.4, and H2 version 2.2 was also unable to read files from 
> earlier H2 versions. These binary changes required custom migration modules 
> and shaded distribution of H2 libraries to support upgrading between Apache 
> NiFi versions.
> With the scope of H2 usage narrowed to Flow Configuration History in Apache 
> NiFi 1.23.0 and following, the storage strategy should be changed. Apache 
> Derby, SQLite, and HSQLDB are other potential options supporting file-based 
> relational storage, but maintenance level and platform-specific limitations 
> present concerns with these libraries.
> The [JetBrains Xodus|https://github.com/JetBrains/xodus] library provides 
> persistent and scalable storage that avoids several issues present in other 
> alternatives. The framework is licensed under Apache Software License Version 
> 2.0 and has a narrow set of dependencies aside from the Kotlin standard 
> libraries. Xodus is now in version 2.0 and has maintained format 
> compatibility when upgrading between major versions.
> Based on the H2 database migration modules on the Apache NiFi support branch, 
> a subsequent issue can implement automated migration from H2 to Xodus, 
> providing an upgrade path from NiFi 1 to 2.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to