[
https://issues.apache.org/jira/browse/QPID-7050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alex Rudyy updated QPID-7050:
-----------------------------
Description:
The failure of test BDBHAVirtualHostNodeRestTest.testIntruderProtection reviled
that BDB HA VHN close could be delayed by REF close waiting for state change
executor shutdown when change executor shutdown is performing task for state
change event.
On state change state change executor invokes
BDBHAVirtualHostNodeImpl.EnvironmentStateChangeListener#stateChange and waits
for operation to finish. If operation invokes configuration thread to do the
work and waits for its finish and, at the same time when, REF#close is
performed in config-thread, for example, because of intruder protection, the
two threads block each other.
Config thread performing in REF#close() is waiting for state change thread to
finish and state change thread is waiting for config thread to finish submitted
state change task.
At least one thing could be changed to fix the issue:
Close of existing VH is performed in broker config thread. It should be
changed to use VHN config thread. I am not sure whether changing of
config-thread would be sufficient to fix the problem.
was:
The failure of test BDBHAVirtualHostNodeRestTest.testIntruderProtection reviled
that BDB HA VHN close could be delayed by REF close waiting for state change
executor shutdown when change executor shutdown is performing task for state
change event.
On state change state change executor invokes
BDBHAVirtualHostNodeImpl.EnvironmentStateChangeListener#stateChange and waits
for operation to finish. If operation invokes configuration thread to do the
work and waits for its finish and, at the same time when, REF#close is
performed in config-thread, for example, because of intruder protection, the
two threads block each other.
Config thread performing in REF#close() is waiting for state change thread to
finish and state change thread is waiting for config thread to finish submitted
state change task.
> [Java Broker] State change executor shutdown can delay closing of virtual
> host node when state change functionality is performed in parallel with
> replication environment facade close
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: QPID-7050
> URL: https://issues.apache.org/jira/browse/QPID-7050
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: 0.32, qpid-java-6.0, qpid-java-6.1
> Reporter: Alex Rudyy
> Attachments:
> TEST-org.apache.qpid.server.store.berkeleydb.replication.BDBHAVirtualHostNodeRestTest.testIntruderProtection.txt
>
>
> The failure of test BDBHAVirtualHostNodeRestTest.testIntruderProtection
> reviled that BDB HA VHN close could be delayed by REF close waiting for
> state change executor shutdown when change executor shutdown is performing
> task for state change event.
> On state change state change executor invokes
> BDBHAVirtualHostNodeImpl.EnvironmentStateChangeListener#stateChange and waits
> for operation to finish. If operation invokes configuration thread to do the
> work and waits for its finish and, at the same time when, REF#close is
> performed in config-thread, for example, because of intruder protection, the
> two threads block each other.
> Config thread performing in REF#close() is waiting for state change thread
> to finish and state change thread is waiting for config thread to finish
> submitted state change task.
> At least one thing could be changed to fix the issue:
> Close of existing VH is performed in broker config thread. It should be
> changed to use VHN config thread. I am not sure whether changing of
> config-thread would be sufficient to fix the problem.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]