/** * Allows submission of a disk balancer Job. * @param planID - Hash value of the plan. * @param planVersion - Plan version, reserved for future use. We have only * version 1 now. * @param planFile - Plan file name * @param planData - Actual plan data in json format * @throws IOException */ @Override public void submitDiskBalancerPlan(String planID, long planVersion, String planFile, String planData, boolean skipDateCheck) throws IOException { checkSuperuserPrivilege(); if (getStartupOption(getConf()) != StartupOption.REGULAR) { throw new DiskBalancerException( "Datanode is in special state, e.g. Upgrade/Rollback etc." + " Disk balancing not permitted.", DiskBalancerException.Result.DATANODE_STATUS_NOT_REGULAR); } getDiskBalancer().submitPlan(planID, planVersion, planFile, planData, skipDateCheck); }