phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Taylor (JIRA)" <>
Subject [jira] [Created] (PHOENIX-4278) Implement pure client side transactional index maintenance
Date Wed, 04 Oct 2017 23:08:00 GMT
James Taylor created PHOENIX-4278:

             Summary: Implement pure client side transactional index maintenance
                 Key: PHOENIX-4278
             Project: Phoenix
          Issue Type: Improvement
            Reporter: James Taylor

The index maintenance for transactions follows the same model as non transactional tables
- coprocessor based on data table updates that looks up previous row value to perform maintenance.
This is necessary for non transactional tables to ensure the rows are locked so that a consistent
view may be obtained. However, for transactional tables, the time stamp oracle ensures uniqueness
of time stamps (via transaction IDs) and the filtering handles a scan seeing the "true" last
committed value for a row. Thus, there's no hard dependency to perform this on the server

Moving the index maintenance to the client side would prevent any RS->RS RPC calls (which
have proved to be troublesome for HBase). It would require returning more data to the client
(i.e. the prior row value), but this seems like a reasonable tradeoff.

This message was sent by Atlassian JIRA

View raw message