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

Beam JIRA Bot updated BEAM-6389:
--------------------------------
    Priority: P3  (was: P2)

> Sources using Metrics.counter fail with 'Can't pickle ... DelegatingCounter'
> ----------------------------------------------------------------------------
>
>                 Key: BEAM-6389
>                 URL: https://issues.apache.org/jira/browse/BEAM-6389
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-py-core
>    Affects Versions: 2.9.0
>            Reporter: Matthew Willson
>            Priority: P3
>              Labels: stale-P2
>
> This fails under Python 2.7 but works fine under Python 3 – looks like an 
> easy fix.
> I am reading from a beam.io.utils.CountingSource:
> {{beam.io.Read(beam_io_utils.CountingSource(NUM_ROWS))}}
> This fails under python 2.7 with:
> Python exception: Can't pickle <class 
> 'apache_beam.metrics.metric.DelegatingCounter'>: attribute lookup 
> apache_beam.metrics.metric.DelegatingCounter failed
> Looks like this is because DelegatingCounter is actually an inner class 
> defined inside apache_beam.metrics.metric.Metric. Under Python 3 pickling can 
> resolve it under its qualified name 
> apache_beam.metrics.metric.Metric.DelegatingCounter, but not in Python 2. A 
> fix would be to move it to a top-level class in that module.
> This also applies to other sources which use Metrics.counter.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to