Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-720

Improve ByteStream by removing all synchronized method calls

Log workAgile BoardRank to TopRank to BottomVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.4.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed
    • Release Note:
      Hide
      HIVE-720. Improve ByteStream by removing all synchronized method calls. (Yongqiang He via zshao)
      Show
      HIVE-720 . Improve ByteStream by removing all synchronized method calls. (Yongqiang He via zshao)

      Description

      org.apache.hadoop.hive.serde2.ByteStream has 2 inner classes: Input and Output, which inherits from ByteArrayInputStream and ByteArrayOutputStream.
      Both these classes have a lot of sychronized methods, which make them really slow.

      We should let ByteStream.Input and ByteStream.Output directly inherit InputStream and OutputStream so we don't need to call synchronized methods at all. This will help LazySimpleSerDe, ColumnarSerDe as well as LazyBinarySerDe.

        Attachments

        1. HIVE-720.2.patch
          45 kB
          He Yongqiang
        2. HIVE-720.1.patch
          12 kB
          He Yongqiang

          Activity

          $i18n.getText('security.level.explanation', $currentSelection) Viewable by All Users
          Cancel

            People

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment