Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-4119

Upsert uses timestamp of server holding table metadata

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • 4.8.0
    • None
    • None
    • None

    Description

      When doing an upsert, I noticed that the resulting put-command to HBase uses a timestamp obtained from the server managing the corresponding table's metadata (cfr. https://issues.apache.org/jira/browse/PHOENIX-1674?focusedCommentId=14349982&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14349982).

      Now, if the row that is updated resides on a second server, that second server could have some clock skew. After the upsert, if you fetch that updated row without specifying an explicit query timestamp, then you might not see the effects of the upsert until the second server's clock has caught up with the first server's clock.

      I think that the desired behavior is that the puts performed occur with a timestamp derived from the region server where their rows are stored. (Of course, that still leaves the problem of region migration from one server to the next but it's a step in the right direction).

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mark_christiaens Mark Christiaens
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: