[
https://issues.apache.org/jira/browse/JUDDI-103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kurt Stam updated JUDDI-103:
----------------------------
Fix Version/s: 2.0
> Transient registry errors caused by jUDDI race condition
> ---------------------------------------------------------
>
> Key: JUDDI-103
> URL: https://issues.apache.org/jira/browse/JUDDI-103
> Project: jUDDI
> Issue Type: Bug
> Reporter: Kurt Stam
> Assignee: Steve Viens
> Fix For: 2.0
>
>
> There is a race condition in the jUDDI codebase which causes transient
> registry failures.
> The symptom of the race condition is the following error message
> E_busy (10400) The request cannot be processed at the current time. The
> Registry is currently unavailable.
> The class containing the race condition is
> org.apache.juddi.registry.local.Registry
> Every call to Registry.getRegistry() results in the recreation and
> initialisation of a global variable (registry). As the assignment of the
> global variable is made *before* the initialisation method is called there
> exists a window of opportunity whereby a caller can obtain a reference to an
> uninitialised registry. The consequence of this is that calls to
> RegistryEngine.isAvailable() can return false.
> I'm not sure why the RegistryEngine is being recreated on every call but the
> current code is unsafe (even if ignoring multiprocessor memory models). There
> should not be a global reference to the registry if it is a requirement to
> recreate it on every invocation. If it is not a requirement then the
> initialisation should really be occurring within a static block.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]