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

Noble Paul updated SOLR-810:
----------------------------

    Description: 
javabin can be as efficient as a format like say thrift/protocol buffers if we 
do not pay the price of a string per name. We can easily achieve it using a new 
type  KNOWN_STRING. 

KNOWN_STRING can be like an EXTERN_STRING but it is just that these are 
preconfigured string names which is a map of index -> string . The known string 
list can probably have a version . The client must be using a newer version 
known string list than the server . 

an example looks like
{code}
1:responseHeader
2:QTime
3:status
{code}

A newer version of the string list can add a new string at a new index but it 
must never change the index of an existing string. This is similar to an IDL 
file of thrift/protocol buffers but w/o any of those complexities

So when an EXTERN_STRING is written it first looks up in the KNOWN_STRING map. 
If it is present , it is written as a KNOWN_STRING instead of an EXTERN_STRING 
. The value will be the index



  was:
This is really not an issue . But if we ever are going to make any changes to 
the next version of javabin let us not miss anything .Any new suggestions are 
also welcome

1) support UUID


> changes for javabin format
> --------------------------
>
>                 Key: SOLR-810
>                 URL: https://issues.apache.org/jira/browse/SOLR-810
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Noble Paul
>
> javabin can be as efficient as a format like say thrift/protocol buffers if 
> we do not pay the price of a string per name. We can easily achieve it using 
> a new type  KNOWN_STRING. 
> KNOWN_STRING can be like an EXTERN_STRING but it is just that these are 
> preconfigured string names which is a map of index -> string . The known 
> string list can probably have a version . The client must be using a newer 
> version known string list than the server . 
> an example looks like
> {code}
> 1:responseHeader
> 2:QTime
> 3:status
> {code}
> A newer version of the string list can add a new string at a new index but it 
> must never change the index of an existing string. This is similar to an IDL 
> file of thrift/protocol buffers but w/o any of those complexities
> So when an EXTERN_STRING is written it first looks up in the KNOWN_STRING 
> map. If it is present , it is written as a KNOWN_STRING instead of an 
> EXTERN_STRING . The value will be the index

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to