cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Stupp (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-8553) Add a key-value payload for third party usage
Date Thu, 19 Mar 2015 17:18:38 GMT


Robert Stupp commented on CASSANDRA-8553:

Cool trick making a final field non-final - didn't knew that this is possible.
Removing the methods that don't take {{customPayload}} from {{QueryHandler}} works - except
that I had to update {{CassandraServer}}.

I think the possibility to provide a custom {{QueryHandler}} via {{cassandra.custom_query_handler_class}}
is a bit broken since some functionalities bypass {{ClientState.getCQLQueryHandler()}} by
using {{QueryProcessor.instance}} (that’s why I deleted v3 of the patch).

{{QueryProcessor}} is heavily used from {{CassandraAuthorizer}} and {{CassandraRoleManager}}.
Beside these, there are some unit tests, that use {{QueryProcessor}} directly - but these
are fine IMO.

I could check whether all utests still pass after usages of {{QueryProcessor.instance}} are
replaced with {{ClientState.getCQLQueryHandler()}}. 

Altogether I’m not sure whether the authentication stuff can go through the custom implementation
or has to stick with {{QueryProcessor}}. However - if the auth stuff should be migrated to
{{QueryHandler}}, it would be a bit bigger than a simple search-and-replace.

Should {{CassandraAuthorizer}} and {{CassandraRoleManager}} (and anything else) use {{QueryHandler}}
instead of {{QueryProcessor}}?

BTW: I’ve addressed the other issues and rebased my branch.

> Add a key-value payload for third party usage
> ---------------------------------------------
>                 Key: CASSANDRA-8553
>                 URL:
>             Project: Cassandra
>          Issue Type: Sub-task
>            Reporter: Sergio Bossa
>            Assignee: Robert Stupp
>              Labels: client-impacting, protocolv4
>             Fix For: 3.0
>         Attachments: 8553-v2.txt, 8553.txt
> An useful improvement would be to include a generic key-value payload, so that developers
implementing a custom {{QueryHandler}} could leverage that to move custom data back and forth.

This message was sent by Atlassian JIRA

View raw message