David Mollitor created AVRO-4061:
------------------------------------

             Summary: Use Default Value of 1 For UTF8 Hash
                 Key: AVRO-4061
                 URL: https://issues.apache.org/jira/browse/AVRO-4061
             Project: Apache Avro
          Issue Type: Improvement
          Components: java
    Affects Versions: 1.12.0
            Reporter: David Mollitor
            Assignee: David Mollitor
             Fix For: 1.12.1, 1.13.0


{code:java}
    int h = hash;
    if (h == 0) {
      byte[] bytes = this.bytes;
      int length = this.length;
      for (int i = 0; i < length; i++) {
        h = h * 31 + bytes[i];
      }
      this.hash = h;
    }
{code}

If this is an empty string, the value of "h" will always be zero, and therefore 
will not be cached correctly. An empty string will try to re-calculate the hash 
every time. Instead, make "h" default to 1 to avoid this condition.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to