logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matt Sicker (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (LOG4J2-676) Failed to write log event to CouchDB due to error: Connection pool shut down
Date Sun, 22 Jun 2014 18:38:24 GMT

     [ https://issues.apache.org/jira/browse/LOG4J2-676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Matt Sicker resolved LOG4J2-676.
--------------------------------

    Resolution: Fixed

> Failed to write log event to CouchDB due to error: Connection pool shut down
> ----------------------------------------------------------------------------
>
>                 Key: LOG4J2-676
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-676
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 2.0-rc1
>         Environment: Apache CouchDB 1.2.0
> org.lightcouch.lightcouch-1.3.0
> log4j-core-2.0-RC1
> --------------------------------------------------------------------------------
> java version "1.7.0_09"
> Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
> Java HotSpot(TM) Server VM (build 23.5-b02, mixed mode)
> --------------------------------------------------------------------------------
> GlassFish 4.0-89
>            Reporter: P_W999
>              Labels: appender, couchdb, nosql
>
> I'm trying to setup a NoSQL logger using Apache CouchDB. After logging a single message,
the logger fails with the following exception:
> {color: blue}
>   2014-06-22 10:22:18,590 ERROR An exception occurred processing Appender databaseAppender
org.apache.logging.log4j.core.appender.AppenderLoggingException: Failed to write log event
to CouchDB due to error: Connection pool shut down
> 	at org.apache.logging.log4j.core.appender.db.nosql.couchdb.CouchDBConnection.insertObject(CouchDBConnection.java:57)
> 	at org.apache.logging.log4j.core.appender.db.nosql.NoSQLDatabaseManager.writeInternal(NoSQLDatabaseManager.java:148)
> 	at org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager.write(AbstractDatabaseManager.java:159)
> 	at org.apache.logging.log4j.core.appender.db.AbstractDatabaseAppender.append(AbstractDatabaseAppender.java:103)
> 	at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:97)
> 	at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:425)
> 	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:406)
> 	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:367)
> 	at org.apache.logging.log4j.core.Logger.log(Logger.java:112)
> 	at org.apache.logging.log4j.spi.AbstractLogger.error(AbstractLogger.java:577)
> 	at be.pw999.kbomap.controller.KboMapController.getJson(KboMapController.java:65)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:601)
> 	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
> 	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:125)
> 	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:195)
> 	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:91)
> 	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:346)
> 	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:341)
> 	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:101)
> 	at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:224)
> 	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
> 	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
> 	at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
> 	at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
> 	at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
> 	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
> 	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:198)
> 	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:946)
> 	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:323)
> 	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:372)
> 	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:335)
> 	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:218)
> 	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
> 	at org.apache.logging.log4j.core.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:66)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
> 	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
> 	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)
> 	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)
> 	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
> 	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
> 	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
> 	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
> 	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
> 	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
> 	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
> 	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
> 	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
> 	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
> 	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
> 	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
> 	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
> 	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
> 	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
> 	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
> 	at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.IllegalStateException: Connection pool shut down
> 	at org.apache.http.util.Asserts.check(Asserts.java:34)
> 	at org.apache.http.pool.AbstractConnPool.lease(AbstractConnPool.java:169)
> 	at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.requestConnection(PoolingHttpClientConnectionManager.java:217)
> 	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:158)
> 	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)
> 	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86)
> 	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
> 	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186)
> 	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
> 	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
> 	at org.lightcouch.CouchDbClientBase.executeRequest(CouchDbClientBase.java:409)
> 	at org.lightcouch.CouchDbClientBase.put(CouchDbClientBase.java:517)
> 	at org.lightcouch.CouchDbClientBase.save(CouchDbClientBase.java:273)
> 	at org.apache.logging.log4j.core.appender.db.nosql.couchdb.CouchDBConnection.insertObject(CouchDBConnection.java:51)
> 	... 66 more]]
> {color}
> The log4j2.xml file is:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <Configuration status="info">
>   <Appenders>
>     <NoSql name="databaseAppender">
>       <CouchDb databaseName="kbomaplog" protocol="http" server="127.0.0.1" port="5984"
>                username="loguser" password="meh" />
>     </NoSql>
>   </Appenders>
>   <Loggers>
>     <Root level="info">
>       <AppenderRef ref="databaseAppender"/>
>     </Root>
>   </Loggers>
> </Configuration>
> {code}
> And the piece of code I'm using to test is:
> {code}
> 	private Logger logger = LogManager.getLogger(KboMapController.class);
> 	
> 	/**
> 	 * Does nothing special. Returns a simple JSON object with a count of the code table
for testing purposes.
> 	 * 
> 	 * @param id unused
> 	 * @param test unused
> 	 * @return a JSON representation of the filled in {@link Enterprise} object.
> 	 */
> 	@GET
> 	@Produces(MediaType.APPLICATION_JSON)
> 	@Path("{id}/{test}")
> 	public Enterprise getJson(@PathParam("id") String id, @PathParam("test") String test)
{
> 		try {
> 			logger.error("whoaaaaaah");
> 			return new Enterprise("SUCCESS", "COUNT=" + dao.count());
> 		} catch (SQLException e) {
> 			return new Enterprise("ERROR", e.getMessage());
> 		}
> 	}
> {code}
> The same issue occurs when the logger is {{static final}}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org


Mime
View raw message