public UpgradeSSTableStep( String daemon, CassandraState cassandraState, CassandraOfferRequirementProvider provider, UpgradeSSTableContext context) { super(daemon, UpgradeSSTableTask.nameForDaemon(daemon), cassandraState, provider); this.context = context; }
/** * Gets the name of a UpgradeSSTableTask for a CassandraDaemonTask. * * @param daemon The CassandraDaemonTask for which the snapshot will be * uploaded. * @return The name of the UpgradeSSTableTask for daemon. */ public static final String nameForDaemon(final CassandraDaemonTask daemon) { return nameForDaemon(daemon.getName()); }
public UpgradeSSTableTask getOrCreateUpgradeSSTable( CassandraDaemonTask daemon, UpgradeSSTableContext context) throws PersistenceException { String name = UpgradeSSTableTask.nameForDaemon(daemon); Map<String, UpgradeSSTableTask> upgradesstables = getUpgradeSSTableTasks(); if (upgradesstables.containsKey(name)) { return upgradesstables.get(name); } else { return createUpgradeSSTableTask(daemon, context); } }
public static UpgradeSSTableTask create( final Protos.TaskInfo template, final CassandraDaemonTask daemon, final UpgradeSSTableContext context) { CassandraData data = CassandraData.createUpgradeSSTableData("", context); String name = nameForDaemon(daemon); Protos.TaskInfo completedTemplate = Protos.TaskInfo.newBuilder(template) .setName(name) .setTaskId(TaskUtils.toTaskId(name)) .setData(data.getBytes()) .build(); completedTemplate = TaskUtils.clearTransient(completedTemplate); return new UpgradeSSTableTask(completedTemplate); }