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

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

Introduction

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

Prototype

@Override
public void close() throws IOException 

Source Link

Document

Closes the iterator.

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  www. ja  v  a2  s . 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();
            }
        }
    }
}