[ 
https://issues.apache.org/jira/browse/BEAM-3581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16347894#comment-16347894
 ] 

Anton Kedin commented on BEAM-3581:
-----------------------------------

Before reading from system properties Calcite reads from saffron.properties 
file. Calcite version that we have seems to look for the properties file in the 
current working dir, but newer versions seem to load it from resources: 
https://github.com/apache/calcite/commit/534b09ffdf4972cb9efb978ef7fae46b9deb8e32

Tests pass if I intercept this call in the debugger and load saffron.properties 
with UTF16 set as default encoding.

> [SQL] Support for Non-ASCII chars is flaky
> ------------------------------------------
>
>                 Key: BEAM-3581
>                 URL: https://issues.apache.org/jira/browse/BEAM-3581
>             Project: Beam
>          Issue Type: Bug
>          Components: dsl-sql
>            Reporter: Anton Kedin
>            Assignee: Anton Kedin
>            Priority: Major
>
> Beam SQL overrides default charset that Calcite uses and sets it to UTF16. It 
> is done via system properties.
> Problem is that we do this only when it hasn't been set yet. So if system 
> property has been set to ISO-8859-1 (Calcite's default), then test runs will 
> fail when trying to encode characters not supported in that encoding.
> Solution:
>  - because it's a system property, we don't want to force override it;
>  - for the same reason we cannot set it for a specific query execution;
>  - we can expose a static method on BeamSql to override these properties if 
> explicitly requested;
>  - affected tests will explicitly override it;
>  - otherwise behavior will stay unchanged and we will respect defaults and 
> user settings;



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to