NIFI-8753: Expose flowfile repository implementation configuration

NIFI-8753: Fixed implementation in test to VolatileFlowFileRepository
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #5196
diff --git a/minifi/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformer.java b/minifi/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformer.java
index fd1aa07..c99881f 100644
--- a/minifi/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformer.java
+++ b/minifi/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformer.java
@@ -209,7 +209,7 @@
 
             orderedProperties.setProperty("nifi.database.directory", "./database_repository", System.lineSeparator() + "# H2 Settings");
             orderedProperties.setProperty("nifi.h2.url.append", ";LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE");
-            orderedProperties.setProperty("nifi.flowfile.repository.implementation", "org.apache.nifi.controller.repository.WriteAheadFlowFileRepository",
+            orderedProperties.setProperty("nifi.flowfile.repository.implementation", String.valueOf(flowfileRepoSchema.getFlowFileRepository()),
                     System.lineSeparator() + "# FlowFile Repository");
             orderedProperties.setProperty("nifi.flowfile.repository.directory", "./flowfile_repository");
             orderedProperties.setProperty("nifi.flowfile.repository.partitions", String.valueOf(flowfileRepoSchema.getPartitions()));
diff --git a/minifi/minifi-bootstrap/src/test/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformerTest.java b/minifi/minifi-bootstrap/src/test/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformerTest.java
index a0cea58..7c621cb 100644
--- a/minifi/minifi-bootstrap/src/test/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformerTest.java
+++ b/minifi/minifi-bootstrap/src/test/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformerTest.java
@@ -719,6 +719,31 @@
     }
 
     @Test
