[
https://issues.apache.org/jira/browse/CRUNCH-511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Josh Wills resolved CRUNCH-511.
-------------------------------
Resolution: Fixed
Fix Version/s: 0.12.0
Pushed to master.
> 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
> Fix For: 0.12.0
>
> Attachments: CRUNCH-511.patch, CRUNCH-511b.patch
>
>
> 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)