Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NotamDb initalization failed due to missed message identified during initalization process #3

Closed
rhishirajnema opened this issue Apr 9, 2021 · 13 comments

Comments

@rhishirajnema
Copy link

We keep getting this error while running FnsClient in our servers. Any way to resolve it?
Here is complete stack trace -

java.lang.Exception NotamDb initalization failed due to missed message identified during initalization process. LogbackBugsnagAppender.java:71 bugsnag.soschat.LogbackBugsnagAppender.extractThrowable LogbackBugsnagAppender.java:42 bugsnag.soschat.LogbackBugsnagAppender.append LogbackBugsnagAppender.java:18 bugsnag.soschat.LogbackBugsnagAppender.append AppenderBase.java:82 ch.qos.logback.core.AppenderBase.doAppend AppenderAttachableImpl.java:51 ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders Logger.java:270 ch.qos.logback.classic.Logger.appendLoopOnAppenders Logger.java:257 ch.qos.logback.classic.Logger.callAppenders Logger.java:421 ch.qos.logback.classic.Logger.buildLoggingEventAndAppend Logger.java:383 ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus Logger.java:522 ch.qos.logback.classic.Logger.error FnsClient.java:198 com.soschat.notam.source.fns.FnsClient.initalizeNotamDbFromFil FnsClient.java:366 com.soschat.notam.source.fns.FnsClient.start NotamAppListener.java:27 com.soschat.notam.source.configuration.NotamAppListener.onApplicationEvent NotamAppListener.java:14 com.soschat.notam.source.configuration.NotamAppListener.onApplicationEvent SimpleApplicationEventMulticaster.java:172 org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener SimpleApplicationEventMulticaster.java:165 org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener SimpleApplicationEventMulticaster.java:139 org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent AbstractApplicationContext.java:402 org.springframework.context.support.AbstractApplicationContext.publishEvent AbstractApplicationContext.java:408 org.springframework.context.support.AbstractApplicationContext.publishEvent AbstractApplicationContext.java:359 org.springframework.context.support.AbstractApplicationContext.publishEvent EventPublishingRunListener.java:105 org.springframework.boot.context.event.EventPublishingRunListener.running SpringApplicationRunListeners.java:78 org.springframework.boot.SpringApplicationRunListeners.running SpringApplication.java:332 org.springframework.boot.SpringApplication.run SpringApplicationBuilder.java:139 org.springframework.boot.builder.SpringApplicationBuilder.run DefaultBinderFactory.java:250 org.springframework.cloud.stream.binder.DefaultBinderFactory.getBinderInstance DefaultBinderFactory.java:174 org.springframework.cloud.stream.binder.DefaultBinderFactory.doGetBinder DefaultBinderFactory.java:120 org.springframework.cloud.stream.binder.DefaultBinderFactory.getBinder BindingService.java:313 org.springframework.cloud.stream.binding.BindingService.getBinder BindingService.java:214 org.springframework.cloud.stream.binding.BindingService.bindProducer BindableProxyFactory.java:262 org.springframework.cloud.stream.binding.BindableProxyFactory.createAndBindOutputs OutputBindingLifecycle.java:55 org.springframework.cloud.stream.binding.OutputBindingLifecycle.doStartWithBindable LinkedHashMap.java:608 java.util.LinkedHashMap$LinkedValues.forEach AbstractBindingLifecycle.java:47 org.springframework.cloud.stream.binding.AbstractBindingLifecycle.start OutputBindingLifecycle.java:34 org.springframework.cloud.stream.binding.OutputBindingLifecycle.start DefaultLifecycleProcessor.java:182 org.springframework.context.support.DefaultLifecycleProcessor.doStart DefaultLifecycleProcessor.java:53 org.springframework.context.support.DefaultLifecycleProcessor.access$200 DefaultLifecycleProcessor.java:360 org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start DefaultLifecycleProcessor.java:158 org.springframework.context.support.DefaultLifecycleProcessor.startBeans DefaultLifecycleProcessor.java:122 org.springframework.context.support.DefaultLifecycleProcessor.onRefresh AbstractApplicationContext.java:893 org.springframework.context.support.AbstractApplicationContext.finishRefresh ServletWebServerApplicationContext.java:163 org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh AbstractApplicationContext.java:552 org.springframework.context.support.AbstractApplicationContext.refresh ServletWebServerApplicationContext.java:142 org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh SpringApplication.java:775 org.springframework.boot.SpringApplication.refresh SpringApplication.java:397 org.springframework.boot.SpringApplication.refreshContext SpringApplication.java:316 org.springframework.boot.SpringApplication.run SpringApplication.java:1260 org.springframework.boot.SpringApplication.run SpringApplication.java:1248 org.springframework.boot.SpringApplication.run SpringNotamSourceApp.java:14 com.soschat.notam.source.SpringNotamSourceApp.main NativeMethodAccessorImpl.java:-2 jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 NativeMethodAccessorImpl.java:62 jdk.internal.reflect.NativeMethodAccessorImpl.invoke DelegatingMethodAccessorImpl.java:43 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke Method.java:566 java.lang.reflect.Method.invoke MainMethodRunner.java:48 org.springframework.boot.loader.MainMethodRunner.run Launcher.java:87 org.springframework.boot.loader.Launcher.launch Launcher.java:50 org.springframework.boot.loader.Launcher.launch JarLauncher.java:51 org.springframework.boot.loader.JarLauncher.main

