Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-4605

Constraints

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.94.0
    • 0.94.0
    • Client, Coprocessors
    • None
    • Reviewed

    Description

      From Jesse's comment on dev:

      What I would like to propose is a simple interface that people can use to implement a 'constraint' (matching the classic database definition). This would help ease of adoption by helping HBase more easily check that box, help minimize code duplication across organizations, and lead to easier adoption.

      Essentially, people would implement a 'Constraint' interface for checking keys before they are put into a table. Puts that are valid get written to the table, but if not people can will throw an exception that gets propagated back to the client explaining why the put was invalid.

      Constraints would be set on a per-table basis and the user would be expected to ensure the jars containing the constraint are present on the machines serving that table.

      Yes, people could roll their own mechanism for doing this via coprocessors each time, but this would make it easier to do so, so you only have to implement a very minimal interface and not worry about the specifics.

      Attachments

        1. 4605.v7
          69 kB
          Ted Yu
        2. 4605-v6.txt
          73 kB
          Ted Yu
        3. constraint_as_cp.txt
          19 kB
          Jesse Yates
        4. java_Constraint_v2.patch
          8 kB
          Jesse Yates
        5. java_HBASE-4605_v1.patch
          80 kB
          Jesse Yates
        6. java_HBASE-4605_v2.patch
          80 kB
          Jesse Yates
        7. java_HBASE-4605_v3.patch
          79 kB
          Jesse Yates
        8. java_HBASE-4605_v5.patch
          73 kB
          Jesse Yates
        9. java_HBASE-4605_v7.patch
          75 kB
          Jesse Yates

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            jesse_yates Jesse Yates
            jesse_yates Jesse Yates
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment