drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vitalii Diravka <vitalii.dira...@gmail.com>
Subject Re: Test cases that require a UTC timezone.
Date Tue, 29 Aug 2017 09:24:46 GMT
Hi Muhammad,

You can use UTC timezone to pass all unit tests.
I replied in your jira ticket regarding two test failures for the local
timezone.


Kind regards
Vitalii

On Mon, Aug 28, 2017 at 5:44 PM, Muhammad Gelbana <m.gelbana@gmail.com>
wrote:

> ​​
> In the "Drill developer guide or code organization" thread
> ​ you asked me what am I struggling with, well let's discuss this in this
> thread as it provides more context.
>
>
> Frankly, I can't claim I fully understood what you said so I tried to
> understand the problem on my own, but I haven't succeeded yet. Let me break
> down what you said that I don't understand
>
> "
> which is then stored using an offset from the epoch UTC
> ​"
> Stored where ? The query used by the test case is querying a literal.
>
> What I'm struggling with is getting the test cases to complete %100
> successfully. I thought I need to set the timezone for the server (Drill
> instance ?) started by the test cases but I couldn't reach the code that
> actually starts the server.
>
> Also since other test cases are ignored (i.e. Marked with @Ignore) because
> they depend on timezones, then why are the test cases failing for me aren't
> ? I find them depending on timezones as well.
>
> ​
>
> Thanks,
> Gelbana
>
> On Sun, Jul 9, 2017 at 6:39 PM, Paul Rogers <progers@mapr.com> wrote:
>
> > Hi Muhammad,
> >
> > While I can’t comment on the specific test cases, I can say that Drill
> > always uses the server’s own timezone to hold dates and times. Not sure
> how
> > this is affecting the tests, but the same date/time will have a different
> > numeric value in each time zone. That is, “2 PM on July 9, 2017” is
> > interpreted as “2 PM on July 9, 2017 in your server's time zone”, which
> is
> > then stored using an offset from the epoch UTC, but with that value
> > reinterpreted as an offset from the epoch in your time zone.
> >
> > The reinterpreted UTC value is then sent to the client where it is
> > reinterpreted again as an offset from the epoch in the client’s own
> > timezone. So, on your server, “2 PM on July 9, 2017” is interpreted as “2
> > PM on July 9, 2017 GMT+2”, but when I connect to the server, do a query,
> > and obtain time data, it is reinterpreted as “2 PM on July 9, 2017
> GMT-8."
> >
> > This mostly works, but does lead to the well known issues that Joda time
> > (and, later, the JDK 8 time library) were designed to resolve.
> >
> > So, to run time tests, you may have to understand our somewhat convoluted
> > time mapping to make things work.
> >
> > Thanks,
> >
> > - Paul
> >
> > > On Jul 9, 2017, at 7:47 AM, Muhammad Gelbana <m.gelbana@gmail.com>
> > wrote:
> > >
> > > While trying to run Drill's test cases
> > > <https://issues.apache.org/jira/browse/DRILL-5606>, I found that one
> of
> > the
> > > failing tests would succeed
> > > <https://issues.apache.org/jira/browse/DRILL-5606?
> > focusedCommentId=16079131&page=com.atlassian.jira.
> > plugin.system.issuetabpanels:comment-tabpanel#comment-16079131>
> > > if the timezone was set to UTC (Mine is GMT+2).
> > >
> > > When I looked around for other test cases that may require timezones, I
> > > found a couple of tests ignored (Marked with @Ignore) because they
> depend
> > > on timezones !
> > >
> > > Would someone please tell me how can I set the timezone for a test
> case ?
> > > Also sharing a guide about Drill's tests classes, packages,
> > > architecture...etc, would be very helpful.
> > >
> > > -Gelbana
> >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message