SGTM

On Sun, Nov 13, 2016 at 12:02 PM, Bolke de Bruin <bdbr...@gmail.com> wrote:

> Hi All,
>
> I count 3 positive votes, 0 negative ones. Therefore, I will finalize
> https://github.com/apache/incubator-airflow/pull/1794 which implements
> Option 1.
>
> Thanks!
> Bolke
>
> > Op 9 nov. 2016, om 22:48 heeft Arthur Wiedmer <arthur.wied...@gmail.com>
> het volgende geschreven:
> >
> > Hi all,
> >
> > I was the main proponent of option 2, mostly because I could not see a
> > specific situation where sub second precision was needed for this.
> >
> > However, I feel that we have heard from the community that there are use
> > cases out there. I agree with Bolke's analysis of the increased
> operational
> > cost of maintaining option 2.
> >
> > I vote for option 1.
> >
> > Best regards,
> > Arthur
> >
> > On Tue, Nov 8, 2016 at 10:40 AM, Maxime Beauchemin <
> > maximebeauche...@gmail.com> wrote:
> >
> >> I vote for option 1.
> >>
> >> We may want to alter previous database migration script to have some
> >> MySQL-specfic, `try` block to get it right on fresh installs.
> >>
> >> We also may want a new database migration that is MysQL-specific and
> ALTERs
> >> the columns properly. It seems to me thought that this might require
> high
> >> level locks and take some time to execute on large tables (I'm thinking
> >> `task_instance`). No one likes to see a database migration script hang
> for
> >> minutes... An alternate approach might be for someone in the community
> to
> >> share a script that does this and that people can review and decide
> whether
> >> they want to run it, and perhaps when to run it, maybe after archiving
> some
> >> of the large tables in their environment.
> >>
> >> Max
> >>
> >> On Tue, Nov 8, 2016 at 6:39 AM, Vishal Doshi <vis...@celect.com> wrote:
> >>
> >>> We have an (atypical) use case where one DAG launches multiple runs of
> >>> another DAG (but with different parameters). Without the precision, we
> >> have
> >>> to add a second between each launch to avoid the database issues.
> Moving
> >>> towards allowing fractional seconds would be great for us.
> >>>
> >>> Thanks,
> >>> Vishal
> >>>
> >>> On 11/8/16, 04:29, "Bolke de Bruin" <bdbr...@gmail.com> wrote:
> >>>
> >>>    Dear All,
> >>>
> >>>    I’m trying to move over the testing infrastructure to the new
> >>> infrastructure based on ubuntu 14.04 (we are on 12.04 now). 12.04 uses
> >>> MySQL 5.5 and 14.04 allows the use of MySQL 5.6, which we say we are
> >>> compatible with. MySQL does not store fractional seconds. Until version
> >>> 5.6.4 (https://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html
> )
> >>> it cuts off fractional seconds at comparison time, eg. comparing
> >>> “2016-01-01 00:00:00.000001” against what is stored in MySQL
> “2016-01-01
> >>> 00:00:00” would return a tuple in 5.6.4 but will fail beyond 5.6.4. The
> >>> issue presents itself if you use the “@once” schedule interval.
> >>>
> >>>    Other databases (Postgres, SQLite, etc) store fractional seconds by
> >>> default so do not exhibit this error. Since MySQL 5.6.4 it can also
> store
> >>> fractional seconds, but for backwards compatibility it needs to be
> >>> specified in the schema. Also note that MySQL behavior (not storing
> >>> fractional seconds) goes against SQL standards as is noted by
> themselves
> >> (
> >>> http://dev.mysql.com/doc/refman/5.7/en/fractional-seconds.html).
> >>>
> >>>    There are two solutions to this issue:
> >>>
> >>>    1. Update the schema for MySQL to include fractional seconds.
> >>>    PRO:
> >>>    - no coding changes
> >>>    - makes mysql behave conform standards
> >>>    - easier to maintain
> >>>    - future proof
> >>>
> >>>    CON:
> >>>    - needs to maintain schema
> >>>    - requires an update to the schema of running mysql instances
> >>>
> >>>    2. Change the code to remove fractional settings (particularly
> .now()
> >>> invocations)
> >>>    PRO:
> >>>    - No impact on running MySQL instances
> >>>
> >>>    CON:
> >>>    - Impact on other databases that now loose precision, and might for
> a
> >>> brief time show different behavior
> >>>    - Code to maintain, cannot use .now() directly
> >>>    - Be very careful when using date time and accessing the DB
> >>>
> >>>
> >>>    There was some back and forth discussion on bitter about this, but
> we
> >>> don’t seem to reach a conclusion. Hence I would like to call for a
> vote -
> >>> at this election day :). Of course with arguments if needed. If there
> is
> >> a
> >>> better way I’m of course open to that.
> >>>
> >>>
> >>>    I vote for OPTION 1.
> >>>
> >>>    Bolke
> >>>
> >>>
> >>>
> >>>
> >>
>
>

Reply via email to