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

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

Introduction

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

Prototype

public LeveldbIterator(DBIterator iter) 

Source Link

Document

Create an iterator using the specified underlying DBIterator

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  w w w. jav  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();
            }
        }
    }
}