You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Ashwani Raina (Jira)" <ji...@apache.org> on 2025/01/08 12:09:00 UTC

[jira] [Commented] (KUDU-3636) New Kudu client API may not work against old Kudu master for certain cases

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

Ashwani Raina commented on KUDU-3636:
-------------------------------------

Steps to reproduce:
1. Build a kudu server (version 1.16). Start a cluster with this version. Note master address.
2. Build a kudu client jar (version 1.17)
3. From kudu workspace version 1.17, build and run example test by following
     $KUDU_HOMEDIR/examples/java/java-example/README.adoc and use master address from step 1.
4. The test fails with exception and master info log throws following error:
{{}}
{code:java}
Unable to handle RPC call: Not implemented: call requires unsupported application feature flags: 10{code}
{{}} 

> New Kudu client API may not work against old Kudu master for certain cases
> --------------------------------------------------------------------------
>
>                 Key: KUDU-3636
>                 URL: https://issues.apache.org/jira/browse/KUDU-3636
>             Project: Kudu
>          Issue Type: Bug
>          Components: client
>            Reporter: Ashwani Raina
>            Priority: Major
>
> Ran {{$KUDU_HOMEDIR/examples/java/java-example/src/main/java/org/apache/kudu/examples/Example.java}}  from latest kudu version (that supports IMMUTABLE COL) against an old server (that doesn't support IMMUTABLE COL), got this error:
> {{Unable to handle RPC call: Not implemented: call requires unsupported application feature flags: 10}}
> The test just alters an existing table by adding a new column (not immutable type by default) so it is expected to complete successfully.
> The reason behind this is as follows:
> While creating RPC request (for Alter request), the Kudu client marshalls list of required feature flags, which in this case, includes IMMUTABLE COLUMNS. However, when this RPC request lands on server (on lower version which doesn't support IMMUTABLE COLUMNS), it find IMM_COL as not supported and sends back the error to client.
> The expected behaviour is that server should send error out only when the Alter RPC request is actually trying to add an IMMUTABLE COLUMN which it doesn't support.
> Probably, a fix is required at client side to ensure it doesn't send "not to be used features" as part of RequiredFeatureFlags to avoid confusion on server.



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