<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Re: Remote Jndi Datasource: ResultSet gets randomly closed
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/troubleshooter">manu patet</a> in <i>Datasource Configuration</i> - <a href="https://community.jboss.org/message/772904#772904">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Sorry about that @Wolf-Dieter. Let me try and be clearer this time.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Our current model:</p><p>1. JBoss 1: Runs application (A1) that fetches data from database (DB) using local datasource (LDS).</p><p>2. JBoss 2: Runs application (A2) that feeds data into DB using local datasource (LDS2).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>This works perfectly ok. No problems what so ever (that code snippet also works fine here).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Now (for scalability reasons) we're migrating to a new model. In this model DB is divided into several DBs (say DB1, DB2, DB3 ... DBn):</p><p>1. JBoss 1: Runs application A1 that fetches data from these DBs using remote datasources (RDS1, RDS2, RDS3 ... RDSn).</p><p>2. JBoss N: Runs application A2 that feeds data to DBn and hosts RDSn.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Therefore, it follows that for RDSn to be available to A1, JBossN has to be running, else the lookup fails. That summarizes the scheme we're after. Hope I'm clear.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The new scheme works fine under a normal load. But under stress, the resultsets abruptly close in the middle of a fetch operation (eg: in the code snippet above). There's another more serious issue I ran into yesterday. Connections spawned using remote datasource don't properly close and after a while they choke the machine with 100% CPU. Here is a thread dump:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code">"RMI TCP Connection(2334)-121.10.1.14" daemon prio=10 tid=0x00002aaad0009800 nid=0x570d runnable [0x000000004c394000]
&#160;&#160; java.lang.Thread.State: RUNNABLE
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at java.util.HashMap.transfer(HashMap.java:499)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at java.util.HashMap.resize(HashMap.java:478)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at java.util.HashMap.addEntry(HashMap.java:768)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at java.util.HashMap.put(HashMap.java:402)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.resource.adapter.jdbc.remote.WrapperDataSourceService.createStatementProxy(WrapperDataSourceService.java:522)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.resource.adapter.jdbc.remote.WrapperDataSourceService.doConnectionMethod(WrapperDataSourceService.java:366)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.resource.adapter.jdbc.remote.WrapperDataSourceService.invoke(WrapperDataSourceService.java:211)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at sun.reflect.GeneratedMethodAccessor76.invoke(Unknown Source)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at java.lang.reflect.Method.invoke(Method.java:601)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:818)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:419)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at sun.reflect.GeneratedMethodAccessor75.invoke(Unknown Source)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at java.lang.reflect.Method.invoke(Method.java:601)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at sun.rmi.transport.Transport$1.run(Transport.java:177)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at sun.rmi.transport.Transport$1.run(Transport.java:174)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at java.security.AccessController.doPrivileged(Native Method)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at java.lang.Thread.run(Thread.java:722)
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>This continued even after manually killing the connections from MySQL. Goes only after stopping JBoss. Please note that this is JBoss alone and none of our applications have been deployed on it.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Thanks. Any help is greatly appreciated!</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/772904#772904">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in Datasource Configuration at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2077">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>