This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new bf1e9f8faf NIFI-14732 Deleted references to removed Encrypted 
Repositories (#10207)
bf1e9f8faf is described below

commit bf1e9f8faf21cc1944fd5e2b24540e822d994acf
Author: jrsteinebrey <[email protected]>
AuthorDate: Fri Aug 15 11:38:39 2025 -0400

    NIFI-14732 Deleted references to removed Encrypted Repositories (#10207)
    
    Signed-off-by: David Handermann <[email protected]>
---
 .../java/org/apache/nifi/util/NiFiProperties.java  |  1 -
 .../src/main/asciidoc/administration-guide.adoc    |  8 --------
 ...org.apache.nifi.provenance.ProvenanceRepository |  3 +--
 .../repository/WriteAheadFlowFileRepository.java   | 22 +---------------------
 4 files changed, 2 insertions(+), 32 deletions(-)

diff --git 
a/nifi-commons/nifi-properties/src/main/java/org/apache/nifi/util/NiFiProperties.java
 
b/nifi-commons/nifi-properties/src/main/java/org/apache/nifi/util/NiFiProperties.java
index ddf5925563..9e85c05d22 100644
--- 
a/nifi-commons/nifi-properties/src/main/java/org/apache/nifi/util/NiFiProperties.java
+++ 
b/nifi-commons/nifi-properties/src/main/java/org/apache/nifi/util/NiFiProperties.java
@@ -98,7 +98,6 @@ public class NiFiProperties extends ApplicationProperties {
 
     // flowfile repository properties
     public static final String FLOWFILE_REPOSITORY_IMPLEMENTATION = 
"nifi.flowfile.repository.implementation";
-    public static final String FLOWFILE_REPOSITORY_WAL_IMPLEMENTATION = 
"nifi.flowfile.repository.wal.implementation";
     public static final String FLOWFILE_REPOSITORY_ALWAYS_SYNC = 
"nifi.flowfile.repository.always.sync";
     public static final String FLOWFILE_REPOSITORY_DIRECTORY = 
"nifi.flowfile.repository.directory";
     public static final String FLOWFILE_REPOSITORY_CHECKPOINT_INTERVAL = 
"nifi.flowfile.repository.checkpoint.interval";
diff --git a/nifi-docs/src/main/asciidoc/administration-guide.adoc 
b/nifi-docs/src/main/asciidoc/administration-guide.adoc
index b375153bbe..dbf7771aa6 100644
--- a/nifi-docs/src/main/asciidoc/administration-guide.adoc
+++ b/nifi-docs/src/main/asciidoc/administration-guide.adoc
@@ -2946,14 +2946,6 @@ NOTE: Switching repository implementations should only 
be done on an instance wi
 
 |====
 |*Property*|*Description*
-|`nifi.flowfile.repository.wal.implementation`|If the repository 
implementation is configured to use the `WriteAheadFlowFileRepository`, this 
property can be used to specify which implementation of the
-Write-Ahead Log should be used. The default value is 
`org.apache.nifi.wali.SequentialAccessWriteAheadLog`. This version of the 
write-ahead log was added in version 1.6.0 of Apache NiFi and was developed
-in order to address an issue that exists in the older implementation. In the 
event of power loss or an operating system crash, the old implementation was 
susceptible to recovering FlowFiles
-incorrectly. This could potentially lead to the wrong attributes or content 
being assigned to a FlowFile upon restart, following the power loss or OS 
crash. However, one can still choose to opt into
-using the previous implementation and accept that risk, if desired (for 
example, if the new implementation were to exhibit some unexpected error).
-To do so, set the value of this property to 
`org.wali.MinimalLockingWriteAheadLog`. Another available implementation is 
`org.apache.nifi.wali.EncryptedSequentialAccessWriteAheadLog`.
-If the value of this property is changed, upon restart, NiFi will still 
recover the records written using the previously configured repository and 
delete the files written by the previously configured
-implementation.
 |`nifi.flowfile.repository.directory`*|The location of the FlowFile 
Repository. The default value is `./flowfile_repository`.
 |`nifi.flowfile.repository.checkpoint.interval`| The FlowFile Repository 
checkpoint interval. The default value is `20 secs`.
 |`nifi.flowfile.repository.always.sync`|If set to `true`, any change to the 
repository will be synchronized to the disk, meaning that NiFi will ask the 
operating system not to cache the information. This is very expensive and can 
significantly reduce NiFi performance. However, if it is `false`, there could 
be the potential for data loss if either there is a sudden power loss or the 
operating system crashes. The default value is `false`.
diff --git 
a/nifi-framework-bundle/nifi-framework-extensions/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/resources/META-INF/services/org.apache.nifi.provenance.ProvenanceRepository
 
b/nifi-framework-bundle/nifi-framework-extensions/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/resources/META-INF/services/org.apache.nifi.provenance.ProvenanceRepository
index 7e6ddab198..37ed35824a 100644
--- 
a/nifi-framework-bundle/nifi-framework-extensions/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/resources/META-INF/services/org.apache.nifi.provenance.ProvenanceRepository
+++ 
b/nifi-framework-bundle/nifi-framework-extensions/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/resources/META-INF/services/org.apache.nifi.provenance.ProvenanceRepository
@@ -12,5 +12,4 @@
 # 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.
-org.apache.nifi.provenance.WriteAheadProvenanceRepository
-org.apache.nifi.provenance.EncryptedWriteAheadProvenanceRepository
\ No newline at end of file
+org.apache.nifi.provenance.WriteAheadProvenanceRepository
\ No newline at end of file
diff --git 
a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/repository/WriteAheadFlowFileRepository.java
 
b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/repository/WriteAheadFlowFileRepository.java
index 59f58baa99..78ce55eb3b 100644
--- 
a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/repository/WriteAheadFlowFileRepository.java
+++ 
b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/repository/WriteAheadFlowFileRepository.java
@@ -83,13 +83,8 @@ public class WriteAheadFlowFileRepository implements 
FlowFileRepository, SyncLis
     static final String FLOWFILE_REPOSITORY_DIRECTORY_PREFIX = 
"nifi.flowfile.repository.directory";
     private static final String RETAIN_ORPHANED_FLOWFILES = 
"nifi.flowfile.repository.retain.orphaned.flowfiles";
     private static final String FLOWFILE_REPO_CACHE_SIZE = 
"nifi.flowfile.repository.wal.cache.characters";
-
-    static final String SEQUENTIAL_ACCESS_WAL = 
"org.apache.nifi.wali.SequentialAccessWriteAheadLog";
-    static final String ENCRYPTED_SEQUENTIAL_ACCESS_WAL = 
"org.apache.nifi.wali.EncryptedSequentialAccessWriteAheadLog";
-    private static final String DEFAULT_WAL_IMPLEMENTATION = 
SEQUENTIAL_ACCESS_WAL;
     private static final int DEFAULT_CACHE_SIZE = 10_000_000;
 
-    private final String walImplementation;
     protected final NiFiProperties nifiProperties;
 
     private final AtomicLong flowFileSequenceGenerator = new AtomicLong(0L);
@@ -145,7 +140,6 @@ public class WriteAheadFlowFileRepository implements 
FlowFileRepository, SyncLis
         alwaysSync = false;
         checkpointDelayMillis = 0L;
         checkpointExecutor = null;
-        walImplementation = null;
         nifiProperties = null;
         retainOrphanedFlowFiles = true;
         maxCharactersToCache = 0;
@@ -158,12 +152,6 @@ public class WriteAheadFlowFileRepository implements 
FlowFileRepository, SyncLis
         final String orphanedFlowFileProperty = 
nifiProperties.getProperty(RETAIN_ORPHANED_FLOWFILES);
         retainOrphanedFlowFiles = orphanedFlowFileProperty == null || 
Boolean.parseBoolean(orphanedFlowFileProperty);
 
-        // determine the database file path and ensure it exists
-        String writeAheadLogImpl = 
nifiProperties.getProperty(NiFiProperties.FLOWFILE_REPOSITORY_WAL_IMPLEMENTATION);
-        if (writeAheadLogImpl == null) {
-            writeAheadLogImpl = DEFAULT_WAL_IMPLEMENTATION;
-        }
-        this.walImplementation = writeAheadLogImpl;
         this.maxCharactersToCache = 
nifiProperties.getIntegerProperty(FLOWFILE_REPO_CACHE_SIZE, DEFAULT_CACHE_SIZE);
 
         final String directoryName = 
nifiProperties.getProperty(FLOWFILE_REPOSITORY_DIRECTORY_PREFIX);
@@ -202,15 +190,7 @@ public class WriteAheadFlowFileRepository implements 
FlowFileRepository, SyncLis
         // delete backup. On restore, if no files exist in partition's 
directory, would have to check backup directory
         this.serdeFactory = serdeFactory;
 
-        // The specified implementation can be plaintext or encrypted; the 
only difference is the serde factory
-        if (walImplementation.equals(SEQUENTIAL_ACCESS_WAL) || 
walImplementation.equals(ENCRYPTED_SEQUENTIAL_ACCESS_WAL)) {
-            // TODO: May need to instantiate ESAWAL for clarity?
-            wal = new 
SequentialAccessWriteAheadLog<>(flowFileRepositoryPaths.get(0), serdeFactory, 
this);
-        } else {
-            throw new IllegalStateException("Cannot create Write-Ahead Log 
because the configured property '" + 
NiFiProperties.FLOWFILE_REPOSITORY_WAL_IMPLEMENTATION +
-                    "' has an invalid value of '" + walImplementation + "'. 
Please update nifi.properties to indicate a valid value for this property.");
-        }
-
+        wal = new 
SequentialAccessWriteAheadLog<>(flowFileRepositoryPaths.get(0), serdeFactory, 
this);
         logger.info("Initialized FlowFile Repository");
     }
 

Reply via email to