Github user alopresto commented on the issue:

    https://github.com/apache/nifi/pull/2086
  
    I verified the new unit test passed successfully. I then started the app 
normally, ran a heavy flow, and debugged at the `checkpoint()` method to ensure 
I captured a valid `snapshot` file. I modified this by truncating the file 
after a transaction ID, yielding an incomplete record. I stopped the 
application, moved the modified `snapshot` into place, and restarted the app. 
On loading, NiFi stopped with the following expected error in the 
`nifi-app.log`:
    
    ```
    org.apache.nifi.web.NiFiCoreException: Unable to start Flow Controller.
        at 
org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:88)
        at 
org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:876)
        at 
org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:532)
        at 
org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:839)
        at 
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:344)
        at 
org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1480)
        at 
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1442)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:799)
        at 
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:261)
        at 
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:540)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:113)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
        at 
org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:290)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
        at org.eclipse.jetty.server.Server.start(Server.java:452)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
        at org.eclipse.jetty.server.Server.doStart(Server.java:419)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:707)
        at org.apache.nifi.NiFi.<init>(NiFi.java:160)
        at org.apache.nifi.NiFi.main(NiFi.java:268)
    Caused by: java.io.EOFException: Failed to read field 'Repository Record 
Update'
        at 
org.apache.nifi.repository.schema.SchemaRecordReader.readField(SchemaRecordReader.java:115)
        at 
org.apache.nifi.repository.schema.SchemaRecordReader.readRecord(SchemaRecordReader.java:72)
        at 
org.apache.nifi.controller.repository.SchemaRepositoryRecordSerde.deserializeRecord(SchemaRepositoryRecordSerde.java:124)
        at 
org.apache.nifi.controller.repository.SchemaRepositoryRecordSerde.deserializeRecord(SchemaRepositoryRecordSerde.java:46)
        at 
org.wali.MinimalLockingWriteAheadLog.recoverFromSnapshot(MinimalLockingWriteAheadLog.java:380)
        at 
org.wali.MinimalLockingWriteAheadLog.recoverRecords(MinimalLockingWriteAheadLog.java:300)
        at 
org.apache.nifi.controller.repository.WriteAheadFlowFileRepository.loadFlowFiles(WriteAheadFlowFileRepository.java:381)
        at 
org.apache.nifi.controller.FlowController.initializeFlow(FlowController.java:723)
        at 
org.apache.nifi.controller.StandardFlowService.initializeController(StandardFlowService.java:956)
        at 
org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:535)
        at 
org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:72)
        ... 28 common frames omitted
        Suppressed: java.io.EOFException: Failed to read field 'Create or 
Update'
                at 
org.apache.nifi.repository.schema.SchemaRecordReader.readField(SchemaRecordReader.java:115)
                at 
org.apache.nifi.repository.schema.SchemaRecordReader.readFieldValue(SchemaRecordReader.java:186)
                at 
org.apache.nifi.repository.schema.SchemaRecordReader.readField(SchemaRecordReader.java:113)
                ... 38 common frames omitted
                Suppressed: java.io.EOFException: Unexpected End-of-File when 
attempting to read Repetition value for field 'Swap Location'
                        at 
org.apache.nifi.repository.schema.SchemaRecordReader.readField(SchemaRecordReader.java:101)
                        at 
org.apache.nifi.repository.schema.SchemaRecordReader.readFieldValue(SchemaRecordReader.java:171)
                        at 
org.apache.nifi.repository.schema.SchemaRecordReader.readField(SchemaRecordReader.java:113)
                        ... 40 common frames omitted
    ```
    
    Ran `contrib-check` and all tests pass. +1, merging. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to