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

Zhihua Deng updated HIVE-27396:
-------------------------------
    Fix Version/s: 4.0.0
       Resolution: Fixed
           Status: Resolved  (was: Patch Available)

Fix has been merged. Thank you for the PR [~joemcdonnell] !

> Use -strict argument for Thrift code generation to prevent compatibility 
> issues
> -------------------------------------------------------------------------------
>
>                 Key: HIVE-27396
>                 URL: https://issues.apache.org/jira/browse/HIVE-27396
>             Project: Hive
>          Issue Type: Improvement
>          Components: Build Infrastructure
>    Affects Versions: 4.0.0
>            Reporter: Joe McDonnell
>            Assignee: Joe McDonnell
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 4.0.0
>
>
> When generating code, the Thrift compiler has a "-strict" option that errors 
> out for certain warnings. Specifically, it errors out when there are implicit 
> field keys:
> {noformat}
>         pwarning(1, "No field key specified for %s, resulting protocol may 
> have conflicts or not be backwards compatible!\n", $6);
>         if (g_strict >= 192) {
>           yyerror("Implicit field keys are deprecated and not allowed with 
> -strict");
>           exit(1);
>         }{noformat}
> [https://github.com/apache/thrift/blob/master/compiler/cpp/src/thrift/thrifty.yy#L824-L828]
> This is a warning that has been introduced in the past (see HIVE-27103 and 
> HIVE-20365)
> I think that it would be useful to add "-strict" to the arguments for Thrift 
> code generation. It would prevent the introduction of new compatibility 
> issues, because the command would fail rather than generating a warning that 
> is easy to miss.
> The current Thrift files already work with -strict, so this should be a 
> painless thing.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to