partition-by and partition-all transducers should ensure visibility of state changes

Description

The partition-by and partition-all transducers use state stored in an ArrayList. This state should be protected (for example, by volatile) to ensure visibility if used in a transducing process that moves computations across threads.

Approach: store unsynchronized ArrayList in volatile to ensure visibility

Patch: clj-2146-2.patch

Environment

None

Assignee

Unassigned

Reporter

Alex Miller

Labels

Approval

Vetted

Patch

Code and Test

Affects versions

Priority

Major
Configure