package org.voltdb.sysprocs;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import org.voltdb.DependencySet;
import org.voltdb.ParameterSet;
import org.voltdb.ProcInfo;
import org.voltdb.VoltSystemProcedure;
import org.voltdb.VoltTable;
import edu.brown.hstore.HStoreConstants;
import edu.brown.hstore.PartitionExecutor.SystemProcedureExecutionContext;
import edu.brown.utils.ThreadUtil;
@ProcInfo(singlePartition = false)
public class Sleep extends VoltSystemProcedure {
private static final Logger LOG = Logger.getLogger(Sleep.class);
@Override
public void initImpl() {
// Nothing
}
@Override
public DependencySet executePlanFragment(Long txnId,
Map<Integer,
List<VoltTable>> dependencies,
int fragmentId,
ParameterSet params,
SystemProcedureExecutionContext context) {
// This should never get invoked
return null;
}
public VoltTable[] run(long sleepTime, VoltTable data[]) {
LOG.debug(String.format("BEFORE: Sleeping for %.01f seconds", sleepTime / 1000d));
ThreadUtil.sleep(sleepTime);
LOG.debug("BEFORE: Awake!");
return HStoreConstants.EMPTY_RESULT;
}
}