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