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

Ryan Skraba reassigned AVRO-2611:
---------------------------------

    Assignee: Ryan Skraba

> Provide warnings for mismatched logical/literal schema
> ------------------------------------------------------
>
>                 Key: AVRO-2611
>                 URL: https://issues.apache.org/jira/browse/AVRO-2611
>             Project: Apache Avro
>          Issue Type: Improvement
>          Components: python
>            Reporter: Michael A. Smith
>            Assignee: Ryan Skraba
>            Priority: Minor
>
> The spec says
> bq. Language implementations must ignore unknown logical types when reading, 
> and should use the underlying Avro type. If a logical type is invalid, for 
> example a decimal with scale greater than its precision, then implementations 
> should ignore the logical type and use the underlying Avro type.
> Work to adhere to this is in AVRO-2429. However, users debugging their avro 
> usage may wish to get more feedback about logical and literal schema 
> mismatches. So I propose that we use the Python [warnings 
> module|https://docs.python.org/2/library/warnings.html] to provide warnings 
> about schema mismatches, which will natively give the user control over what 
> warnings they see. Here's an excerpt from the Python warnings documentation:
> bq. Warning messages are normally written to {{sys.stderr}}, but their 
> disposition can be changed flexibly, from ignoring all warnings to turning 
> them into exceptions. The disposition of warnings can vary based on the 
> warning category (see below), the text of the warning message, and the source 
> location where it is issued. Repetitions of a particular warning for the same 
> source location are typically suppressed.
> The logging module also supports [easily transforming 
> warnings|https://docs.python.org/2/library/logging.html#logging.captureWarnings]
>  into logger.warn calls.
> We should create a subclass of {{UserWarning}} from which all future avro 
> warnings should extend, and then create an {{IgnoredLogicalType}} warning 
> from that for this case.
> I think the warning should be enabled in "once" mode by default.



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

Reply via email to