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

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

Introduction

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

Prototype

@Override
public Map.Entry<byte[], byte[]> next() throws DBException 

Source Link

Document

Returns the next element in the iteration.

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);/*w  ww . 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();
            }
        }
    }
}