tomee-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Romain Manni-Bucau (JIRA)" <>
Subject [jira] [Commented] (OPENEJB-2119) Incorrect binary tree - IvmContext
Date Fri, 16 Oct 2015 15:58:05 GMT


Romain Manni-Bucau commented on OPENEJB-2119:

Ok I see

code is:

            // a bit weird but just to be consistent if user doesn't lookup directly the resource
            final Context lastContext = Contexts.createSubcontexts(containerSystemContext,
            try {
                lastContext.rebind(path.substring(path.lastIndexOf("/") + 1, path.length()),
            } catch (final NameAlreadyBoundException nabe) {

therefore your reporting is totally valid.

Do you want to have a try to fix it and provide us a patch or a pull request on github?

> Incorrect binary tree - IvmContext
> ----------------------------------
>                 Key: OPENEJB-2119
>                 URL:
>             Project: OpenEJB
>          Issue Type: Bug
>            Reporter: Milos Volauf
>            Priority: Critical
>         Attachments:
> I get many javax.naming.NameAlreadyBoundException exceptions so I digged into org.apache.openejb.core.ivm.naming.IvmContext
and org.apache.openejb.core.ivm.naming.NameNode.
> I was strange that NameAlreadyBoundException was fired from IvmContext.rebind, which
does unbind and then bind.
> The debugging showed me that binary tree (implemented by NameNode) gets sometimes into
incorrect state and consequently unbind does not find the node.
> The problem is that IvmContext has a reference to NameNode and calls bind() but the binary
tree is correct only if bind() starts at the tree root. There is one big tree and several
contexts have their nodes in it (IvmContext.mynode) and bind new nodes starting in mynode.
> I prepared a small test case which shows how the tree can enter into incorrect state.
> I used openejb-core-4.7.1

This message was sent by Atlassian JIRA

View raw message