[ https://issues.apache.org/jira/browse/HIVE-12927?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alan Gates updated HIVE-12927: ------------------------------ Attachment: HIVE-12927.patch This patch does a couple of things: # It introduces the concept of raw tables in HBaseConnection. This allows HBaseReadWrite to use checkAndPut for tables that aren't part of the transaction manager. This is important because none of the transactions managers we're thinking of using (Tephra, Omid) support checkAndPut (nor is it clear how any txn manager could). Thus once a table is declared raw it cannot be used in a transaction with any of the tables that would be used in transactions. Currently only the sequences table is declared raw. Currently it is only used to store master keys. In the future we'll use it to store sequences for ACID. # It changes the sequences table to have a row for each sequence. Originally it had one row with a separate column for each sequence, which is a horrible design as it means every sequence has to lock the same row (yes I did that). > HBase metastore: sequences are not safe > --------------------------------------- > > Key: HIVE-12927 > URL: https://issues.apache.org/jira/browse/HIVE-12927 > Project: Hive > Issue Type: Bug > Reporter: Sergey Shelukhin > Priority: Critical > Attachments: HIVE-12927.patch > > > {noformat} > long getNextSequence(byte[] sequence) throws IOException { > {noformat} > Is not safe in presence of any concurrency. It should use HBase increment API. -- This message was sent by Atlassian JIRA (v6.3.4#6332)