Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-3139

Add thread-safe KuduPartitioner::PartitionRow() method

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Not A Problem
    • None
    • NA
    • client

    Description

      We have a scenario in IMPALA-9782 where we'd like to have multiple threads use KuduPartitioner, but this currently requires instantiating many instances, which is somewhat expensive. It would be a good improvement if we could share the KuduPartitioner. This currently doesn't work because PartitionRow() internally uses a buffer that's a member of the object - https://github.com/cloudera/kudu/blob/master/src/kudu/client/partitioner-internal.cc#L40

      I talked with Alexey Serbin on slack and he suggested that adding a new method that is not stateful would be a good way to solve this (I also considered cloning KuduPartitioner).

      Attachments

        Issue Links

        Activity

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

          People

            Unassigned Unassigned
            tarmstrong Tim Armstrong
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment