You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "Ivan Kelly (JIRA)" <ji...@apache.org> on 2013/01/14 16:10:12 UTC

[jira] [Updated] (BOOKKEEPER-78) filterable metadata fields in Hedwig's message definition

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

Ivan Kelly updated BOOKKEEPER-78:
---------------------------------

    Fix Version/s:     (was: 4.2.0)
    
> filterable metadata fields in Hedwig's message definition
> ---------------------------------------------------------
>
>                 Key: BOOKKEEPER-78
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-78
>             Project: Bookkeeper
>          Issue Type: New Feature
>          Components: hedwig-client, hedwig-server
>            Reporter: Matthieu Morel
>         Attachments: BOOKKEEPER-78.patch, BOOKKEEPER-78.patch_v2
>
>
> In order to efficiently implement filtering of Hedwig messages, Hedwig should be able to rely on metadata information. (i.e. without needing to deserialize the content of the message)
> Filtering could use a subset of SQL (like in the JMS spec), leading to queries such as : 
> "header1 like 'a' AND header2 IS NOT NULL" 
> For that purpose, I propose to add customizable metadata to the definition of Hedwig messages, as header fields.
> Metadata must be customizable because it may be arbitrary. We should provide "map-like" containers according to the type of the metadata field. Metadata fields would be accessed by name.
> There are predefined headers for JMS that could be added as metadata fields such as : destination (~topic), delivery mode (persistent or not), expiration, priority, timestamp, correlation id (link to other message), reply to, type and redelivered. I think only a subset of these should be predefined headers, if any.
> Adding metadata fields to Hedwig messages implies modifying the message definition, which does not break backward compatibility when those fields are added as optional in the protocol buffer definition.
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira