You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@crunch.apache.org by "Josh Wills (JIRA)" <ji...@apache.org> on 2014/08/07 20:12:12 UTC

[jira] [Resolved] (CRUNCH-454) Replace use of Scala Iterable with TraversableOnce where SingleUseIterable is the concrete type

     [ https://issues.apache.org/jira/browse/CRUNCH-454?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Josh Wills resolved CRUNCH-454.
-------------------------------

       Resolution: Fixed
    Fix Version/s: 0.11.0
                   0.8.4

Pushed to master and 0.8. Thanks David!

> Replace use of Scala Iterable with TraversableOnce where SingleUseIterable is the concrete type
> -----------------------------------------------------------------------------------------------
>
>                 Key: CRUNCH-454
>                 URL: https://issues.apache.org/jira/browse/CRUNCH-454
>             Project: Crunch
>          Issue Type: Improvement
>          Components: Scrunch
>            Reporter: David Whiting
>            Priority: Minor
>             Fix For: 0.8.4, 0.11.0
>
>         Attachments: 0001-Change-usage-of-Iterable-in-PGroupedTable-to-Travers.patch
>
>
> The Scrunch version of combine accepts a function Iterable[V] => V . This causes a lot of unexpected behaviour because the iterable that is wrapped is actually a SingleUseIterable, and much of Scala's collection function implementations actually try and access the underlying iterator multiple times if they know that it's possible. 
> The fix implemented here is to call iterator() on the underlying SingleUseIterable and expose it instead as a TraversableOnce.



--
This message was sent by Atlassian JIRA
(v6.2#6252)