Hi Jason,

It seems your Java Kudu client hit the authn token expiration issue. As you mentioned, that's a well known issue and it is described in the docs. Just FYI, the Kudu C++ client starting 1.4.0 automatically re-acquires authn token when needed, and I hope the Java client will do so as well in next release. If you are interested in details, the issue is tracked by https://issues.apache.org/jira/browse/KUDU-2013 and is being actively worked on (there is a WIP patch for that).

As for a temporary workaround, you could try one the following:

* Set authn token expiration time to some huge value, i.e. run the Kudu masters with custom value for the --auth_token_validity_seconds flag. The default is 7 days (604800 seconds); you could try to set it to, say, 300 days: '--auth_token_validity_seconds=25920000'. That would be a good option if your use-case requires a secure Kudu cluster with authentication. For this workaround, once Kudu masters are restarted with new flags, you also need to restart your Java clients to acquire a new token with longer TTL if you don't want them to hit the issue in one week.

* Disable RPC authentication and encryption, i.e. run both Kudu masters and tablet servers with '--rpc_authentication=disabled --rpc_encryption=disabled' flags (you need to disable both authn and encryption). That would be an option if your use-case does not require a secure Kudu cluster. In this case you don't need to restart your Java clients once you restarted Kudu server-side components.

Hope this helps.


Kind regards,

Alexey


On 6/14/17 2:44 AM, Jason Heo wrote:
Hi.

I'm using Apache Kudu 1.4.0.

And I have a long running Java Daemon which is a kudu client at the same time.

Today (7 days has been past since the Java Daemon has been started) I suddenly got an following error.


W0614 15:29:11.934401 62459 negotiation.cc:310] Unauthorized connection attempt: Server connection negotiation failed: server connection from ip_addr:56604: authentication token expired

W0614 15:29:11.956845 62459 negotiation.cc:310] Unauthorized connection attempt: Server connection negotiation failed: server connection from ip_addr:56606: authentication token expired

...

...

...

W0614 17:47:18.347970 74099 negotiation.cc:310] Unauthorized connection attempt: Server connection negotiation failed: server connection from ip_addr:56172: authentication token expired

W0614 17:47:20.488306 74100 negotiation.cc:310] Unauthorized connection attempt: Server connection negotiation failed: server connection from ip_addr:56180: authentication token expired



Kudu is started with this options

--unlock_experimental_flags=true

...

--superuser_acl=user1,user2


The Java Daemon is started with user2 account.

How can I prevent from happening this error again.

I've read this manual. https://kudu.apache.org/docs/security.html#known-limitations

It says that "so long-lived clients in secure clusters are not supported" Then Should I set `--rpc-authentication=disable`?

Thanks.

Regards,

Jason

Reply via email to