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

John Roesler updated KAFKA-13526:
---------------------------------
    Priority: Blocker  (was: Major)

> IQv2: Consider more generic logic for mapping between binary and typed queries
> ------------------------------------------------------------------------------
>
>                 Key: KAFKA-13526
>                 URL: https://issues.apache.org/jira/browse/KAFKA-13526
>             Project: Kafka
>          Issue Type: Sub-task
>            Reporter: John Roesler
>            Priority: Blocker
>
> Right now, typed queries (like KeyQuery) need to be specially handled and 
> translated to their binary counterparts (like RawKeyQuery). This happens in 
> the Metered store layers, where the serdes are known. It is necessary because 
> lower store layers are only able to handle binary data (because they don't 
> know the serdes).
> This situation is not ideal, since the Metered store layers will grow to host 
> quite a bit of query handling and translation logic, because the relationship 
> between typed queries and binary counterparts is not obvious, and because we 
> can only automatically translate known query types. User-supplied queries and 
> stores will have to work things out using their a-priori knowledge of the 
> serdes.
>  
> One suggestion (from [~mjsax] ) is to come up with some kind of generic 
> "query mapping" API, which the Metered stores would use to translate back and 
> forth between typed and raw keys and values. Users would be able to supply 
> their own mappings along with their custom queries.
> Another option would be to have the Metered stores attach the serdes to the 
> query on the way down and then to the result on the way up. Then, the serdes 
> would be available in the bytes store (as part of the request) and to the 
> users when they get their results (as part of the response).
> Other options may also surface once we start playing with ideas.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to