Uploaded image for project: 'Pig'
  1. Pig
  2. PIG-3836

Pig signature has has guava version dependency

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.13.0
    • None
    • None
    • Patch Available

    Description

      We currently use Hashing.goodFastHash(32) to generate signatures for the logical plan. Under the hood, this is a murmur32 hash.

      Guava 11, which pig directly depends on, always seeds the hash with 0.

      http://docs.guava-libraries.googlecode.com/git-history/v11.0/javadoc/src-html/com/google/common/hash/Hashing.html#line.85

      In future versions of Guava, it is seeded by current time: http://docs.guava-libraries.googlecode.com/git-history/v14.0/javadoc/src-html/com/google/common/hash/Hashing.html#line.47

      So when future versions of guava is pulled into the classpath (which if often), we no longer get the same signature for the same logical plan between each executions of pig. This introduces unnecessary complexity for managing the classpath.

      Attachments

        1. 0001-use-murmur-hash-with-0-seed.patch
          2 kB
          Akihiro Matsukawa

        Activity

          People

            amatsukawa Akihiro Matsukawa
            amatsukawa Akihiro Matsukawa
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: