Yep. I looked in detail - It does continue after that (It turned out that I
had different, unrelated cherry-picking error - py27 related).  So +1 is
still there. Not a blocker.

But It would be nice to fix it as it is quite scary:).

J.


On Sun, Oct 27, 2019 at 5:38 PM Ash Berlin-Taylor <a...@apache.org> wrote:

> Does it fail and terminate the resetdb/migration or just print an error to
> the console? If it's the latter it's been doing that for ages. Yes it
> should be fixed, but it has been doing that for all of 1.10 I think.
>
> When I try it with the dag folder you suggest I see further migrations
> after the error. Don't forget that DagBag loading handles errors, and,
> further migrations run after the error is printed, and `echo $?` reports
> success.
>
> -ash
>
> > On 27 Oct 2019, at 16:33, Jarek Potiuk <jarek.pot...@polidea.com> wrote:
> >
> > I also reconsider my +1 - also because of migrations but for a different
> > reason.
> >
> > During my tests of cherry-picking latest kind changes to v1-10-test I
> have
> > just found another potential problem with migrations  - and looking at
> what
> > Fokko reported - we might want to consider reviewing and fixing the
> > migration scripts before 1.10.6.
> >
> > The scenario is a bit involved, but it might cause problems for someone
> > resetting the DB in 1.10.6  with DAGs already in the "dags" folder. Not
> > sure when it was introduced (it has few components introducing the
> > problem), so it might be already in one of the earlier releases.
> >
> > You can reproduce it when you run `airflow resetdb` in the current 1.10.6
> > (I tried with python 2.7 + Postgres) and you
> > have AIRFLOW__CORE__DAGS_FOLDER="S{AIRFLOW_SOURCES}/tests/dags" set
> (which
> > is set in my version of Breeze).
> >
> > The resetdb operation fails in the middle with "cannot import
> > tests/dags/test_clear_subdag.py". I investigated it a bit and I found
> that
> > this is a problem with one of the migration scripts + subdag operator
> > relying on pool_slot relation being present..
> >
> > The problem is in
> *cc1e65623dc7_add_max_tries_column_to_task_instance.py*.
> > The script has this piece of code:
> >
> > if 'task_instance' in tables:
> >    # Get current session
> >    sessionmaker = sa.orm.sessionmaker()
> >    session = sessionmaker(bind=connection)
> >    dagbag = DagBag(settings.DAGS_FOLDER)
> >
> > It means that it loads and parses all the dag files during the migration.
> >
> > Then there is this piece of code in *subdag_operator*'s init():
> >
> > # validate that subdag operator and subdag tasks don't have a
> > # pool conflict
> > if self.pool and self.pool != Pool.DEFAULT_POOL_NAME:
> >    conflicts = [t for t in subdag.tasks if t.pool == self.pool]
> >    if conflicts:
> >        # only query for pool conflicts if one may exist
> >        pool = (
> >            session
> >            .query(Pool)
> >            .filter(Pool.slots == 1)
> >            .filter(Pool.pool == self.pool)
> >            .first()
> >        )
> >
> > This means that if self.pool is set, then Pool.slots query will be
> > executed. Unfortunately at this time, the slot_pool relation is not
> created
> > yet - because it is created in one of later migrations. Then the query
> > fails with:
> >
> >
> >
> > *psycopg2.ProgrammingError: relation "slot_pool" does not existLINE 2:
> FROM
> > slot_pool*
> >
> > Parsing the test dag fails now because the pool is set to 'default_pool'
> (I
> > guess it used to be None in one of the earlier versions - that's why it
> was
> > not caught before).
> >
> > I am afraid that if someone has a DAG containing SubDag operator they
> will
> > have exactly this problem when running `airflow resetdb`.
> >
> > I am not 100% if this is a blocker but it looks like very close to being
> > one. We could say to users to always remove all the files from airflow's
> > dag folder before running resetdb, but I am afraid this is not really
> nice.
> >
> > J.
> >
> >
> > On Sun, Oct 27, 2019 at 4:48 PM Kaxil Naik <kaxiln...@gmail.com> wrote:
> >
> >> As 2.0 is not released, if migration are broken, we can still fix them
> on
> >> the mater itself.
> >>
> >>
> >>
> >> On Sun, Oct 27, 2019, 15:29 Driesprong, Fokko <fo...@driesprong.frl>
> >> wrote:
> >>
> >>> The problem is that if you upgrade from the 1.10 branch to 2.0, the
> >>> migrations don't work. To probably the migrations in 1.10 and 2.0 have
> >>> diverged somewhere.
> >>>
> >>> The following can be used to reproduce this:
> >>> git pull upstream master # ensure we have latest
> >>> git checkout v-10-stable # 1.10.6rc2
> >>> rm ~/airflow/airflow.db
> >>> airflow initdb
> >>> git checkout master
> >>> airflow db upgrade
> >>>
> >>>
> >>>
> >>> Op zo 27 okt. 2019 om 15:53 schreef Ash Berlin-Taylor <a...@apache.org
> >:
> >>>
> >>>> That PR you mentioned isn't yet in a release, so can we not just edit
> >>> that
> >>>> migration in place?
> >>>>
> >>>> I'm not quite following (I didn't get much sleep) but I don't see how
> >>>> broken code on master affects this release?
> >>>>
> >>>> -a
> >>>>
> >>>>> On 27 Oct 2019, at 14:28, Driesprong, Fokko <fo...@driesprong.frl>
> >>>> wrote:
> >>>>>
> >>>>> I'm having second thoughts on my +1 vote.
> >>>>>
> >>>>> It turns out that the database migrations are broken from 1.10.6 to
> >>>> 2.0.0:
> >>>>>
> >>>>
> >>>
> >>
> https://github.com/apache/airflow/pull/6370/files/c9b9312a60f891475d3072584171c2af56246829#r339287344
> >>>>>
> >>>>> So we either need to release a 1.10.7 and force users to migrate to
> >>> that
> >>>>> version first, before going to 2.0.0, otherwise, it won't work. I've
> >>>> opened
> >>>>> up a PR to fix this for 2.0.0:
> >>>> https://github.com/apache/airflow/pull/6442
> >>>>>
> >>>>> Cheers, Fokko
> >>>>>
> >>>>>
> >>>>> Op za 26 okt. 2019 om 09:23 schreef Jarek Potiuk <
> >>>> jarek.pot...@polidea.com>:
> >>>>>
> >>>>>> +1 (binding)
> >>>>>>
> >>>>>> Tested on Python 3.7/Python 2.7 using local installation + double
> >>>> checked
> >>>>>> sources with RAT licence tool (All good this time!).
> >>>>>>
> >>>>>> Regarding why AIRFLOW-5746 (
> >>> https://github.com/apache/airflow/pull/6434
> >>>> )
> >>>>>> is
> >>>>>> being reverted (or rather being improved on). I don't think it's a
> >>>> blocker
> >>>>>> for this release.
> >>>>>>
> >>>>>> It is just a test change - the tests how they were written, broke
> >> some
> >>>>>> development environments (the airflow resetdb was failing in case
> >>>>>> PYTHONPATH was not specially crafted). The current test does not
> >>> really
> >>>>>> test what it should (passing PYTHONPATH to impersonated tasks) but
> >> the
> >>>>>> functionality (impersonation + path) has not actually changed and it
> >>>> works.
> >>>>>> The test worked fine before the change was added - it's just imports
> >>> in
> >>>>>> tests that have been changed.
> >>>>>>
> >>>>>> Kamil (thanks!) already submitted a fix for that, that solves it
> >>>>>> permanently https://github.com/apache/airflow/pull/6436/ - will
> >>> review
> >>>> and
> >>>>>> merge soon. But it's not a blocker IMHO.
> >>>>>>
> >>>>>> J.
> >>>>>>
> >>>>>> On Sat, Oct 26, 2019 at 2:10 AM Kaxil Naik <kaxiln...@gmail.com>
> >>> wrote:
> >>>>>>
> >>>>>>> +1 (binding)
> >>>>>>>
> >>>>>>> On Sat, Oct 26, 2019 at 12:05 AM Driesprong, Fokko
> >>>> <fo...@driesprong.frl
> >>>>>>>
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>>> +1 binding from my side
> >>>>>>>>
> >>>>>>>> Ran an example DAGs with Docker using Python 3.7.
> >>>>>>>>
> >>>>>>>> We might need to check why AIRFLOW-5746 is being reverted:
> >>>>>>>> https://github.com/apache/airflow/pull/6434
> >>>>>>>>
> >>>>>>>> If there is another RC, I'd like to request to cherry-pick
> >>>>>>>> https://github.com/apache/airflow/pull/6370 onto the 1.10 branch.
> >>>>>>>>
> >>>>>>>> Cheers, Fokko
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Op vr 25 okt. 2019 om 23:04 schreef Ash Berlin-Taylor <
> >>> a...@apache.org
> >>>>>>> :
> >>>>>>>>
> >>>>>>>>> Hey all,
> >>>>>>>>>
> >>>>>>>>> I have cut Airflow 1.10.6 RC2. This email is calling a vote on
> >> the
> >>>>>>>>> release, which will last for 72 hours, until Monday 28, October
> >>> 22nd
> >>>>>> at
> >>>>>>>>> 21:05 UTC.
> >>>>>>>>>
> >>>>>>>>> Consider this my (binding) +1.
> >>>>>>>>>
> >>>>>>>>> Airflow 1.10.6 RC1 is available at: <
> >>>>>>>>> https://dist.apache.org/repos/dist/dev/airflow/1.10.6rc2/>
> >>>>>>>>>
> >>>>>>>>> *apache-airflow-1.10.6rc2-source.tar.gz* is a source release that
> >>>>>> comes
> >>>>>>>>> with INSTALL instructions.
> >>>>>>>>> *apache-airflow-1.10.6rc2-bin.tar.gz* is the binary Python
> >> "sdist"
> >>>>>>>> release.
> >>>>>>>>> *apache_airflow-1.10.6rc2-py2.py3-none-any.whl* is the binary
> >>> Python
> >>>>>>>>> "wheel" release.
> >>>>>>>>>
> >>>>>>>>> Public keys are available at: <
> >>>>>>>>> https://dist.apache.org/repos/dist/release/airflow/KEYS>
> >>>>>>>>>
> >>>>>>>>> As per normal the rc1 is available for testing from PyPi.
> >>>>>>>>>
> >>>>>>>>> Only votes from PMC members are binding, but members of the
> >>> community
> >>>>>>> are
> >>>>>>>>> encouraged to test the release and vote with "(non-binding)".
> >>>>>>>>>
> >>>>>>>>> Please note that the version number excludes the `rcX` string, so
> >>>>>> it's
> >>>>>>>> now
> >>>>>>>>> simply 1.10.6. This will allow us to rename the artifact without
> >>>>>>>> modifying
> >>>>>>>>> the artifact checksums when we actually release.
> >>>>>>>>>
> >>>>>>>>> The changes since RC1 are to fix License issues, ensure tests are
> >>>>>>> running
> >>>>>>>>> on Py2 (they weren't, but the only py3 bits that crept in were in
> >>> the
> >>>>>>>> test
> >>>>>>>>> files luckily.).
> >>>>>>>>>
> >>>>>>>>> Changelog since 1.10.6rc1:
> >>>>>>>>>
> >>>>>>>>> * 73bf71835 [AIRFLOW-XXX] Update date in changelog [Ash
> >>>>>> Berlin-Taylor]
> >>>>>>>>> * 143b43151 [AIRFLOW-5750] Licence check is done also for
> >>>>>>> non-executable
> >>>>>>>>> .sh (#6425) [Jarek Potiuk]
> >>>>>>>>> * 544f2b336 [AIRFLOW-5754] Improved RAT checking (#6429) [Jarek
> >>>>>> Potiuk]
> >>>>>>>>> * 7904669ca [AIRFLOW-5755] Fixed most problems with py27 [Jarek
> >>>>>> Potiuk]
> >>>>>>>>> * d601752c4 [AIRFLOW-5748] Remove python auto-detection (#6423)
> >>>>>> [Jarek
> >>>>>>>>> Potiuk]
> >>>>>>>>> * 71e20417f [AIRFLOW-5746] Fix problems with static checks
> >> (#6420)
> >>>>>>> [Jarek
> >>>>>>>>> Potiuk]
> >>>>>>>>> * 7a6adad60 [AIRFLOW-5746] move FakeDateTime into the only place
> >> it
> >>>>>> is
> >>>>>>>>> used (#6416) [Michael R. Crusoe]
> >>>>>>>>> * e30fb85ca [AIRFLOW-5745] Breeze complete has now licence
> >> (#6415)
> >>>>>>> [Jarek
> >>>>>>>>> Potiuk]
> >>>>>>>>>
> >>>>>>>>> Files changes since rc1:
> >>>>>>>>>
> >>>>>>>>> airflow ❯ git diff --stat 1.10.6rc1...1.10.6rc2
> >>>>>>>>> .pre-commit-config.yaml                      |  1 -
> >>>>>>>>> .rat-excludes                                |  1 +
> >>>>>>>>> .travis.yml                                  | 47
> >>>>>>>>> +++++++++++++++++++++++++++++++++++++++--------
> >>>>>>>>> CHANGELOG.txt                                |  2 +-
> >>>>>>>>> Dockerfile-checklicence                      |  2 +-
> >>>>>>>>> airflow/models/dag.py                        |  5 ++++-
> >>>>>>>>> breeze                                       |  1 +
> >>>>>>>>> breeze-complete                              | 17
> >> +++++++++++++++++
> >>>>>>>>> common/_autodetect_variables.sh              | 49
> >>>>>>>>> +++++++++++++------------------------------------
> >>>>>>>>> files/x                                      |  0
> >>>>>>>>> files/y                                      |  0
> >>>>>>>>> scripts/ci/_utils.sh                         | 16
> >> ++++++++++++++--
> >>>>>>>>> scripts/ci/ci_check_license.sh               |  1 +
> >>>>>>>>> scripts/ci/ci_run_airflow_testing.sh         |  2 +-
> >>>>>>>>> scripts/ci/in_container/run_check_licence.sh |  2 +-
> >>>>>>>>> tests/contrib/hooks/test_ssh_hook.py         |  3 ++-
> >>>>>>>>> tests/dags/test_impersonation_custom.py      | 12 +++++++++++-
> >>>>>>>>> tests/models/test_baseoperator.py            |  9 ++++-----
> >>>>>>>>> tests/models/test_dag.py                     |  4 ++--
> >>>>>>>>> tests/test_sentry.py                         |  2 +-
> >>>>>>>>> tests/test_utils/fake_datetime.py            | 29
> >>>>>>>>> -----------------------------
> >>>>>>>>> tests/test_utils/system_tests_class.py       |  6 +++++-
> >>>>>>>>> tests/www/test_views.py                      |  6 +++---
> >>>>>>>>> 23 files changed, 122 insertions(+), 95 deletions(-)
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>>
> >>>>>> Jarek Potiuk
> >>>>>> Polidea <https://www.polidea.com/> | Principal Software Engineer
> >>>>>>
> >>>>>> M: +48 660 796 129 <+48660796129>
> >>>>>> [image: Polidea] <https://www.polidea.com/>
> >>>>>>
> >>>>
> >>>>
> >>>
> >>
> >
> >
> > --
> >
> > Jarek Potiuk
> > Polidea <https://www.polidea.com/> | Principal Software Engineer
> >
> > M: +48 660 796 129 <+48660796129>
> > [image: Polidea] <https://www.polidea.com/>
>
>

-- 

Jarek Potiuk
Polidea <https://www.polidea.com/> | Principal Software Engineer

M: +48 660 796 129 <+48660796129>
[image: Polidea] <https://www.polidea.com/>

Reply via email to