Uploaded image for project: 'Tajo'
  1. Tajo
  2. TAJO-1715

Precompute the hash value of various kinds of ids

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.11.0
    • Component/s: None
    • Labels:
      None

      Description

      QueryId, ExecutionBlockId, TaskId, and TaskAttemptId are used for key of HashMap. Statically maintaining hash value will improve the performance.

        Activity

        Hide
        githubbot ASF GitHub Bot added a comment -

        GitHub user jihoonson opened a pull request:

        https://github.com/apache/tajo/pull/658

        TAJO-1715: Precompute the hash value of various kinds of ids

        Changes are:

        • Statically maintaining the hash value in TaskId and TaskAttemptId
        • This is because, unlike QueryId and ExecutionBlockId, it is expected there are many tasks and their attempts.
        • Improving TupleMap.put()
        • Copying tuple is expensive, so I implemented the clone() method for KeyTuple.

        You can merge this pull request into a Git repository by running:

        $ git pull https://github.com/jihoonson/tajo-2 TAJO-1715

        Alternatively you can review and apply these changes as the patch at:

        https://github.com/apache/tajo/pull/658.patch

        To close this pull request, make a commit to your master/trunk branch
        with (at least) the following in the commit message:

        This closes #658


        commit 6c44a72990c2177f669c76472dbde87fe81366ba
        Author: Jihoon Son <jihoonson@apache.org>
        Date: 2015-07-28T06:08:15Z

        TAJO-1715


        Show
        githubbot ASF GitHub Bot added a comment - GitHub user jihoonson opened a pull request: https://github.com/apache/tajo/pull/658 TAJO-1715 : Precompute the hash value of various kinds of ids Changes are: Statically maintaining the hash value in TaskId and TaskAttemptId This is because, unlike QueryId and ExecutionBlockId, it is expected there are many tasks and their attempts. Improving TupleMap.put() Copying tuple is expensive, so I implemented the clone() method for KeyTuple. You can merge this pull request into a Git repository by running: $ git pull https://github.com/jihoonson/tajo-2 TAJO-1715 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/tajo/pull/658.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #658 commit 6c44a72990c2177f669c76472dbde87fe81366ba Author: Jihoon Son <jihoonson@apache.org> Date: 2015-07-28T06:08:15Z TAJO-1715
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user jinossy commented on the pull request:

        https://github.com/apache/tajo/pull/658#issuecomment-125866576

        +1 LGTM

        Show
        githubbot ASF GitHub Bot added a comment - Github user jinossy commented on the pull request: https://github.com/apache/tajo/pull/658#issuecomment-125866576 +1 LGTM
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user jihoonson commented on the pull request:

        https://github.com/apache/tajo/pull/658#issuecomment-125871590

        Thanks for your review!

        Show
        githubbot ASF GitHub Bot added a comment - Github user jihoonson commented on the pull request: https://github.com/apache/tajo/pull/658#issuecomment-125871590 Thanks for your review!
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user asfgit closed the pull request at:

        https://github.com/apache/tajo/pull/658

        Show
        githubbot ASF GitHub Bot added a comment - Github user asfgit closed the pull request at: https://github.com/apache/tajo/pull/658
        Hide
        jihoonson Jihoon Son added a comment -

        Committed to master

        Show
        jihoonson Jihoon Son added a comment - Committed to master
        Hide
        hudson Hudson added a comment -

        FAILURE: Integrated in Tajo-master-CODEGEN-build #414 (See https://builds.apache.org/job/Tajo-master-CODEGEN-build/414/)
        TAJO-1715: Precompute the hash value of various kinds of ids. (jihoonson: rev 33f4b7a061d0b4f7867f89b32b880f686fe1dc51)

        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/TupleMap.java
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/KeyTuple.java
        • tajo-common/src/main/java/org/apache/tajo/storage/VTuple.java
        • tajo-common/src/main/java/org/apache/tajo/TaskAttemptId.java
        • tajo-common/src/main/java/org/apache/tajo/TaskId.java
        • CHANGES
        Show
        hudson Hudson added a comment - FAILURE: Integrated in Tajo-master-CODEGEN-build #414 (See https://builds.apache.org/job/Tajo-master-CODEGEN-build/414/ ) TAJO-1715 : Precompute the hash value of various kinds of ids. (jihoonson: rev 33f4b7a061d0b4f7867f89b32b880f686fe1dc51) tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/TupleMap.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/KeyTuple.java tajo-common/src/main/java/org/apache/tajo/storage/VTuple.java tajo-common/src/main/java/org/apache/tajo/TaskAttemptId.java tajo-common/src/main/java/org/apache/tajo/TaskId.java CHANGES
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Tajo-master-build #777 (See https://builds.apache.org/job/Tajo-master-build/777/)
        TAJO-1715: Precompute the hash value of various kinds of ids. (jihoonson: rev 33f4b7a061d0b4f7867f89b32b880f686fe1dc51)

        • CHANGES
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/TupleMap.java
        • tajo-common/src/main/java/org/apache/tajo/TaskId.java
        • tajo-common/src/main/java/org/apache/tajo/storage/VTuple.java
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/KeyTuple.java
        • tajo-common/src/main/java/org/apache/tajo/TaskAttemptId.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Tajo-master-build #777 (See https://builds.apache.org/job/Tajo-master-build/777/ ) TAJO-1715 : Precompute the hash value of various kinds of ids. (jihoonson: rev 33f4b7a061d0b4f7867f89b32b880f686fe1dc51) CHANGES tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/TupleMap.java tajo-common/src/main/java/org/apache/tajo/TaskId.java tajo-common/src/main/java/org/apache/tajo/storage/VTuple.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/KeyTuple.java tajo-common/src/main/java/org/apache/tajo/TaskAttemptId.java

          People

          • Assignee:
            jihoonson Jihoon Son
            Reporter:
            jihoonson Jihoon Son
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development