@armFAActr
Copy link
Contributor

When was the last pull performed for the code? A bug was fixed that would prevent reinitialization processes to start if a message was missed during initialization. Please ensure you have the most recent code version and follow up if the issue still persists. Also, when posting about missed messages, please include the time the message was missed.

@rhishirajnema
Copy link
Author

Let me take the latest and rebuild our service.

@rhishirajnema
Copy link
Author

@armFAActr I updated to latest code and here is what I see in logs, it keeps invalidating notam db and reinitialize it because of missed messages -

2021-04-12 15:27:04,167 INFO - dev-76 notam-source - - : - FnsClient.initalizeNotamDbFromFil(187) | NotamDb initalized
2021-04-12 15:27:04,168 WARN - dev-76 notam-source - - : - FnsClient$2.onMissed(93) | Missed Message Identified, setting NotamDb to Invalid and ReInitalizing from FNS Initial Load | Missed Messages {3883032:2021-04-12T19:21:49.780864Z, 3883023:2021-04-12T19:21:49.780864Z, 3883036:2021-04-12T19:21:49.780864Z, 3883024:2021-04-12T19:21:49.780864Z, 3883015:2021-04-12T19:21:46.931346Z, 3883014:2021-04-12T19:21:46.931346Z, 3883029:2021-04-12T19:21:49.780864Z, 3883013:2021-04-12T19:21:46.931346Z, 3883028:2021-04-12T19:21:49.780864Z

@armFAActr
Copy link
Contributor

When you look at your SCDS metrics page, are there any discarded messages shown during the time after connecting?

@rhishirajnema
Copy link
Author

@armFAActr where I can see that, this is what I see in metrics page -
Screen Shot 2021-04-14 at 4 56 22 PM

@rhishirajnema
Copy link
Author

also, it takes forever to get notam db initialized. Why there is so much delay? it keeps printing this - Waiting for New FNS Initial Load File, current file modified time: Wed Apr 14 16:51:02 EDT 2021

@armFAActr
Copy link
Contributor

Please check and ensure you do not have any filters on your SCDS subscription. fns-client requires all notmas messages to function.

@faa-swim faa-swim deleted a comment from rhishirajnema Apr 16, 2021
@faa-swim faa-swim deleted a comment from rhishirajnema Apr 16, 2021
@armFAActr
Copy link
Contributor

also, it takes forever to get notam db initialized. Why there is so much delay? it keeps printing this - Waiting for New FNS Initial Load File, current file modified time: Wed Apr 14 16:51:02 EDT 2021

the FIL file is updated every 3 minutes at the most and can be longer if the processes of generating the FIL file takes longer. During initialization the fns-client checks for a FIL file that is updated after the initialization processes starts to ensure no notams are missed between the last time FIL was updated and when the initialization processes started.

@rhishirajnema
Copy link
Author

Please check and ensure you do not have any filters on your SCDS subscription. fns-client requires all notmas messages to function.

@armFAActr
Doesn't look like that. This is what we have -
Screen Shot 2021-04-16 at 2 04 03 PM

@faa-swim faa-swim deleted a comment from am1985 Apr 18, 2021
@armFAActr
Copy link
Contributor

I did notice in the graph you sent showed it going from one to two connection. Did you run the client twice? Make sure no other clients are connected and try to rerun the test tool sent previously and let me know if you still see missed messages. SCDS uses queues which don't equally distribute messages to multiple clients. If you need to run two clients then you will need to creat another subscription.

@armFAActr
Copy link
Contributor

@rhishirajnema, did you see my previous response?

@rhishirajnema
Copy link
Author

@armFAActr yes, thanks! We are going to try that, the problem is we want to run two instances for higher availability and we use common config file for both instances. We are trying to figure out how to accomplish it with two subscription. I will keep you posted.

@armFAActr
Copy link
Contributor

@rhishirajnema please reach out to scds@faa.gov if you need assistance on how to create another subscriptions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants