Xavier,
I have a controller with two backends one enabled and one disabled.
After sometimes, I want to enable the second backend.
So I use the JMX method enableBackendFromCheckpoint.
During the recovery process every access to the two
Backends are suspended so if a write request occurred during the
recovery process it will be delayed.
I don't know where you found backends suspended during the recovery process?
If you look at the RecoverThread code you'll see that we replay the
whole recovery log on the enabling backend and only when we have
replayed everything, we suspend activities to make sure that pending
writes are flushed to the recovery log (this time should be short). Once
no pending write remains in-flight, we resume activities.
The code of the method AbstractScheduler.addSuspendedRequest is
synchronized (suspendedRequests)
{
suspendedRequests.add(obj);
}
synchronized (totalOrderQueue)
{
totalOrderQueue.notifyAll();
}
But if the VirtualDatabase is not a DistributedVirtualDatabase,
the field totalOrderQueue queue is null and a NPE is thrown.
Is it a bug or I cannot do this?
This one however is a real bug. I filed it under
https://forge.continuent.org/jira/browse/SEQUOIA-848 and a fix is on its
way for 2.10 and 3.0 branches.
Thanks again for the report,
Emmanuel
--
Emmanuel Cecchet
Chief Scientific Officer, Continuent
Blog: http://emanux.blogspot.com/
Open source: http://www.continuent.org
Corporate: http://www.continuent.com
Skype: emmanuel_cecchet
Cell: +33 687 342 685
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia