[ 
https://issues.apache.org/jira/browse/SOLR-807?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12640057#action_12640057
 ] 

Noble Paul commented on SOLR-807:
---------------------------------

bq. Change which code? 
NamedListCodec


bq.while the NameListCodec seems to make it's own decisions based on 
FieldType.toObject..
you are right. NamedListCodec needs to handle Objects differently because , 
that is the only way it can write out values efficiently. There are two ways to 
address the issue.

* Make UUID a known type . I mean add a new type to NamedListCodec. This means 
bumping up the version of javabin format say version=2. I guess we should not 
make this change unless we wish to make some more important changes.
* Write down UUID as a String and treat it like String (of course w/o the 
classname). XMLWriter is anyway doing this . This change will be backward 
compatible and we may not need to bump up the version.








> UUIDField type cannot be recognized when wt=javabin is used
> -----------------------------------------------------------
>
>                 Key: SOLR-807
>                 URL: https://issues.apache.org/jira/browse/SOLR-807
>             Project: Solr
>          Issue Type: Bug
>          Components: clients - java, search
>    Affects Versions: 1.3
>            Reporter: Koji Sekiguchi
>            Priority: Trivial
>             Fix For: 1.3.1
>
>
> I'm using UUID via Solrj in my project. When I use javabin (default), I got:
> *java.util.UUID:* 391e3214-4f8e-4abd-aa6b-4f12be79534f
> as the uuid value. But if I use xml, I got:
> 391e3214-4f8e-4abd-aa6b-4f12be79534f
> I think the both of them should return same string.
> program for reproducing the problem:
> {code:java}
>   public static void main(String[] args) throws Exception {
>     CommonsHttpSolrServer server = new CommonsHttpSolrServer( 
> "http://localhost:8983/solr"; );
>     SolrQuery query = new SolrQuery().setQuery( "*:*" );
>     //server.setParser( new XMLResponseParser() );   // uncomment for wt=xml
>     System.out.println( "===== " + 
> server.getParser().getClass().getSimpleName() + " =====" );
>     QueryResponse rsp = server.query( query );
>     SolrDocumentList docs = rsp.getResults();
>     for( SolrDocument doc : docs ){
>       Object id = doc.getFieldValue( "id" );
>       System.out.println( "type = " + id.getClass().getName() + ", id = " + 
> id );
>       Object timestamp = doc.getFieldValue( "timestamp" );
>       System.out.println( "type = " + timestamp.getClass().getName() + ", 
> timestamp = " + timestamp );
>     }
>   }
> {code}
> result for wt=javabin
> {code:title=javabin}
> ===== BinaryResponseParser =====
> type = java.lang.String, id = 
> java.util.UUID:391e3214-4f8e-4abd-aa6b-4f12be79534f
> type = java.util.Date, timestamp = Wed Oct 15 00:20:50 JST 2008
> {code}
> result for wt=xml
> {code:title=xml}
> ===== XMLResponseParser =====
> type = java.lang.String, id = 391e3214-4f8e-4abd-aa6b-4f12be79534f
> type = java.util.Date, timestamp = Wed Oct 15 00:20:50 JST 2008
> {code}

-- 
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