I just wanted to clarify. doing a full rollback of the patch means that https://issues.apache.org/jira/browse/ARROW-5359 would get released out of the gate with a bug in it.
On Mon, Jul 20, 2020 at 7:48 AM Antoine Pitrou <anto...@python.org> wrote: > > If the release condition is for the regression to be fixed in less than > 24 hours (less than 12 hours now?), I think we should simply revert the > original PR and work on a fix more leisurely for 1.1.0 (or even 1.0.1). > > Unless it really causes havoc for Spark users, in which case a > circumvention should be found. > > Regards > > Antoine. > > > Le 20/07/2020 à 16:46, Krisztián Szűcs a écrit : > > If I understand correctly we used to just store the timestamp and the > > timezone if an explicit arrow type was passed during the python->arrow > > conversion, but the timestamp values were not changed in any way. > > Micah's current patch changes the python->arrow conversion behavior to > > normalize all values to utc timestamps. > > > > While it's definitely an improvement over the previously ignored > > timezones, I'm not sure that it won't cause unexpected regressions in > > the users' codebases. > > I'm still trying to better understand the issue and its compatibility > > implications, but my intuition tells me that we should apply the > > reversion instead and properly handle the datetime value conversions > > in an upcoming minor release. > > > > Either way we should move this conversation to the pull request [1], > > because the code snippets pasted here are hardly readable. > > > > [1]: https://github.com/apache/arrow/pull/7805 > > > > On Mon, Jul 20, 2020 at 9:40 AM Sutou Kouhei <k...@clear-code.com> wrote: > >> > >> Done: https://github.com/apache/arrow/pull/7805#issuecomment-660855376 > >> > >> We can use ...-3.8-... not ...-3.7-... because we don't have > >> ...-3.7-... task in > >> https://github.com/apache/arrow/blob/master/dev/tasks/tasks.yml. > >> > >> In <cak7z5t8hqcsd3meg42cuzkscpjr3zndsvrjmm8vied0gzto...@mail.gmail.com> > >> "Re: [VOTE] Release Apache Arrow 1.0.0 - RC1" on Mon, 20 Jul 2020 > 00:14:00 -0700, > >> Micah Kornfield <emkornfi...@gmail.com> wrote: > >> > >>> FYI, I'm not sure if it is a permissions issue or I've done something > wrong > >>> but github-actions does not seem to be responding to "@github-actions > >>> <https://github.com/github-actions> crossbow submit > >>> test-conda-python-3.7-spark-master" when I enter it. If someone could > kick > >>> off the spark integration test I would be grateful. > >>> > >>> On Mon, Jul 20, 2020 at 12:09 AM Micah Kornfield < > emkornfi...@gmail.com> > >>> wrote: > >>> > >>>> Thanks Bryan. I cherry-picked your change onto my change [1] which > now > >>>> honors timezone aware datetime objects on ingestion. I've kicked off > the > >>>> spark integration tests. > >>>> > >>>> If this change doesn't work I think the correct course of action is to > >>>> provide an environment variable in python to turn back to the old > behavior > >>>> (ignoring timezones on conversion). I think honoring timezone > information > >>>> where possible is a strict improvement but I agree we should give > users an > >>>> option to not break if they wish to upgrade to the latest version. I > need > >>>> to get some sleep but I will have another PR posted tomorrow evening > if the > >>>> current one doesn't unblock the release. > >>>> > >>>> [1] https://github.com/apache/arrow/pull/7805 > >>>> > >>>> On Sun, Jul 19, 2020 at 10:50 PM Bryan Cutler <cutl...@gmail.com> > wrote: > >>>> > >>>>> I'd rather not see ARROW-9223 reverted, if possible. I will put up my > >>>>> hacked patch to Spark for this so we can test against it if needed, > and > >>>>> could share my branch if anyone else wants to test it locally. > >>>>> > >>>>> On Sun, Jul 19, 2020 at 7:35 PM Micah Kornfield < > emkornfi...@gmail.com> > >>>>> wrote: > >>>>> > >>>>>> I'll spend some time tonight on it and if I can't get round trip > working > >>>>>> I'll handle reverting > >>>>>> > >>>>>> On Sunday, July 19, 2020, Wes McKinney <wesmck...@gmail.com> wrote: > >>>>>> > >>>>>>> On Sun, Jul 19, 2020 at 7:33 PM Neal Richardson > >>>>>>> <neal.p.richard...@gmail.com> wrote: > >>>>>>>> > >>>>>>>> It sounds like you may have identified a pyarrow bug, which sounds > >>>>> not > >>>>>>>> good, though I don't know enough about the broader context to know > >>>>>>> whether > >>>>>>>> this is (1) worse than 0.17 or (2) release blocking. I defer to > >>>>> y'all > >>>>>> who > >>>>>>>> know better. > >>>>>>>> > >>>>>>>> If there are quirks in how Spark handles timezone-naive > timestamps, > >>>>>>>> shouldn't the fix/workaround go in pyspark, not pyarrow? For what > >>>>> it's > >>>>>>>> worth, I dealt with similar Spark timezone issues in R recently: > >>>>>>>> https://github.com/sparklyr/sparklyr/issues/2439 I handled with > it > >>>>> (in > >>>>>>>> sparklyr, not the arrow R package) by always setting a timezone > when > >>>>>>>> sending data to Spark. Not ideal but it made the numbers "right". > >>>>>>> > >>>>>>> Since people are running this code in production we need to be > careful > >>>>>>> about disrupting them. Unfortunately I'm at the limit of how much > time > >>>>>>> I can spend on this, but releasing with ARROW-9223 as is (without > >>>>>>> being partially or fully reverted) makes me deeply uncomfortable. > So I > >>>>>>> hope the matter can be resolved. > >>>>>>> > >>>>>>>> Neal > >>>>>>>> > >>>>>>>> > >>>>>>>> On Sun, Jul 19, 2020 at 5:13 PM Wes McKinney <wesmck...@gmail.com > > > >>>>>>> wrote: > >>>>>>>> > >>>>>>>>> Honestly I think reverting is the best option. This change > >>>>> evidently > >>>>>>>>> needs more time to "season" and perhaps this is motivation to > >>>>> enhance > >>>>>>>>> test coverage in a number of places. > >>>>>>>>> > >>>>>>>>> On Sun, Jul 19, 2020 at 7:11 PM Wes McKinney < > wesmck...@gmail.com > >>>>>> > >>>>>>> wrote: > >>>>>>>>>> > >>>>>>>>>> I am OK with any solution that doesn't delay the production of > >>>>> the > >>>>>>>>>> next RC by more than 24 hours > >>>>>>>>>> > >>>>>>>>>> On Sun, Jul 19, 2020 at 7:08 PM Micah Kornfield < > >>>>>>> emkornfi...@gmail.com> > >>>>>>>>> wrote: > >>>>>>>>>>> > >>>>>>>>>>> If I read the example right it looks like constructing from > >>>>>> python > >>>>>>>>> types > >>>>>>>>>>> isn't keeping timezones into in place? I can try make a patch > >>>>>> that > >>>>>>>>> fixes > >>>>>>>>>>> that tonight or would the preference be to revert my patch > >>>>> (note > >>>>>> I > >>>>>>>>> think > >>>>>>>>>>> another bug with a prior bug was fixed in my PR as well) > >>>>>>>>>>> > >>>>>>>>>>> -Micah > >>>>>>>>>>> > >>>>>>>>>>> On Sunday, July 19, 2020, Wes McKinney <wesmck...@gmail.com> > >>>>>>> wrote: > >>>>>>>>>>> > >>>>>>>>>>>> I think I see the problem now: > >>>>>>>>>>>> > >>>>>>>>>>>> In [40]: parr > >>>>>>>>>>>> Out[40]: > >>>>>>>>>>>> 0 {'f0': 1969-12-31 16:00:00-08:00} > >>>>>>>>>>>> 1 {'f0': 1969-12-31 16:00:00.000001-08:00} > >>>>>>>>>>>> 2 {'f0': 1969-12-31 16:00:00.000002-08:00} > >>>>>>>>>>>> dtype: object > >>>>>>>>>>>> > >>>>>>>>>>>> In [41]: parr[0]['f0'] > >>>>>>>>>>>> Out[41]: datetime.datetime(1969, 12, 31, 16, 0, > >>>>>> tzinfo=<DstTzInfo > >>>>>>>>>>>> 'America/Los_Angeles' PST-1 day, 16:00:00 STD>) > >>>>>>>>>>>> > >>>>>>>>>>>> In [42]: pa.array(parr) > >>>>>>>>>>>> Out[42]: > >>>>>>>>>>>> <pyarrow.lib.StructArray object at 0x7f0893706a60> > >>>>>>>>>>>> -- is_valid: all not null > >>>>>>>>>>>> -- child 0 type: timestamp[us] > >>>>>>>>>>>> [ > >>>>>>>>>>>> 1969-12-31 16:00:00.000000, > >>>>>>>>>>>> 1969-12-31 16:00:00.000001, > >>>>>>>>>>>> 1969-12-31 16:00:00.000002 > >>>>>>>>>>>> ] > >>>>>>>>>>>> > >>>>>>>>>>>> In [43]: pa.array(parr).field(0).type > >>>>>>>>>>>> Out[43]: TimestampType(timestamp[us]) > >>>>>>>>>>>> > >>>>>>>>>>>> On 0.17.1 > >>>>>>>>>>>> > >>>>>>>>>>>> In [8]: arr = pa.array([0, 1, 2], type=pa.timestamp('us', > >>>>>>>>>>>> 'America/Los_Angeles')) > >>>>>>>>>>>> > >>>>>>>>>>>> In [9]: arr > >>>>>>>>>>>> Out[9]: > >>>>>>>>>>>> <pyarrow.lib.TimestampArray object at 0x7f9dede69d00> > >>>>>>>>>>>> [ > >>>>>>>>>>>> 1970-01-01 00:00:00.000000, > >>>>>>>>>>>> 1970-01-01 00:00:00.000001, > >>>>>>>>>>>> 1970-01-01 00:00:00.000002 > >>>>>>>>>>>> ] > >>>>>>>>>>>> > >>>>>>>>>>>> In [10]: struct_arr = pa.StructArray.from_arrays([arr], > >>>>>>> names=['f0']) > >>>>>>>>>>>> > >>>>>>>>>>>> In [11]: struct_arr > >>>>>>>>>>>> Out[11]: > >>>>>>>>>>>> <pyarrow.lib.StructArray object at 0x7f9ded0016e0> > >>>>>>>>>>>> -- is_valid: all not null > >>>>>>>>>>>> -- child 0 type: timestamp[us, tz=America/Los_Angeles] > >>>>>>>>>>>> [ > >>>>>>>>>>>> 1970-01-01 00:00:00.000000, > >>>>>>>>>>>> 1970-01-01 00:00:00.000001, > >>>>>>>>>>>> 1970-01-01 00:00:00.000002 > >>>>>>>>>>>> ] > >>>>>>>>>>>> > >>>>>>>>>>>> In [12]: struct_arr.to_pandas() > >>>>>>>>>>>> Out[12]: > >>>>>>>>>>>> 0 {'f0': 1970-01-01 00:00:00} > >>>>>>>>>>>> 1 {'f0': 1970-01-01 00:00:00.000001} > >>>>>>>>>>>> 2 {'f0': 1970-01-01 00:00:00.000002} > >>>>>>>>>>>> dtype: object > >>>>>>>>>>>> > >>>>>>>>>>>> In [13]: pa.array(struct_arr.to_pandas()) > >>>>>>>>>>>> Out[13]: > >>>>>>>>>>>> <pyarrow.lib.StructArray object at 0x7f9ded003210> > >>>>>>>>>>>> -- is_valid: all not null > >>>>>>>>>>>> -- child 0 type: timestamp[us] > >>>>>>>>>>>> [ > >>>>>>>>>>>> 1970-01-01 00:00:00.000000, > >>>>>>>>>>>> 1970-01-01 00:00:00.000001, > >>>>>>>>>>>> 1970-01-01 00:00:00.000002 > >>>>>>>>>>>> ] > >>>>>>>>>>>> > >>>>>>>>>>>> In [14]: pa.array(struct_arr.to_pandas()).type > >>>>>>>>>>>> Out[14]: StructType(struct<f0: timestamp[us]>) > >>>>>>>>>>>> > >>>>>>>>>>>> So while the time zone is getting stripped in both cases, > >>>>> the > >>>>>>> failure > >>>>>>>>>>>> to round trip is a problem. If we are going to attach the > >>>>> time > >>>>>>> zone > >>>>>>>>> in > >>>>>>>>>>>> to_pandas() then we need to respect it when going the other > >>>>>> way. > >>>>>>>>>>>> > >>>>>>>>>>>> This looks like a regression to me and so I'm inclined to > >>>>>> revise > >>>>>>> my > >>>>>>>>>>>> vote on the release to -0/-1 > >>>>>>>>>>>> > >>>>>>>>>>>> On Sun, Jul 19, 2020 at 6:46 PM Wes McKinney < > >>>>>>> wesmck...@gmail.com> > >>>>>>>>> wrote: > >>>>>>>>>>>>> > >>>>>>>>>>>>> Ah I forgot that this is a "feature" of nanosecond > >>>>> timestamps > >>>>>>>>>>>>> > >>>>>>>>>>>>> In [21]: arr = pa.array([0, 1, 2], type=pa.timestamp('us', > >>>>>>>>>>>>> 'America/Los_Angeles')) > >>>>>>>>>>>>> > >>>>>>>>>>>>> In [22]: struct_arr = pa.StructArray.from_arrays([arr], > >>>>>>>>> names=['f0']) > >>>>>>>>>>>>> > >>>>>>>>>>>>> In [23]: struct_arr.to_pandas() > >>>>>>>>>>>>> Out[23]: > >>>>>>>>>>>>> 0 {'f0': 1969-12-31 16:00:00-08:00} > >>>>>>>>>>>>> 1 {'f0': 1969-12-31 16:00:00.000001-08:00} > >>>>>>>>>>>>> 2 {'f0': 1969-12-31 16:00:00.000002-08:00} > >>>>>>>>>>>>> dtype: object > >>>>>>>>>>>>> > >>>>>>>>>>>>> So this is working as intended, such as it is > >>>>>>>>>>>>> > >>>>>>>>>>>>> On Sun, Jul 19, 2020 at 6:40 PM Wes McKinney < > >>>>>>> wesmck...@gmail.com> > >>>>>>>>>>>> wrote: > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> There seems to be other broken StructArray stuff > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> In [14]: arr = pa.array([0, 1, 2], > >>>>> type=pa.timestamp('ns', > >>>>>>>>>>>>>> 'America/Los_Angeles')) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> In [15]: struct_arr = pa.StructArray.from_arrays([arr], > >>>>>>>>> names=['f0']) > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> In [16]: struct_arr > >>>>>>>>>>>>>> Out[16]: > >>>>>>>>>>>>>> <pyarrow.lib.StructArray object at 0x7f089370f590> > >>>>>>>>>>>>>> -- is_valid: all not null > >>>>>>>>>>>>>> -- child 0 type: timestamp[ns, tz=America/Los_Angeles] > >>>>>>>>>>>>>> [ > >>>>>>>>>>>>>> 1970-01-01 00:00:00.000000000, > >>>>>>>>>>>>>> 1970-01-01 00:00:00.000000001, > >>>>>>>>>>>>>> 1970-01-01 00:00:00.000000002 > >>>>>>>>>>>>>> ] > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> In [17]: struct_arr.to_pandas() > >>>>>>>>>>>>>> Out[17]: > >>>>>>>>>>>>>> 0 {'f0': 0} > >>>>>>>>>>>>>> 1 {'f0': 1} > >>>>>>>>>>>>>> 2 {'f0': 2} > >>>>>>>>>>>>>> dtype: object > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> All in all it appears that this part of the project > >>>>> needs > >>>>>>> some > >>>>>>>>> TLC > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> On Sun, Jul 19, 2020 at 6:16 PM Wes McKinney < > >>>>>>>>> wesmck...@gmail.com> > >>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> Well, the problem is that time zones are really > >>>>> finicky > >>>>>>>>> comparing > >>>>>>>>>>>>>>> Spark (which uses a localtime interpretation of > >>>>>> timestamps > >>>>>>>>> without > >>>>>>>>>>>>>>> time zone) and Arrow (which has naive timestamps -- a > >>>>>>> concept > >>>>>>>>> similar > >>>>>>>>>>>>>>> but different from the SQL concept TIMESTAMP WITHOUT > >>>>> TIME > >>>>>>> ZONE > >>>>>>>>> -- and > >>>>>>>>>>>>>>> tz-aware timestamps). So somewhere there is a time > >>>>> zone > >>>>>>> being > >>>>>>>>>>>> stripped > >>>>>>>>>>>>>>> or applied/localized which may result in the > >>>>> transferred > >>>>>>> data > >>>>>>>>> to/from > >>>>>>>>>>>>>>> Spark being shifted by the time zone offset. I think > >>>>> it's > >>>>>>>>> important > >>>>>>>>>>>>>>> that we determine what the problem is -- if it's a > >>>>>> problem > >>>>>>>>> that has > >>>>>>>>>>>> to > >>>>>>>>>>>>>>> be fixed in Arrow (and it's not clear to me that it > >>>>> is) > >>>>>>> it's > >>>>>>>>> worth > >>>>>>>>>>>>>>> spending some time to understand what's going on to > >>>>> avoid > >>>>>>> the > >>>>>>>>>>>>>>> possibility of patch release on account of this. > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> On Sun, Jul 19, 2020 at 6:12 PM Neal Richardson > >>>>>>>>>>>>>>> <neal.p.richard...@gmail.com> wrote: > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> If it’s a display problem, should it block the > >>>>> release? > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> Sent from my iPhone > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> On Jul 19, 2020, at 3:57 PM, Wes McKinney < > >>>>>>>>> wesmck...@gmail.com> > >>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> I opened https://issues.apache.org/ > >>>>>>> jira/browse/ARROW-9525 > >>>>>>>>>>>> about the > >>>>>>>>>>>>>>>>> display problem. My guess is that there are other > >>>>>>> problems > >>>>>>>>>>>> lurking > >>>>>>>>>>>>>>>>> here > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> On Sun, Jul 19, 2020 at 5:54 PM Wes McKinney < > >>>>>>>>>>>> wesmck...@gmail.com> wrote: > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> hi Bryan, > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> This is a display bug > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> In [6]: arr = pa.array([0, 1, 2], > >>>>>>> type=pa.timestamp('ns', > >>>>>>>>>>>>>>>>>> 'America/Los_Angeles')) > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> In [7]: arr.view('int64') > >>>>>>>>>>>>>>>>>> Out[7]: > >>>>>>>>>>>>>>>>>> <pyarrow.lib.Int64Array object at 0x7fd1b8aaef30> > >>>>>>>>>>>>>>>>>> [ > >>>>>>>>>>>>>>>>>> 0, > >>>>>>>>>>>>>>>>>> 1, > >>>>>>>>>>>>>>>>>> 2 > >>>>>>>>>>>>>>>>>> ] > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> In [8]: arr > >>>>>>>>>>>>>>>>>> Out[8]: > >>>>>>>>>>>>>>>>>> <pyarrow.lib.TimestampArray object at > >>>>>> 0x7fd1b8aae6e0> > >>>>>>>>>>>>>>>>>> [ > >>>>>>>>>>>>>>>>>> 1970-01-01 00:00:00.000000000, > >>>>>>>>>>>>>>>>>> 1970-01-01 00:00:00.000000001, > >>>>>>>>>>>>>>>>>> 1970-01-01 00:00:00.000000002 > >>>>>>>>>>>>>>>>>> ] > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> In [9]: arr.to_pandas() > >>>>>>>>>>>>>>>>>> Out[9]: > >>>>>>>>>>>>>>>>>> 0 1969-12-31 16:00:00-08:00 > >>>>>>>>>>>>>>>>>> 1 1969-12-31 16:00:00.000000001-08:00 > >>>>>>>>>>>>>>>>>> 2 1969-12-31 16:00:00.000000002-08:00 > >>>>>>>>>>>>>>>>>> dtype: datetime64[ns, America/Los_Angeles] > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> the repr of TimestampArray doesn't take into > >>>>> account > >>>>>>> the > >>>>>>>>>>>> timezone > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> In [10]: arr[0] > >>>>>>>>>>>>>>>>>> Out[10]: <pyarrow.TimestampScalar: > >>>>>>> Timestamp('1969-12-31 > >>>>>>>>>>>>>>>>>> 16:00:00-0800', tz='America/Los_Angeles')> > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> So if it's incorrect, the problem is happening > >>>>>>> somewhere > >>>>>>>>> before > >>>>>>>>>>>> or > >>>>>>>>>>>>>>>>>> while the StructArray is being created. If I had > >>>>> to > >>>>>>> guess > >>>>>>>>> it's > >>>>>>>>>>>> caused > >>>>>>>>>>>>>>>>>> by the tzinfo of the datetime.datetime values not > >>>>>>> being > >>>>>>>>> handled > >>>>>>>>>>>> in the > >>>>>>>>>>>>>>>>>> way that they were before > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> On Sun, Jul 19, 2020 at 5:19 PM Wes McKinney < > >>>>>>>>>>>> wesmck...@gmail.com> wrote: > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> Well this is not good and pretty disappointing > >>>>>> given > >>>>>>>>> that we > >>>>>>>>>>>> had nearly a month to sort through the implications of > >>>>> Micah’s > >>>>>>>>> patch. We > >>>>>>>>>>>> should try to resolve this ASAP > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> On Sun, Jul 19, 2020 at 5:10 PM Bryan Cutler < > >>>>>>>>>>>> cutl...@gmail.com> wrote: > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> +0 (non-binding) > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> I ran verification script for binaries and then > >>>>>>> source, > >>>>>>>>> as > >>>>>>>>>>>> below, and both > >>>>>>>>>>>>>>>>>>>> look good > >>>>>>>>>>>>>>>>>>>> ARROW_TMPDIR=/tmp/arrow-test TEST_DEFAULT=0 > >>>>>>>>> TEST_SOURCE=1 > >>>>>>>>>>>> TEST_CPP=1 > >>>>>>>>>>>>>>>>>>>> TEST_PYTHON=1 TEST_JAVA=1 > >>>>> TEST_INTEGRATION_CPP=1 > >>>>>>>>>>>> TEST_INTEGRATION_JAVA=1 > >>>>>>>>>>>>>>>>>>>> dev/release/verify-release-candidate.sh source > >>>>>>> 1.0.0 1 > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> I tried to patch Spark locally to verify the > >>>>>> recent > >>>>>>>>> change in > >>>>>>>>>>>> nested > >>>>>>>>>>>>>>>>>>>> timestamps and was not able to get things > >>>>> working > >>>>>>> quite > >>>>>>>>>>>> right, but I'm not > >>>>>>>>>>>>>>>>>>>> sure if the problem is in Spark, Arrow or my > >>>>>> patch - > >>>>>>>>> hence my > >>>>>>>>>>>> vote of +0. > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> Here is what I'm seeing > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> ``` > >>>>>>>>>>>>>>>>>>>> (Input as datetime) > >>>>>>>>>>>>>>>>>>>> datetime.datetime(2018, 3, 10, 0, 0) > >>>>>>>>>>>>>>>>>>>> datetime.datetime(2018, 3, 15, 0, 0) > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> (Struct Array) > >>>>>>>>>>>>>>>>>>>> -- is_valid: all not null > >>>>>>>>>>>>>>>>>>>> -- child 0 type: timestamp[us, > >>>>>>> tz=America/Los_Angeles] > >>>>>>>>>>>>>>>>>>>> [ > >>>>>>>>>>>>>>>>>>>> 2018-03-10 00:00:00.000000, > >>>>>>>>>>>>>>>>>>>> 2018-03-10 00:00:00.000000 > >>>>>>>>>>>>>>>>>>>> ] > >>>>>>>>>>>>>>>>>>>> -- child 1 type: timestamp[us, > >>>>>>> tz=America/Los_Angeles] > >>>>>>>>>>>>>>>>>>>> [ > >>>>>>>>>>>>>>>>>>>> 2018-03-15 00:00:00.000000, > >>>>>>>>>>>>>>>>>>>> 2018-03-15 00:00:00.000000 > >>>>>>>>>>>>>>>>>>>> ] > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> (Flattened Arrays) > >>>>>>>>>>>>>>>>>>>> types [TimestampType(timestamp[us, > >>>>>>>>> tz=America/Los_Angeles]), > >>>>>>>>>>>>>>>>>>>> TimestampType(timestamp[us, > >>>>>>> tz=America/Los_Angeles])] > >>>>>>>>>>>>>>>>>>>> [<pyarrow.lib.TimestampArray object at > >>>>>>> 0x7ffbbd88f520> > >>>>>>>>>>>>>>>>>>>> [ > >>>>>>>>>>>>>>>>>>>> 2018-03-10 00:00:00.000000, > >>>>>>>>>>>>>>>>>>>> 2018-03-10 00:00:00.000000 > >>>>>>>>>>>>>>>>>>>> ], <pyarrow.lib.TimestampArray object at > >>>>>>> 0x7ffba958be50> > >>>>>>>>>>>>>>>>>>>> [ > >>>>>>>>>>>>>>>>>>>> 2018-03-15 00:00:00.000000, > >>>>>>>>>>>>>>>>>>>> 2018-03-15 00:00:00.000000 > >>>>>>>>>>>>>>>>>>>> ]] > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> (Pandas Conversion) > >>>>>>>>>>>>>>>>>>>> [ > >>>>>>>>>>>>>>>>>>>> 0 2018-03-09 16:00:00-08:00 > >>>>>>>>>>>>>>>>>>>> 1 2018-03-09 16:00:00-08:00 > >>>>>>>>>>>>>>>>>>>> dtype: datetime64[ns, America/Los_Angeles], > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> 0 2018-03-14 17:00:00-07:00 > >>>>>>>>>>>>>>>>>>>> 1 2018-03-14 17:00:00-07:00 > >>>>>>>>>>>>>>>>>>>> dtype: datetime64[ns, America/Los_Angeles]] > >>>>>>>>>>>>>>>>>>>> ``` > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> Based on output of existing a correct timestamp > >>>>>>> udf, it > >>>>>>>>> looks > >>>>>>>>>>>> like the > >>>>>>>>>>>>>>>>>>>> pyarrow Struct Array values are wrong and > >>>>> that's > >>>>>>> carried > >>>>>>>>>>>> through the > >>>>>>>>>>>>>>>>>>>> flattened arrays, causing the Pandas values to > >>>>>> have > >>>>>>> a > >>>>>>>>>>>> negative offset. > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> Here is output from a working udf with > >>>>> timestamp, > >>>>>>> the > >>>>>>>>> pyarrow > >>>>>>>>>>>> Array > >>>>>>>>>>>>>>>>>>>> displays in UTC time, I believe. > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> ``` > >>>>>>>>>>>>>>>>>>>> (Timestamp Array) > >>>>>>>>>>>>>>>>>>>> type timestamp[us, tz=America/Los_Angeles] > >>>>>>>>>>>>>>>>>>>> [ > >>>>>>>>>>>>>>>>>>>> [ > >>>>>>>>>>>>>>>>>>>> 1969-01-01 09:01:01.000000 > >>>>>>>>>>>>>>>>>>>> ] > >>>>>>>>>>>>>>>>>>>> ] > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> (Pandas Conversion) > >>>>>>>>>>>>>>>>>>>> 0 1969-01-01 01:01:01-08:00 > >>>>>>>>>>>>>>>>>>>> Name: _0, dtype: datetime64[ns, > >>>>>> America/Los_Angeles] > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> (Timezone Localized) > >>>>>>>>>>>>>>>>>>>> 0 1969-01-01 01:01:01 > >>>>>>>>>>>>>>>>>>>> Name: _0, dtype: datetime64[ns] > >>>>>>>>>>>>>>>>>>>> ``` > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> I'll have to dig in further at another time and > >>>>>>> debug > >>>>>>>>> where > >>>>>>>>>>>> the values go > >>>>>>>>>>>>>>>>>>>> wrong. > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> On Sat, Jul 18, 2020 at 9:51 PM Micah > >>>>> Kornfield < > >>>>>>>>>>>> emkornfi...@gmail.com> > >>>>>>>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> +1 (binding) > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> Ran wheel and binary tests on ubuntu 19.04 > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> On Fri, Jul 17, 2020 at 2:25 PM Neal > >>>>> Richardson < > >>>>>>>>>>>>>>>>>>>>> neal.p.richard...@gmail.com> > >>>>>>>>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> +1 (binding) > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> In addition to the usual verification on > >>>>>>>>>>>>>>>>>>>>>> https://github.com/apache/arrow/pull/7787, > >>>>> I've > >>>>>>>>>>>> successfully staged the > >>>>>>>>>>>>>>>>>>>>> R > >>>>>>>>>>>>>>>>>>>>>> binary artifacts on Windows ( > >>>>>>>>>>>>>>>>>>>>>> https://github.com/r-windows/ > >>>>>>> rtools-packages/pull/126 > >>>>>>>>> ), > >>>>>>>>>>>> macOS ( > >>>>>>>>>>>>>>>>>>>>>> > >>>>>> https://github.com/autobrew/homebrew-core/pull/12 > >>>>>>> ), > >>>>>>>>> and > >>>>>>>>>>>> Linux ( > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>> https://github.com/ursa-labs/arrow-r-nightly/actions/runs/ > >>>>>>>>>>>> 172977277) > >>>>>>>>>>>>>>>>>>>>> using > >>>>>>>>>>>>>>>>>>>>>> the release candidate. > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> And I agree with the judgment about skipping > >>>>> a > >>>>>> JS > >>>>>>>>> release > >>>>>>>>>>>> artifact. Looks > >>>>>>>>>>>>>>>>>>>>>> like there hasn't been a code change since > >>>>>>> October so > >>>>>>>>>>>> there's no point. > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> Neal > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> On Fri, Jul 17, 2020 at 10:37 AM Wes > >>>>> McKinney < > >>>>>>>>>>>> wesmck...@gmail.com> > >>>>>>>>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> I see the JS failures as well. I think it > >>>>> is a > >>>>>>>>> failure > >>>>>>>>>>>> localized to > >>>>>>>>>>>>>>>>>>>>>>> newer Node versions since our JavaScript CI > >>>>>> works > >>>>>>>>> fine. I > >>>>>>>>>>>> don't think > >>>>>>>>>>>>>>>>>>>>>>> it should block the release given the lack > >>>>> of > >>>>>>>>> development > >>>>>>>>>>>> activity in > >>>>>>>>>>>>>>>>>>>>>>> JavaScript [1] -- if any JS devs are > >>>>> concerned > >>>>>>> about > >>>>>>>>>>>> publishing an > >>>>>>>>>>>>>>>>>>>>>>> artifact then we can skip pushing it to NPM > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> @Ryan it seems it may be something > >>>>> environment > >>>>>>>>> related on > >>>>>>>>>>>> your > >>>>>>>>>>>>>>>>>>>>>>> machine, I'm on Ubuntu 18.04 and have not > >>>>> seen > >>>>>>> this. > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> On > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>> * Python 3.8 wheel's tests are failed. > >>>>> 3.5, > >>>>>> 3.6 > >>>>>>>>> and 3.7 > >>>>>>>>>>>>>>>>>>>>>>>> are passed. It seems that -larrow and > >>>>>>>>> -larrow_python > >>>>>>>>>>>> for > >>>>>>>>>>>>>>>>>>>>>>>> Cython are failed. > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> I suspect this is related to > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> https://github.com/apache/arrow/commit/ > >>>>>>>>>>>> 120c21f4bf66d2901b3a353a1f67bac3c3355924#diff- > >>>>>>>>>>>> 0f69784b44040448d17d0e4e8a641fe8 > >>>>>>>>>>>>>>>>>>>>>>> , > >>>>>>>>>>>>>>>>>>>>>>> but I don't think it's a blocking issue > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> [1]: > >>>>>>>>> https://github.com/apache/arrow/commits/master/js > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> On Fri, Jul 17, 2020 at 9:42 AM Ryan Murray > >>>>> < > >>>>>>>>>>>> rym...@dremio.com> wrote: > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>> I've tested Java and it looks good. However > >>>>>> the > >>>>>>>>> verify > >>>>>>>>>>>> script keeps > >>>>>>>>>>>>>>>>>>>>> on > >>>>>>>>>>>>>>>>>>>>>>>> bailing with protobuf related errors: > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>> 'cpp/build/orc_ep-prefix/src/orc_ep-build/c++/src/orc_ > >>>>>>>>>>>> proto.pb.cc' > >>>>>>>>>>>>>>>>>>>>> and > >>>>>>>>>>>>>>>>>>>>>>>> friends cant find protobuf definitions. A > >>>>> bit > >>>>>>> odd as > >>>>>>>>>>>> cmake can see > >>>>>>>>>>>>>>>>>>>>>>> protobuf > >>>>>>>>>>>>>>>>>>>>>>>> headers and builds directly off master work > >>>>>> just > >>>>>>>>> fine. > >>>>>>>>>>>> Has anyone > >>>>>>>>>>>>>>>>>>>>> else > >>>>>>>>>>>>>>>>>>>>>>>> experienced this? I am on ubutnu 18.04 > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>> On Fri, Jul 17, 2020 at 10:49 AM Antoine > >>>>>> Pitrou > >>>>>>> < > >>>>>>>>>>>> anto...@python.org> > >>>>>>>>>>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>> +1 (binding). I tested on Ubuntu 18.04. > >>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>> * Wheels verification went fine. > >>>>>>>>>>>>>>>>>>>>>>>>> * Source verification went fine with CUDA > >>>>>>> enabled > >>>>>>>>> and > >>>>>>>>>>>>>>>>>>>>>>>>> TEST_INTEGRATION_JS=0 TEST_JS=0. > >>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>> I didn't test the binaries. > >>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>> Regards > >>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>> Antoine. > >>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>> Le 17/07/2020 à 03:41, Krisztián Szűcs a > >>>>>> écrit > >>>>>>> : > >>>>>>>>>>>>>>>>>>>>>>>>>> Hi, > >>>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>>> I would like to propose the second > >>>>> release > >>>>>>>>> candidate > >>>>>>>>>>>> (RC1) of > >>>>>>>>>>>>>>>>>>>>>> Apache > >>>>>>>>>>>>>>>>>>>>>>>>>> Arrow version 1.0.0. > >>>>>>>>>>>>>>>>>>>>>>>>>> This is a major release consisting of 826 > >>>>>>>>> resolved JIRA > >>>>>>>>>>>>>>>>>>>>> issues[1]. > >>>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>>> The verification of the first release > >>>>>>> candidate > >>>>>>>>> (RC0) > >>>>>>>>>>>> has failed > >>>>>>>>>>>>>>>>>>>>>>> [0], and > >>>>>>>>>>>>>>>>>>>>>>>>>> the packaging scripts were unable to > >>>>> produce > >>>>>>> two > >>>>>>>>>>>> wheels. Compared > >>>>>>>>>>>>>>>>>>>>>>>>>> to RC0 this release candidate includes > >>>>>>> additional > >>>>>>>>>>>> patches for the > >>>>>>>>>>>>>>>>>>>>>>>>>> following bugs: ARROW-9506, ARROW-9504, > >>>>>>>>> ARROW-9497, > >>>>>>>>>>>>>>>>>>>>>>>>>> ARROW-9500, ARROW-9499. > >>>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>>> This release candidate is based on > >>>>> commit: > >>>>>>>>>>>>>>>>>>>>>>>>>> bc0649541859095ee77d03a7b891ea8d6e2fd641 > >>>>> [2] > >>>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>>> The source release rc1 is hosted at [3]. > >>>>>>>>>>>>>>>>>>>>>>>>>> The binary artifacts are hosted at > >>>>>>> [4][5][6][7]. > >>>>>>>>>>>>>>>>>>>>>>>>>> The changelog is located at [8]. > >>>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>>> Please download, verify checksums and > >>>>>>> signatures, > >>>>>>>>> run > >>>>>>>>>>>> the unit > >>>>>>>>>>>>>>>>>>>>>> tests, > >>>>>>>>>>>>>>>>>>>>>>>>>> and vote on the release. See [9] for how > >>>>> to > >>>>>>>>> validate a > >>>>>>>>>>>> release > >>>>>>>>>>>>>>>>>>>>>>> candidate. > >>>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>>> The vote will be open for at least 72 > >>>>> hours. > >>>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>>> [ ] +1 Release this as Apache Arrow 1.0.0 > >>>>>>>>>>>>>>>>>>>>>>>>>> [ ] +0 > >>>>>>>>>>>>>>>>>>>>>>>>>> [ ] -1 Do not release this as Apache > >>>>> Arrow > >>>>>>> 1.0.0 > >>>>>>>>>>>> because... > >>>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>>> [0]: > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>> https://github.com/apache/arrow/pull/7778#issuecomment- > >>>>>>>>>>>> 659065370 > >>>>>>>>>>>>>>>>>>>>>>>>>> [1]: > >>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/ > >>>>>>> jira/issues/?jql=project%20% > >>>>>>>>>>>> 3D%20ARROW%20AND%20status%20in%20%28Resolved%2C% > >>>>>>> 20Closed%29%20AND% > >>>>>>>>>>>> 20fixVersion%20%3D%201.0.0 > >>>>>>>>>>>>>>>>>>>>>>>>>> [2]: > >>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> https://github.com/apache/arrow/tree/ > >>>>>>>>>>>> bc0649541859095ee77d03a7b891ea8d6e2fd641 > >>>>>>>>>>>>>>>>>>>>>>>>>> [3]: > >>>>>>>>>>>>>>>>>>>>>>> https://dist.apache.org/repos/ > >>>>>>>>>>>> dist/dev/arrow/apache-arrow-1.0.0-rc1 > >>>>>>>>>>>>>>>>>>>>>>>>>> [4]: https://bintray.com/apache/ > >>>>>>>>>>>> arrow/centos-rc/1.0.0-rc1 > >>>>>>>>>>>>>>>>>>>>>>>>>> [5]: https://bintray.com/apache/ > >>>>>>>>>>>> arrow/debian-rc/1.0.0-rc1 > >>>>>>>>>>>>>>>>>>>>>>>>>> [6]: https://bintray.com/apache/ > >>>>>>>>>>>> arrow/python-rc/1.0.0-rc1 > >>>>>>>>>>>>>>>>>>>>>>>>>> [7]: https://bintray.com/apache/ > >>>>>>>>>>>> arrow/ubuntu-rc/1.0.0-rc1 > >>>>>>>>>>>>>>>>>>>>>>>>>> [8]: > >>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> https://github.com/apache/arrow/blob/ > >>>>>>>>>>>> bc0649541859095ee77d03a7b891ea8d6e2fd641/CHANGELOG.md > >>>>>>>>>>>>>>>>>>>>>>>>>> [9]: > >>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> https://cwiki.apache.org/ > >>>>>>> confluence/display/ARROW/How+ > >>>>>>>>>>>> to+Verify+Release+Candidates > >>>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>>> > >>>>> > >>>> >