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. ---