Hi Bolke,

I did a quick test on 3.5.5, 3.4.0 and 3.7.0 on OS X now, all but 3.7 breaks

Quick repro:

➜  ~ pyenv local 3.5.5
➜  ~ locale
LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
➜  ~ cat testweird.txt
’
➜  ~ python
Python 3.5.5 (default, Jul  7 2018, 17:00:56)
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> open('testweird.txt').read()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/cjg/.pyenv/versions/3.5.5/lib/python3.5/encodings/ascii.py",
line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0:
ordinal not in range(128)
>>>


Maybe not a blocking change but it is a breaking change from 1.9 I guess.


/ Carl Johan


On 10 July 2018 at 14:48:47, Bolke de Bruin (bdbr...@gmail.com) wrote:

Hi Carl,

Did you this on python 3.5 as well? 3.6 is not an officially supported
(yet). As a workaround is available I won’t consider this blocking btw.

Bolke

Verstuurd vanaf mijn iPad

Op 10 jul. 2018 om 11:53 heeft Carl Johan Gustavsson <
carl.j.gustavs...@gmail.com> het volgende geschreven:

Hi,

First of all, thank you for all the work with the release management.

I ran in to a weird issue testing the RC1, running under Python 3.6.0 /
Ubuntu 14.04.5, upgrading from a master build from February.

Jul 10 08:50:33 hostname supervisord: airflow-webserver-01 Traceback (most
recent call last):
Jul 10 08:50:33 hostname supervisord: airflow-webserver-01   File
"/opt/virtualenv/tictail/pipeline/bin/airflow", line 21, in <module>
Jul 10 08:50:33 hostname supervisord: airflow-webserver-01     from airflow
import configuration
Jul 10 08:50:33 hostname supervisord: airflow-webserver-01   File
"/opt/virtualenv/tictail/pipeline/lib/python3.6/site-packages/airflow/__init__.py",
line 35, in <module>
Jul 10 08:50:33 hostname supervisord: airflow-webserver-01     from airflow
import configuration as conf
Jul 10 08:50:33 hostname supervisord: airflow-webserver-01   File
"/opt/virtualenv/tictail/pipeline/lib/python3.6/site-packages/airflow/configuration.py",
line 106, in <module>
Jul 10 08:50:33 hostname supervisord: airflow-webserver-01
DEFAULT_CONFIG = f.read()
Jul 10 08:50:33 hostname supervisord: airflow-webserver-01   File
"/opt/virtualenv/tictail/pipeline/lib/python3.6/encodings/ascii.py", line
26, in decode
Jul 10 08:50:33 hostname supervisord: airflow-webserver-01     return
codecs.ascii_decode(input, self.errors)[0]
Jul 10 08:50:33 hostname supervisord: airflow-webserver-01
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 20770:
ordinal not in range(128)

Removing the ’ on
https://github.com/apache/incubator-airflow/blob/master/airflow/config_templates/default_airflow.cfg#L613
solved
the issue for me, and digging a bit deeper it seems Airflow now requires
setting LC_ALL=en_US.UTF-8 in the environment or similar to force Python to
read the file as utf-8 and not ascii. (I think this was changed in to
default to utf-8 in Python 3.7).

I see 3 solutions for this
  1. Document that Airflow need to run with LC_ALL=en_US.UTF-8 or similar.
  2. Change the default config file to not contain non-ascii characters.
  3. Always read the file as unicode regardless of the LC_ALL environment,
by the encoding='utf-8’ parameter to open().

I think 3 is the best solution, and I can prepare a PR for that if
necessary .

I guess this counts as -1 (non-binding)

All the best

Carl Johan


On 8 July 2018 at 22:02:33, Bolke de Bruin (bdbr...@gmail.com) wrote:

Hey all,

I have cut Airflow 1.10.0 RC1. This email is calling a vote on the release,
which will last for 72 hours. Consider this my (binding) +1.

Airflow 1.10.0 RC 1 is available at:

https://dist.apache.org/repos/dist/dev/incubator/airflow/1.10.0rc1/ <
https://dist.apache.org/repos/dist/dev/incubator/airflow/1.10.0rc1/>

apache-airflow-1.10.0rc1+incubating-source.tar.gz is a source release that
comes with INSTALL instructions.
apache-airflow-1.10.0rc1+incubating-bin.tar.gz is the binary Python "sdist"
release.

Public keys are available at:

https://dist.apache.org/repos/dist/release/incubator/airflow/ <
https://dist.apache.org/repos/dist/release/incubator/airflow/>

The amount of JIRAs fixed is over 700. Please have a look at the changelog.

Please note that the version number excludes the `rcX` string as well
as the "+incubating" string, so it's now simply 1.10.0. This will allow us
to rename the artifact without modifying the artifact checksums when we
actually release.


Cheers,
Bolke

Reply via email to