+    public void testFlowFileRepoOverride() throws IOException, ConfigurationChangeException, SchemaLoaderException {
+        Properties pre216Properties = new Properties();
+        try (InputStream pre216PropertiesStream = ConfigTransformerTest.class.getClassLoader().getResourceAsStream("NIFI-8753/nifi.properties.before")) {
+            pre216Properties.load(pre216PropertiesStream);
+        }
+        pre216Properties.setProperty(ConfigTransformer.NIFI_VERSION_KEY, ConfigTransformer.NIFI_VERSION);
+
+        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+        try (InputStream configStream = ConfigTransformerTest.class.getClassLoader().getResourceAsStream("NIFI-8753/config.yml")) {
+            ConfigTransformer.writeNiFiProperties(SchemaLoader.loadConfigSchemaFromYaml(configStream), outputStream);
+        }
+        Properties properties = new Properties();
+        properties.load(new ByteArrayInputStream(outputStream.toByteArray()));
+
+        for (String name : pre216Properties.stringPropertyNames()) {
+            // Verify the Content Repo property was overridden
+            if("nifi.flowfile.repository.implementation".equals(name)) {
+                assertNotEquals("Property key " + name + " was not overridden.", pre216Properties.getProperty(name), properties.getProperty(name));
+            } else {
+                assertEquals("Property key " + name + " doesn't match.", pre216Properties.getProperty(name), properties.getProperty(name));
+            }
+        }
+    }
+
+    @Test
     public void testNullSensitiveKey() throws IOException, ConfigurationChangeException, SchemaLoaderException {
         final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
         try (final InputStream configStream = ConfigTransformerTest.class.getClassLoader().getResourceAsStream("MINIFI-537/config.yml")) {
diff --git a/minifi/minifi-bootstrap/src/test/resources/NIFI-8753/config.yml b/minifi/minifi-bootstrap/src/test/resources/NIFI-8753/config.yml
new file mode 100644
index 0000000..b911228
--- /dev/null
+++ b/minifi/minifi-bootstrap/src/test/resources/NIFI-8753/config.yml
@@ -0,0 +1,107 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the \"License\"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an \"AS IS\" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+MiNiFi Config Version: 3
+Flow Controller:
+  name: MiNiFi Flow
+  comment: ''
+Core Properties:
+  flow controller graceful shutdown period: 10 sec
+  flow service write delay interval: 500 ms
+  administrative yield duration: 30 sec
+  bored yield duration: 10 millis
+  max concurrent threads: 1
+FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.VolatileFlowFileRepository
+  partitions: 256
+  checkpoint interval: 2 mins
+  always sync: false
+  Swap:
+    threshold: 20000
+    in period: 5 sec
+    in threads: 1
+    out period: 5 sec
+    out threads: 4
+Content Repository:
+  content claim max appendable size: 10 MB
+  content claim max flow files: 100
+  always sync: false
+Provenance Repository:
+  provenance rollover time: 1 min
+Component Status Repository:
+  buffer size: 1440
+  snapshot frequency: 1 min
+Security Properties:
+  keystore: /tmp/ssl/localhost-ks.jks
+  keystore type: JKS
+  keystore password: localtest
+  key password: localtest
+  truststore: /tmp/ssl/localhost-ts.jks
+  truststore type: JKS
+  truststore password: localtest
+  ssl protocol: TLS
+  Sensitive Props:
+    key: ''
+    algorithm: PBEWITHMD5AND256BITAES-CBC-OPENSSL
+    provider: BC
+Processors:
+- id: 94b8e610-b4ed-3ec9-b26f-c839931bf3e2
+  name: TailFile
+  class: org.apache.nifi.processors.standard.TailFile
+  max concurrent tasks: 1
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 1 sec
+  penalization period: 30 sec
+  yield period: 1 sec
+  run duration nanos: 0
+  auto-terminated relationships list: []
+  Properties:
+    File to Tail: logs/minifi-app.log
+    Initial Start Position: Beginning of File
+    Rolling Filename Pattern: minifi-app*
+Connections:
+- id: f6cef9b0-8982-391c-8d70-76f33917ac12
+  name: TailToS2S
+  source id: 94b8e610-b4ed-3ec9-b26f-c839931bf3e2
+  source relationship names:
+  - success
+  destination id: 8644cbcc-a45c-40e0-964d-5e536e2ada61
+  max work queue size: 0
+  max work queue data size: 1 MB
+  flowfile expiration: 60 sec
+  queue prioritizer class: org.apache.nifi.prioritizer.NewestFlowFileFirstPrioritizer
+Remote Process Groups:
+- id: 94b8e610-b4ed-3ec9-b26f-c839931bf3e3
+  name: NiFi Flow
+  url: https://localhost:8090/nifi
+  comment: ''
+  timeout: 30 secs
+  yield period: 10 sec
+  Input Ports:
+  - id: 8644cbcc-a45c-40e0-964d-5e536e2ada61
+    name: tailed log
+    comment: ''
+    max concurrent tasks: 1
+    use compression: false
+Provenance Reporting:
+  comment: ''
+  scheduling strategy: TIMER_DRIVEN
+  scheduling period: 30 sec
+  destination url: https://localhost:8090/
+  port name: provenance
+  originating url: http://${hostname(true)}:8081/nifi
+  use compression: true
+  timeout: 30 secs
+  batch size: 1000
diff --git a/minifi/minifi-bootstrap/src/test/resources/NIFI-8753/nifi.properties.before b/minifi/minifi-bootstrap/src/test/resources/NIFI-8753/nifi.properties.before
new file mode 100644
index 0000000..b6271f3
--- /dev/null
+++ b/minifi/minifi-bootstrap/src/test/resources/NIFI-8753/nifi.properties.before
@@ -0,0 +1,121 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Core Properties #
+
+nifi.version=1.1.0
+nifi.flow.configuration.file=./conf/flow.xml.gz
+nifi.flow.configuration.archive.enabled=false
+nifi.flow.configuration.archive.dir=./conf/archive/
+nifi.flowcontroller.autoResumeState=true
+nifi.flowcontroller.graceful.shutdown.period=10 sec
+nifi.flowservice.writedelay.interval=500 ms
+nifi.administrative.yield.duration=30 sec
+# If a component has no work to do (is "bored"), how long should we wait before checking again for work?
+nifi.bored.yield.duration=10 millis
+
+nifi.authority.provider.configuration.file=./conf/authority-providers.xml
+nifi.login.identity.provider.configuration.file=./conf/login-identity-providers.xml
+nifi.templates.directory=./conf/templates
+nifi.ui.banner.text= 
+nifi.ui.autorefresh.interval=30 sec
+nifi.nar.library.directory=./lib
+nifi.nar.working.directory=./work/nar/
+nifi.documentation.working.directory=./work/docs/components
+
+####################
+# State Management #
+####################
+nifi.state.management.configuration.file=./conf/state-management.xml
+# The ID of the local state provider
+nifi.state.management.provider.local=local-provider
+
+# H2 Settings
+nifi.database.directory=./database_repository
+nifi.h2.url.append=;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE
+
+# FlowFile Repository
+nifi.flowfile.repository.implementation=org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
+nifi.flowfile.repository.directory=./flowfile_repository
+nifi.flowfile.repository.partitions=256
+nifi.flowfile.repository.checkpoint.interval=2 mins
+nifi.flowfile.repository.always.sync=false
+
+nifi.swap.manager.implementation=org.apache.nifi.controller.FileSystemSwapManager
+nifi.queue.swap.threshold=20000
+nifi.swap.in.period=5 sec
+nifi.swap.in.threads=1
+nifi.swap.out.period=5 sec
+nifi.swap.out.threads=4
+
+# Content Repository
+nifi.content.repository.implementation=org.apache.nifi.controller.repository.FileSystemRepository
+nifi.content.claim.max.appendable.size=10 MB
+nifi.content.claim.max.flow.files=100
+nifi.content.repository.archive.max.retention.period=12 hours
+nifi.content.repository.archive.max.usage.percentage=50%
+nifi.content.repository.archive.enabled=false
+nifi.content.repository.directory.default=./content_repository
+nifi.content.repository.always.sync=false
+
+# Provenance Repository Properties
+nifi.provenance.repository.implementation=org.apache.nifi.provenance.WriteAheadProvenanceRepository
+nifi.provenance.repository.rollover.time=1 min
+
+# Volatile Provenance Respository Properties
+nifi.provenance.repository.buffer.size=10000
+
+# Component Status Repository
+nifi.components.status.repository.implementation=org.apache.nifi.controller.status.history.VolatileComponentStatusRepository
+nifi.components.status.repository.buffer.size=1440
+nifi.components.status.snapshot.frequency=1 min
+
+# web properties #
+nifi.web.war.directory=./lib
+nifi.web.http.host=
+nifi.web.http.port=8081
+nifi.web.https.host=
+nifi.web.https.port=
+nifi.web.jetty.working.directory=./work/jetty
+nifi.web.jetty.threads=200
+
+# security properties #
+nifi.sensitive.props.key=
+nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL
+nifi.sensitive.props.provider=BC
+
+nifi.security.keystore=/tmp/ssl/localhost-ks.jks
+nifi.security.keystoreType=JKS
+nifi.security.keystorePasswd=localtest
+nifi.security.keyPasswd=localtest
+nifi.security.truststore=/tmp/ssl/localhost-ts.jks
+nifi.security.truststoreType=JKS
+nifi.security.truststorePasswd=localtest
+nifi.security.needClientAuth=
+nifi.security.user.credential.cache.duration=24 hours
+nifi.security.user.authority.provider=file-provider
+nifi.security.user.login.identity.provider=
+nifi.security.support.new.account.requests=
+# Valid Authorities include: ROLE_MONITOR,ROLE_DFM,ROLE_ADMIN,ROLE_PROVENANCE,ROLE_NIFI
+nifi.security.anonymous.authorities=
+nifi.security.ocsp.responder.url=
+nifi.security.ocsp.responder.certificate=
+
+
+# cluster node properties (only configure for cluster nodes) #
+nifi.cluster.is.node=false
+
+# cluster manager properties (only configure for cluster manager) #
+nifi.cluster.is.manager=false
diff --git a/minifi/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/FlowFileRepositorySchema.java b/minifi/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/FlowFileRepositorySchema.java
index bf94e4d..fbb3d72 100644
--- a/minifi/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/FlowFileRepositorySchema.java
+++ b/minifi/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/FlowFileRepositorySchema.java
@@ -30,13 +30,16 @@
  *
  */
 public class FlowFileRepositorySchema extends BaseSchema implements WritableSchema {
+    public static final String FLOWFILE_REPOSITORY_IMPLEMENTATION = "implementation";
     public static final String PARTITIONS_KEY = "partitions";
     public static final String CHECKPOINT_INTERVAL_KEY = "checkpoint interval";
+    public static final String DEFAULT_FLOWFILE_REPOSITORY_IMPLEMENTATION = "org.apache.nifi.controller.repository.WriteAheadFlowFileRepository";
     public static final int DEFAULT_PARTITIONS = 256;
     public static final String DEFAULT_CHECKPOINT_INTERVAL = "2 mins";
     public static final boolean DEFAULT_ALWAYS_SYNC = false;
 
     private Number partitions = DEFAULT_PARTITIONS;
+    private String flowFileRepository = DEFAULT_FLOWFILE_REPOSITORY_IMPLEMENTATION;
     private String checkpointInterval = DEFAULT_CHECKPOINT_INTERVAL;
     private Boolean alwaysSync = DEFAULT_ALWAYS_SYNC;
     private SwapSchema swapProperties;
@@ -46,6 +49,8 @@
     }
 
     public FlowFileRepositorySchema(Map map) {
+        flowFileRepository = getOptionalKeyAsType(map, FLOWFILE_REPOSITORY_IMPLEMENTATION, String.class,
+        FLOWFILE_REPO_KEY, DEFAULT_FLOWFILE_REPOSITORY_IMPLEMENTATION);
         partitions = getOptionalKeyAsType(map, PARTITIONS_KEY, Number.class, FLOWFILE_REPO_KEY, DEFAULT_PARTITIONS);
         checkpointInterval = getOptionalKeyAsType(map, CHECKPOINT_INTERVAL_KEY, String.class, FLOWFILE_REPO_KEY, DEFAULT_CHECKPOINT_INTERVAL);
         alwaysSync = getOptionalKeyAsType(map, ALWAYS_SYNC_KEY, Boolean.class, FLOWFILE_REPO_KEY, DEFAULT_ALWAYS_SYNC);
@@ -57,6 +62,7 @@
     @Override
     public Map<String, Object> toMap() {
         Map<String, Object> result = mapSupplier.get();
+        result.put(FLOWFILE_REPOSITORY_IMPLEMENTATION, flowFileRepository);
         result.put(PARTITIONS_KEY, partitions);
         result.put(CHECKPOINT_INTERVAL_KEY, checkpointInterval);
         result.put(ALWAYS_SYNC_KEY, alwaysSync);
@@ -64,6 +70,10 @@
         return result;
     }
 
+    public String getFlowFileRepository() {
+        return flowFileRepository;
+    }
+
     public Number getPartitions() {
         return partitions;
     }
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/1.5_RPG_Handling.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/1.5_RPG_Handling.yml
index b3b3409..f47bc8e 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/1.5_RPG_Handling.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/1.5_RPG_Handling.yml
@@ -25,6 +25,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/CsvToJson.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/CsvToJson.yml
index 25509f9..0efcfab 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/CsvToJson.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/CsvToJson.yml
@@ -25,6 +25,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/DecompressionCircularFlow.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/DecompressionCircularFlow.yml
index 274d1a7..981ef5d 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/DecompressionCircularFlow.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/DecompressionCircularFlow.yml
@@ -25,6 +25,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/InvokeHttpMiNiFiTemplateTest.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/InvokeHttpMiNiFiTemplateTest.yml
index 2d5d635..e60ad9f 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/InvokeHttpMiNiFiTemplateTest.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/InvokeHttpMiNiFiTemplateTest.yml
@@ -25,6 +25,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/MINIFI-521_1.3_TemplateEncoding.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/MINIFI-521_1.3_TemplateEncoding.yml
index 39d1a8c..ac0c206 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/MINIFI-521_1.3_TemplateEncoding.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/MINIFI-521_1.3_TemplateEncoding.yml
@@ -24,6 +24,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/MultipleRelationships.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/MultipleRelationships.yml
index 00341d0..7916248 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/MultipleRelationships.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/MultipleRelationships.yml
@@ -25,6 +25,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/MultipleUriRPG.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/MultipleUriRPG.yml
index cc9b40a..18782fe 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/MultipleUriRPG.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/MultipleUriRPG.yml
@@ -25,6 +25,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/NestedControllerServices.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/NestedControllerServices.yml
index c18096f..66080fa 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/NestedControllerServices.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/NestedControllerServices.yml
@@ -25,6 +25,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/NoTemplateEncodingVersion.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/NoTemplateEncodingVersion.yml
index 813f637..fc815bc 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/NoTemplateEncodingVersion.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/NoTemplateEncodingVersion.yml
@@ -25,6 +25,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ProcessGroupsAndRemoteProcessGroups-v2.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ProcessGroupsAndRemoteProcessGroups-v2.yml
index 1d5c880..239820b 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ProcessGroupsAndRemoteProcessGroups-v2.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ProcessGroupsAndRemoteProcessGroups-v2.yml
@@ -24,6 +24,7 @@
   bored yield duration: 10 millis
   max concurrent threads: 1
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ProcessGroupsAndRemoteProcessGroups.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ProcessGroupsAndRemoteProcessGroups.yml
index 3e1c6f8..10f4e19 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ProcessGroupsAndRemoteProcessGroups.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ProcessGroupsAndRemoteProcessGroups.yml
@@ -25,6 +25,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting-v1.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting-v1.yml
index d0f1d66..3aca1b7 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting-v1.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting-v1.yml
@@ -23,6 +23,7 @@
   bored yield duration: 10 millis
   max concurrent threads: 1
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting.yml
index 0275041..a8873a4 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/ReplaceTextExpressionLanguageCSVReformatting.yml
@@ -25,6 +25,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleRPGToLogAttributes.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleRPGToLogAttributes.yml
index 3e317c7..184f7ac 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleRPGToLogAttributes.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleRPGToLogAttributes.yml
@@ -25,6 +25,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleTailFileToRPG-v1.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleTailFileToRPG-v1.yml
index 183d891..3807f9b 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleTailFileToRPG-v1.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleTailFileToRPG-v1.yml
@@ -23,6 +23,7 @@
   bored yield duration: 10 millis
   max concurrent threads: 1
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleTailFileToRPG-v2.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleTailFileToRPG-v2.yml
index c70a018..5476812 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleTailFileToRPG-v2.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleTailFileToRPG-v2.yml
@@ -24,6 +24,7 @@
   bored yield duration: 10 millis
   max concurrent threads: 1
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleTailFileToRPG.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleTailFileToRPG.yml
index 813f637..fc815bc 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleTailFileToRPG.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/SimpleTailFileToRPG.yml
@@ -25,6 +25,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework-v1.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework-v1.yml
index 970552b..c30c9d4 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework-v1.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework-v1.yml
@@ -23,6 +23,7 @@
   bored yield duration: 10 millis
   max concurrent threads: 1
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework.yml
index f6e2fbd..3003750 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFramework.yml
@@ -25,6 +25,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFrameworkFunnel.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFrameworkFunnel.yml
index 66d190b..df2d0bf 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFrameworkFunnel.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/StressTestFrameworkFunnel.yml
@@ -25,6 +25,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false
diff --git a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/VersionedFlowSnapshot-Simple.yml b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/VersionedFlowSnapshot-Simple.yml
index af1a759..c68d8a2 100644
--- a/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/VersionedFlowSnapshot-Simple.yml
+++ b/minifi/minifi-toolkit/minifi-toolkit-configuration/src/test/resources/VersionedFlowSnapshot-Simple.yml
@@ -25,6 +25,7 @@
   max concurrent threads: 1
   variable registry properties: ''
 FlowFile Repository:
+  implementation: org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
   partitions: 256
   checkpoint interval: 2 mins
   always sync: false