[ 
https://issues.apache.org/jira/browse/AVRO-2950?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Werner Daehn resolved AVRO-2950.
--------------------------------
    Resolution: Won't Fix

Two qualified comments render my fear obsolete. 

> LocalDateTime-millis and -micros is bound to lead to wrong data
> ---------------------------------------------------------------
>
>                 Key: AVRO-2950
>                 URL: https://issues.apache.org/jira/browse/AVRO-2950
>             Project: Apache Avro
>          Issue Type: Bug
>          Components: logical types
>    Affects Versions: 1.10.0
>            Reporter: Werner Daehn
>            Priority: Critical
>
> The recent addition of LocalDateTime Logical Types I find it extremely 
> dangerous. It will lead to wrong data for many users without noticing.
> While I understand the idea and reason, the oversight in my opinion is the 
> the difference between Hadoop Files and Avro Messages: Hadoop is for data 
> storage, Avro is for data exchange. Hadoop runs in a single cluster and it 
> has a well defined time zone. Thus LocalDateTime does have a meaning. Avro is 
> used to exchange data between systems. Serializing data on a system in time 
> zone 1 and loading it into the Hadoop cluster located in time zone 2 will 
> lead to wrong data with an high likelihood.
> Example: Kafka Connect Producer is running in US (PST) and Hadoop in UK (GMT).
> User 1 expectation: In Hadoop the data is in LocalDateTime meaning in GMT. 
> The Java data types Date, java.sql.Timestamp and LocalDateTime are used, 
> which all are data types without a time zone information. Thus they return 
> correct data if the loaded data has the meaning of UK-time. The Kafka 
> Producer does not know the time zone of Hadoop.
> User 2 expectation: In Hadoop the data belongs to an office and has an 
> implicit time zone hence. It is the time zone of the office location. In that 
> case a LocalDateTime is meant as the time as seen on the office clock.
> As these two cases cannot be distinguished from each other and people tend to 
> think locally, we are inviting people to produce wrong data.
>  
> The better logical type would have been for the Java ZonedDateTime. Then the 
> producer and consumer are in sync. The producer is loading data in PST time 
> zone and the consumer can read the data as GMT times. If he wants the local 
> office times, he has to add the office timezone offsets.
> LocalDateTime was introduced here: 
> https://issues.apache.org/jira/browse/AVRO-2328
>  
> Can you please open the discussion on this item to make sure you are fully 
> aware of the implications and still want to go with it?
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to