blob: 495c27840612f030f768e06c39ed33e962d99f52 [file] [log] [blame]
/*=========================================================================
* Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
* This product is protected by U.S. and international copyright
* and intellectual property laws. Pivotal products are covered by
* one or more patents listed at http://www.pivotal.io/patents.
*=========================================================================
*/
package com.gemstone.gemfire.cache.hdfs.internal.hoplog.mapreduce;
import java.io.IOException;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import com.gemstone.gemfire.cache.hdfs.internal.PersistedEventImpl;
import com.gemstone.gemfire.cache.hdfs.internal.SortedHDFSQueuePersistedEvent;
import com.gemstone.gemfire.cache.hdfs.internal.hoplog.AbstractHoplog;
import com.gemstone.gemfire.cache.hdfs.internal.hoplog.HFileSortedOplog;
import org.apache.hadoop.hbase.regionserver.metrics.SchemaMetrics;
/**
* An iterator that iterates over a split in a read/write hoplog
* @author dsmith
*/
public class RWSplitIterator extends HDFSSplitIterator {
public RWSplitIterator(FileSystem fs, Path[] path, long[] start, long[] len, long startTime, long endTime) throws IOException {
super(fs, path, start, len, startTime, endTime);
}
@Override
protected AbstractHoplog getHoplog(FileSystem fs, Path path) throws IOException {
SchemaMetrics.configureGlobally(fs.getConf());
return HFileSortedOplog.getHoplogForLoner(fs, path);
}
public PersistedEventImpl getDeserializedValue() throws ClassNotFoundException, IOException {
return SortedHDFSQueuePersistedEvent.fromBytes(iterator.getValue());
}
}