KB Article #182577

Deployment fails with java.lang.RuntimeException: Invalid Event Loggging configuration

Problem


Deployment fails with an error like the following:

ERROR   2023/01/01 00:00:00.000    Failed to configure module: store+com.vordel.store.util.env.EnvExpandEntityStore@30948fa7 Entitity={ EventLog ESPK = DEFAULT_PRIMARY_VordelGateway_7.7.0:-8592673815568889105 with parent pk as DEFAULT_PRIMARY_VordelGateway_7.7.0:0 and fields as   {dirSizeMb=[dirSizeMb{1024}], dirSizePollFrequencySecs=[dirSizePollFrequencySecs{600}], enabled=[enabled{true}], eventLogDir=[eventLogDir{${environment.VDISTDIR}/events}], name=[name{Event Log Configuration}], writeSystemEventFreqSecs=[writeSystemEventFreqSecs{60}]} }: 
java.lang.RuntimeException: Invalid Event Loggging configuration found at: /opt/Axway-7.7.0/apigateway/system/conf/loggers/eventLog.yaml
    at com.vordel.metrics.eventlog.logger.Log4j2EventLogger.<init>(Log4j2EventLogger.java:62)
    at com.vordel.metrics.eventlog.logger.EventLoggers.create(EventLoggers.java:14)
    at com.vordel.metrics.eventlog.logger.EventLogConfig.configure(EventLogConfig.java:75)
    at com.vordel.precipitate.SolutionPack$ConfigModule.configure(SolutionPack.java:317)
    at com.vordel.precipitate.SolutionPack.loadModules(SolutionPack.java:437)
    at com.vordel.dwe.Service.refresh(Service.java:578)
    at com.vordel.api.configuration.ConfigurationService.loadNewFed(ConfigurationService.java:277)
    at com.vordel.api.configuration.ConfigurationService.updateConfiguration(ConfigurationService.java:207)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
    at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80)
    at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232)
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:680)
    at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394)
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:366)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:319)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)

Resolution


This error is logged when the logger named APIGatewayTxnEventLog is unable to initialize or when it has an empty list of appenders attached to it. While that can happen if eventLog.yml is modified improperly, it is also known to be caused by improper file permissions or mixed ownership of files. That causes exactly the same error stack and you would not see any evidence of the permission errors in the logs.

For that reason, be sure to check for improper file permissions and ownership, especially of the files under /apigateway/events/, then chown the affected files so that all files are owned and accessibly by the user that runs API Gateway.