Open GoogleCodeExporter opened 8 years ago
2 files attached.
the main idea is to has a status of the execution of the
rebalancePartitionsInfo.
A new enum was created and a class that encapsulate one rebalancePartitionsInfo
and the execution status of it.
Voldemort server is restarted Metadata is initialized as before. This time
will include an extra piece of information in RebalanceState (a class named
RebalancePartitionsInfoLiveCycle - the one that contains the status with an
initial value of "NEW"). Now when Rebalance thread executes will check also
that this rebalancePartitionsInfo exist BUT also it's status. If the status is
NEW then will execute (as before - RebalanceAsyncOperation) updating the status
to "RUNNING".
Now rebalance threads will have a way to see if a task is being executed or not.
The original logic is based on checking if there is Metadata for rebalance
(which is the case for an incomplete terminated rebalance operation after
restarting the server), but this is not enough because it'll think that by just
the fact of finding previous data it will assume that "somebody" is carry on
....but this is not the case.
Original comment by john.jav...@gmail.com
on 14 Jan 2011 at 11:53
Attachments:
One of the unit test was failing RebalaceStateTest due to the fact that
RebalancePartitionsInfoLiveCycle.java didn't have "equals()".
Please find attached this class updated
Original comment by john.jav...@gmail.com
on 15 Jan 2011 at 1:04
Attachments:
Original issue reported on code.google.com by
john.jav...@gmail.com
on 14 Jan 2011 at 11:09