Class ReshardPV

  • All Implemented Interfaces:
    BPLAction

    public class ReshardPV
    extends Object
    implements BPLAction
    Reshards the PV to another appliance. This is a complex BPL whose implementation uses functionality provided by existing BPL.
    All of these steps are driven by the destination appliance. The sequence of steps are
    1. Make sure the PV is paused.
    2. Consolidate the data for the PV to the specified store in the src appliance using the consolidate BPL.
    3. Clone the source PV's typeinfo and register under a new temporary name.
    4. Assign the destination PV to the destination appliance (and as all steps are happening on the destination appliance, this is myself).
    5. Get all the events as an eventstream for the source PV as getting data for the source PV between the source PV's typeInfo creationTime and sometime into the future.
    6. Append into store identified by the storage parameter on the destination appliance (again, myself)
    7. Delete the source PV along with it's data by calling the delete BPL
    8. Rename the dest PV by calling the rename BPL
    Author:
    mshankar
  • pv The name of the pv. The PV needs to be paused first and will remain in a paused state after the resharding is complete.
  • appliance The new appliance to assign the PV to. This is the same string as the identity element in the appliances.xml that identifies this appliance.
  • storage The name of the store until which we'll consolidate data before resharding. The data is moved over to the store with the same name on the new appliance. This is typically a string like LTS.