Example usage for org.apache.hadoop.yarn.server.utils LeveldbIterator seek

List of usage examples for org.apache.hadoop.yarn.server.utils LeveldbIterator seek

Introduction

In this page you can find the example usage for org.apache.hadoop.yarn.server.utils LeveldbIterator seek.

Prototype

public void seek(byte[] key) throws DBException 

Source Link

Document

Repositions the iterator so the key of the next BlockElement returned greater than or equal to the specified targetKey.

Usage

From source file:org.apache.tez.auxservices.ShuffleHandler.java

License:Apache License

private void recoverState(Configuration conf) throws IOException {
    Path recoveryRoot = getRecoveryPath();
    if (recoveryRoot != null) {
        startStore(recoveryRoot);/*from   ww w. j  a  v a2s .c o  m*/
        Pattern jobPattern = Pattern.compile(JobID.JOBID_REGEX);
        LeveldbIterator iter = null;
        try {
            iter = new LeveldbIterator(stateDb);
            iter.seek(bytes(JobID.JOB));
            while (iter.hasNext()) {
                Map.Entry<byte[], byte[]> entry = iter.next();
                String key = asString(entry.getKey());
                if (!jobPattern.matcher(key).matches()) {
                    break;
                }
                recoverJobShuffleInfo(key, entry.getValue());
            }
        } catch (DBException e) {
            throw new IOException("Database error during recovery", e);
        } finally {
            if (iter != null) {
                iter.close();
            }
        }
    }
}