db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mamta A. Satoor (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-4053) suites.All hang with message java.net.BindException: Address already in use: NET_Bind in derby.log
Date Thu, 09 Jul 2009 15:36:15 GMT

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

Mamta A. Satoor updated DERBY-4053:
-----------------------------------

    Attachment: DERBY4053_patch1_diff_July092009.txt

This patch DERBY4053_patch1_diff_July092009.txt is not yet intended for checkin. 

I thought this patch should fix the XA cleanup issue where we were not differentiating between
global XA vs local XA transaction and hence not roling back local XA transaction before trying
to close the connection. 

Unless my code changes are wrong, it appears though that all the XA tests in jdbc4 suite are
non-global XA transactions. Is that right? The reason I ask is, I had printlns in all the
implementations of the new method isInGlobalTransaction and they all always return false.
I was expecting following method in EmbedXAConnection.java to return true sometimes because
we are dealing with global XA transaction.
Index: java/engine/org/apache/derby/jdbc/EmbedXAConnection.java
===================================================================
--- java/engine/org/apache/derby/jdbc/EmbedXAConnection.java    (revision 792143
)
+++ java/engine/org/apache/derby/jdbc/EmbedXAConnection.java    (working copy)
@@ -22,6 +22,7 @@
 package org.apache.derby.jdbc;

 import org.apache.derby.impl.jdbc.Util;
+import org.apache.derby.iapi.jdbc.BrokeredConnectionControl;
 import org.apache.derby.iapi.jdbc.EngineConnection;
 import org.apache.derby.iapi.jdbc.ResourceAdapter;

@@ -53,6 +54,11 @@
                 xaRes = new EmbedXAResource (this, ra);
        }

+    /** @see BrokeredConnectionControl#isInGlobalTransaction() */
+    public boolean isInGlobalTransaction() {
+       return isGlobal();
+    }
+
     /**
      * Check if this connection is part of a global XA transaction.
      *
Can someone review this patch for me? There are not many comments yet. I will put those soon.

I am right now also trying to work on a standalone repro case  which will reproduce our theory
of local XA transaction not getting rolled back before connection.close and hence the server
shutdown does not happen correctly causing next server start to hang. 

> suites.All hang with message java.net.BindException: Address already in use: NET_Bind
in derby.log 
> ---------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4053
>                 URL: https://issues.apache.org/jira/browse/DERBY-4053
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Server, Test
>    Affects Versions: 10.5.1.1
>            Reporter: Kathey Marsden
>         Attachments: derby-4053_repro_dont_commit_diff.txt, derby.log, DERBY4053_patch1_diff_July092009.txt,
javacore-20090420-1735.txt, javacore.20090211.123031.4000.0001.txt, suites.All.out
>
>
> Running suites.All with IBM 1.5  on 10.5.0.0 alpha - (743198)  I got a hang in the test
run.  The last test to run successfully was xtestNestedSavepoints, but I am not sure exactly
what test caused  the hang.  I took a thread dump which I will attach, which showed network
server up and running but no ClientThread and a ping attempt blocked.
> This hang is very similar to the hang that was seen after the fix attempts for DERBY-1465
but that change was backed out so it is not related to that change.   It could be that the
change for DERBY-1465 just made this highly intermittent problem more likely.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message