You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2015/03/18 19:44:40 UTC

[jira] [Created] (HBASE-13271) Table#puts(List) operation is indeterminate; remove!

stack created HBASE-13271:
-----------------------------

             Summary: Table#puts(List<Put>) operation is indeterminate; remove!
                 Key: HBASE-13271
                 URL: https://issues.apache.org/jira/browse/HBASE-13271
             Project: HBase
          Issue Type: Improvement
          Components: API
    Affects Versions: 1.0.0
            Reporter: stack


Another API issue found by [~larsgeorge]:

"Table.put(List<Put) is questionable after the API change."

{code}
[Mar-17 9:21 AM] Lars George: Table.put(List<Put>) is weird since you cannot flush partial lists
[Mar-17 9:21 AM] Lars George: Say out of 5 the third is broken, then the put() call returns with a local exception (say empty Put) and then you have 2 that are in the buffer
[Mar-17 9:21 AM] Lars George: but how to you force commit them?
[Mar-17 9:22 AM] Lars George: In the past you would call flushCache(), but that is "gone" now
[Mar-17 9:22 AM] Lars George: and flush() is not available on a Table
[Mar-17 9:22 AM] Lars George: And you cannot access the underlying BufferedMutation neither
[Mar-17 9:23 AM] Lars George: You can *only* add more Puts if you can, or call close()
[Mar-17 9:23 AM] Lars George: that is just weird to explain
{code}

So, Table needs to get flush back or we deprecate this method or it flushes immediately and does not return until complete in the implementation.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)