Josh Wills created CRUNCH-511:
---------------------------------

             Summary: Scrunch product type support should use derived() instead 
of derivedImmutable()
                 Key: CRUNCH-511
                 URL: https://issues.apache.org/jira/browse/CRUNCH-511
             Project: Crunch
          Issue Type: Bug
          Components: Scrunch
            Reporter: Josh Wills


Ran into a subtle bug related to Scrunch case class support: right now, I was 
using derivedImmutable to generate the mapping from an Avro record in to a 
Scala case class, thinking (foolishly, as it turned out) that case classes were 
always immutable. Although that's true, the arguments that get passed to the 
case class constructor (the fields of the Avro record) are not necessarily 
immutable (e.g., an Avro ByteBuffer gets reused from key to key in a reduce), 
and those values can cause join key errors.

I wrote a test case to illustrate the bug and switched the case class PType 
generator to use derived instead of derivedImmutable.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to