You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Owen Nichols (Jira)" <ji...@apache.org> on 2022/03/16 23:27:00 UTC

[jira] [Updated] (GEODE-9988) Log full exception when JNDI binding fails during cache creation

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

Owen Nichols updated GEODE-9988:
--------------------------------
    Fix Version/s: 1.15.0

> Log full exception when JNDI binding fails during cache creation
> ----------------------------------------------------------------
>
>                 Key: GEODE-9988
>                 URL: https://issues.apache.org/jira/browse/GEODE-9988
>             Project: Geode
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.15.0, 1.16.0
>            Reporter: Jens Deppe
>            Assignee: Jens Deppe
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.15.0, 1.16.0
>
>
> When a cache.xml is configured with a {{jndi-binding}} construct it may fail to bind but the log does not contain a useful error message, only something like:
> {noformat}
> [warn 2022/01/25 13:26:41.286 PST  <main> tid=0x1] jndi-binding creation of SimpleDataSource failed with: org.apache.geode.internal.datasource.DataSourceCreateException: Failed to connect to "SimpleDataSource". See log for details {noformat}
> The full exception stack would contain a the real cause of the problem. In this case:
> {noformat}
> java.sql.SQLNonTransientConnectionException: java.net.ConnectException : Error connecting to server localhost on port 1,528 with message Connection refused (Connection refused).
>     at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(Unknown Source)
>     at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
>     at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
>     at org.apache.geode.internal.datasource.GemFireBasicDataSource.getConnection(GemFireBasicDataSource.java:111)
>     at org.apache.geode.internal.jndi.JNDIInvoker.getConnection(JNDIInvoker.java:429)
>     at org.apache.geode.internal.jndi.JNDIInvoker.validateAndBindDataSource(JNDIInvoker.java:413)
>     at org.apache.geode.internal.jndi.JNDIInvoker.mapDatasource(JNDIInvoker.java:392)
>     at org.apache.geode.internal.jndi.JNDIInvoker.mapDatasource(JNDIInvoker.java:366)
>     at org.apache.geode.internal.cache.xmlcache.CacheXmlParser.endElement(CacheXmlParser.java:3064)
>     at org.apache.geode.internal.cache.xmlcache.CacheXmlParser$DefaultHandlerDelegate.endElement(CacheXmlParser.java:3485)
>     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:610)
>     at com.sun.org.apache.xerces.internal.impl.dtd.XMLNSDTDValidator.endNamespaceScope(XMLNSDTDValidator.java:226)
>     at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:2007)
>     at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:881)
>     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1784)
>     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2969)
>     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
>     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:113)
>     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:507)
>     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:867)
>     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:796)
>     at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:142)
>     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
>     at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:644)
>     at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:328)
>     at javax.xml.parsers.SAXParser.parse(SAXParser.java:196)
>     at org.apache.geode.internal.cache.xmlcache.CacheXmlParser.parse(CacheXmlParser.java:233)
>     at org.apache.geode.internal.cache.GemFireCacheImpl.loadCacheXml(GemFireCacheImpl.java:4203)
>     at org.apache.geode.internal.cache.GemFireCacheImpl.initializeDeclarativeCache(GemFireCacheImpl.java:1625)
>     at org.apache.geode.internal.cache.GemFireCacheImpl.initialize(GemFireCacheImpl.java:1451)
>     at org.apache.geode.internal.cache.InternalCacheBuilder.create(InternalCacheBuilder.java:191)
>     at org.apache.geode.internal.cache.InternalCacheBuilder.create(InternalCacheBuilder.java:158)
>     at org.apache.geode.cache.CacheFactory.create(CacheFactory.java:142)
>     at org.apache.geode.JtaDebug.insanity(JtaDebug.java:47)
>     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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
>     at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>     at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
>     at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>     at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
>     at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
>     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
>     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
>     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
>     at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
>     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
>     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
>     at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
>     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
>     at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
>     at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
>     at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
>     at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
>     at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
>     at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
>     at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
>     at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
>     at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
> Caused by: ERROR 08001: java.net.ConnectException : Error connecting to server localhost on port 1,528 with message Connection refused (Connection refused).
>     at org.apache.derby.client.net.NetAgent.<init>(Unknown Source)
>     at org.apache.derby.client.net.NetConnection.newAgent_(Unknown Source)
>     at org.apache.derby.client.am.ClientConnection.<init>(Unknown Source)
>     at org.apache.derby.client.net.NetConnection.<init>(Unknown Source)
>     at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl.newNetConnection(Unknown Source)
>     ... 59 more
> Caused by: java.net.ConnectException: Connection refused (Connection refused)
>     at java.net.PlainSocketImpl.socketConnect(Native Method)
>     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)
>     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)
>     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)
>     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)
>     at java.net.Socket.connect(Socket.java:606)
>     at java.net.Socket.connect(Socket.java:555)
>     at java.net.Socket.<init>(Socket.java:451)
>     at java.net.Socket.<init>(Socket.java:228)
>     at javax.net.DefaultSocketFactory.createSocket(SocketFactory.java:271)
>     at org.apache.derby.client.net.OpenSocketAction.run(Unknown Source)
>     at org.apache.derby.client.net.OpenSocketAction.run(Unknown Source)
>     at java.security.AccessController.doPrivileged(Native Method)
>     ... 64 more {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)