hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] Created: (HADOOP-2261) [hbase] Change abort to finalize; does nothing if commit ran successfully
Date Thu, 22 Nov 2007 05:51:43 GMT
[hbase] Change abort to finalize; does nothing if commit ran successfully
-------------------------------------------------------------------------

                 Key: HADOOP-2261
                 URL: https://issues.apache.org/jira/browse/HADOOP-2261
             Project: Hadoop
          Issue Type: Improvement
          Components: contrib/hbase
            Reporter: stack


>From Michael Bieniosek:

{code}I'm trying to do an update row, so I write code like:

long lockid = table.startUpdate(new Text(article.getName())); try {
     for (File articleInfo: article.listFiles(new NonDirectories())) {          articleTable.put(lockid,
columnName(articleInfo.getName()), readFile(articleInfo));     }
     table.commit(lockid);
} finally {
    table.abort(lockid);
}

This doesn't work, because in the normal case it calls abort after commit.  But I'm not sure
what the code should be, eg.:

long lockid = table.startUpdate(new Text(article.getName())); try {
     for (File articleInfo: article.listFiles(new NonDirectories())) {          articleTable.put(lockid,
columnName(articleInfo.getName()), readFile(articleInfo));     }
     table.commit(lockid);
} catch (IOException e) {
    table.abort(lockid);
    throw e;
} catch (RuntimeException e) {
    table.abort(lockid);
    throw e;
}

This gets unwieldy very quickly.  Could you maybe change abort() to finalize() which either
aborts or does nothing if a commit was successful?
{code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message