This is going to fix it: https://github.com/apache/iceberg/pull/6200
The question is do we want to create another release candidate that
contains this fix. I think we should. Adding the above patch to the 1.1.0
Milestone <https://github.com/apache/iceberg/milestone/24>.

Gabor

On Wed, Nov 16, 2022 at 2:04 PM Gabor Kaszab <gaborkas...@apache.org> wrote:

> I managed to repro this: Currently I'm in Central Europe and the current
> date is 16th Nov, but if I set the system timezone to "Pacific/Auckland"
> then LocalDate.now() gives me 17th Nov. This won't match with the current
> UTC time created by ExpressionUtil.ExpressionSanitizer.today that is UTC.
>
> I have to examine the use of 'ExpressionUtil.ExpressionSanitizer.today'
> and 'now' a bit further but it seems that these are compared with predicate
> literals that in turn I hink are in UTC. So the code using UTC seems fine,
> just the test has to also use UTC for getting the current day/time.
>
> On Wed, Nov 16, 2022 at 11:53 AM Gabor Kaszab <gaborkas...@apache.org>
> wrote:
>
>> I believe the issue is that ExpressionUtil takes the current time as UTC
>> <https://github.com/apache/iceberg/blob/c7365f0302048d5437a75ee30a5215d8d32aaef3/api/src/main/java/org/apache/iceberg/expressions/ExpressionUtil.java#L130>
>> while these tests use LocalDate.now()
>> <https://github.com/apache/iceberg/blob/c7365f0302048d5437a75ee30a5215d8d32aaef3/api/src/test/java/org/apache/iceberg/expressions/TestExpressionUtil.java#L541>
>> that uses the "default" timezone
>> <https://www.geeksforgeeks.org/localdate-now-method-in-java-with-examples/>
>> that apparently is not UTC in your case.
>> I think this is a test issue.
>>
>> Gabor
>>
>> On Wed, Nov 16, 2022 at 9:37 AM Gabor Kaszab <gaborkas...@apache.org>
>> wrote:
>>
>>> Thanks for the verification Steven!
>>> I also ran the iceberg-api tests multiple times but I haven't run into
>>> this issue. Is it possible that this is due to some local configs in your
>>> environment? It seems suspicious that all these 3 failing tests use
>>> LocalDate.now() and these are the only tests that use this.
>>>
>>> Cheers,
>>> Gabor
>>>
>>>
>>> On Wed, Nov 16, 2022 at 7:33 AM Steven Wu <stevenz...@gmail.com> wrote:
>>>
>>>> -1 (non-binding)
>>>>
>>>>
>>>>
>>>>    1. Downloaded the source tarball.
>>>>       1. Verified signature and checksum.
>>>>       2. Untar the source archive.
>>>>       3. ./gradlew build. There are unit test failures (details in the
>>>>       end).
>>>>    2. Flink SQL testing (both 1.15 and 1.16)
>>>>       1. Downloaded Iceberg-flink-runtime jars (1.15 and 1.16) from
>>>>       Nexus staging repository.
>>>>       2. Batch write worked
>>>>       3. FLIP-27 source batch read worked
>>>>       4. FLIP-27 source streaming read worked
>>>>       5. There is a regression in Flink 1.16.0 (not related to Iceberg
>>>>       release). Filed ticket. FLINK-30035.
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> Steven
>>>>
>>>>
>>>> > Task :iceberg-api:test
>>>>
>>>>
>>>> org.apache.iceberg.expressions.TestExpressionUtil >
>>>> testSanitizeDateNextWeek FAILED
>>>>
>>>>     java.lang.AssertionError: Literals should match
>>>> expected:<["(date-7-days-from-now)"]> but was:<["(date-6-days-from-now)"]>
>>>>
>>>>         at org.junit.Assert.fail(Assert.java:89)
>>>>
>>>>         at org.junit.Assert.failNotEquals(Assert.java:835)
>>>>
>>>>         at org.junit.Assert.assertEquals(Assert.java:120)
>>>>
>>>>         at
>>>> org.apache.iceberg.expressions.TestExpressionUtil.assertEquals(TestExpressionUtil.java:825)
>>>>
>>>>         at
>>>> org.apache.iceberg.expressions.TestExpressionUtil.assertEquals(TestExpressionUtil.java:819)
>>>>
>>>>         at
>>>> org.apache.iceberg.expressions.TestExpressionUtil.testSanitizeDateNextWeek(TestExpressionUtil.java:583)
>>>>
>>>>
>>>> org.apache.iceberg.expressions.TestExpressionUtil >
>>>> testSanitizeDateLastWeek FAILED
>>>>
>>>>     java.lang.AssertionError: Literals should match
>>>> expected:<["(date-7-days-ago)"]> but was:<["(date-8-days-ago)"]>
>>>>
>>>>         at org.junit.Assert.fail(Assert.java:89)
>>>>
>>>>         at org.junit.Assert.failNotEquals(Assert.java:835)
>>>>
>>>>         at org.junit.Assert.assertEquals(Assert.java:120)
>>>>
>>>>         at
>>>> org.apache.iceberg.expressions.TestExpressionUtil.assertEquals(TestExpressionUtil.java:825)
>>>>
>>>>         at
>>>> org.apache.iceberg.expressions.TestExpressionUtil.assertEquals(TestExpressionUtil.java:819)
>>>>
>>>>         at
>>>> org.apache.iceberg.expressions.TestExpressionUtil.testSanitizeDateLastWeek(TestExpressionUtil.java:563)
>>>>
>>>>
>>>> org.apache.iceberg.expressions.TestExpressionUtil >
>>>> testSanitizeDateToday FAILED
>>>>
>>>>     java.lang.AssertionError: Literals should match
>>>> expected:<["(date-today)"]> but was:<["(date-1-days-ago)"]>
>>>>
>>>>         at org.junit.Assert.fail(Assert.java:89)
>>>>
>>>>         at org.junit.Assert.failNotEquals(Assert.java:835)
>>>>
>>>>         at org.junit.Assert.assertEquals(Assert.java:120)
>>>>
>>>>         at
>>>> org.apache.iceberg.expressions.TestExpressionUtil.assertEquals(TestExpressionUtil.java:825)
>>>>
>>>>         at
>>>> org.apache.iceberg.expressions.TestExpressionUtil.assertEquals(TestExpressionUtil.java:819)
>>>>
>>>>         at
>>>> org.apache.iceberg.expressions.TestExpressionUtil.testSanitizeDateToday(TestExpressionUtil.java:543)
>>>>
>>>> On Tue, Nov 15, 2022 at 8:42 PM Jean-Baptiste Onofré <j...@nanthrax.net>
>>>> wrote:
>>>>
>>>>> +1 (non binding)
>>>>>
>>>>> Quickly check build and "Apache legal related", not deep dive tests as
>>>>> I'm still learning Iceberg ;)
>>>>>
>>>>> Regards
>>>>> JB
>>>>>
>>>>> On Tue, Nov 15, 2022 at 12:28 PM Gabor Kaszab <gaborkas...@apache.org>
>>>>> wrote:
>>>>> >
>>>>> > Hi Everyone,
>>>>> >
>>>>> > I propose that we release the following RC as the official Apache
>>>>> Iceberg 1.1.0 release.
>>>>> >
>>>>> > The commit ID is 1d10c53906847893b45c6acb0137dcb55a15353d
>>>>> > * This corresponds to the tag: apache-iceberg-1.1.0-rc1
>>>>> > * https://github.com/apache/iceberg/commits/apache-iceberg-1.1.0-rc1
>>>>> > *
>>>>> https://github.com/apache/iceberg/tree/1d10c53906847893b45c6acb0137dcb55a15353d
>>>>> >
>>>>> > The release tarball, signature, and checksums are here:
>>>>> > *
>>>>> https://dist.apache.org/repos/dist/dev/iceberg/apache-iceberg-1.1.0-rc1
>>>>> >
>>>>> > You can find the KEYS file here:
>>>>> > * https://dist.apache.org/repos/dist/dev/iceberg/KEYS
>>>>> >
>>>>> > Convenience binary artifacts are staged on Nexus. The Maven
>>>>> repository URL is:
>>>>> > *
>>>>> https://repository.apache.org/content/repositories/orgapacheiceberg-1109/
>>>>> >
>>>>> > Please download, verify, and test.
>>>>> >
>>>>> > Please vote in the next 72 hours.
>>>>> >
>>>>> > [ ] +1 Release this as Apache Iceberg 1.1.0
>>>>> > [ ] +0
>>>>> > [ ] -1 Do not release this because...
>>>>> >
>>>>> > PS.: Thanks Fokko for helping me out with the steps requiring
>>>>> committer privileges!
>>>>>
>>>>

Reply via email to