[ https://issues.apache.org/jira/browse/SOLR-9490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15477310#comment-15477310 ]
Colvin Cowie edited comment on SOLR-9490 at 9/9/16 3:23 PM: ------------------------------------------------------------ Unfortunately I don't think that I personally can provide a unit test (without getting approval to do so). However I can reproduce the error reliably just by deploying the cloud example and creating a document: {noformat} solr stop -all rm -rf ../example/cloud solr -e cloud -noprompt curl http://localhost:8983/solr/gettingstarted/update -d "[ {\"f_b\": true, \"id\": \"1\" }, {\"f_b\": false, \"id\": \"2\" }]" {noformat} http://localhost:8983/solr/gettingstarted/select?facet.field=f_b&facet=on&indent=on&q=*:*&wt=json {noformat} { "responseHeader":{ "zkConnected":true, "status":0, "QTime":78, "params":{ "q":"*:*", "facet.field":"f_b", "indent":"on", "facet":"on", "wt":"json"}}, "response":{"numFound":2,"start":0,"maxScore":1.0,"docs":[ { "f_b":false, "id":"1", "_version_":1545007494796935168}, { "f_b":false, "id":"2", "_version_":1545007494796935168}] }, "facet_counts":{ "facet_queries":{}, "facet_fields":{ "f_b":[ "false",1, "true",1]}, "facet_ranges":{}, "facet_intervals":{}, "facet_heatmaps":{}}} {noformat} The strange thing however, is that when I try and reproduce the problem with our actual configuration and test data which always returns false on the javabin response, I struggle to get the json response to produce the wrong result as above. It appears in that case that {{toExternal()}} isn't being called at all. I don't know enough about the code to know why/how it would be bypassing {{toExternal()}} in that case though. was (Author: cjcowie): Unfortunately I don't think that I personally can provide a unit test (without getting approval to do so). However I can reproduce the error reliably just by deploying the cloud example and creating a document: {noformat} solr stop -all rm -rf ../example/cloud solr -e cloud -noprompt curl http://localhost:8983/solr/gettingstarted/update -d "[ {\"f_b\": true, \"id\": \"1\" }, {\"f_b\": false, \"id\": \"2\" }]" {noformat} http://localhost:8983/solr/gettingstarted/select?facet.field=f_b&facet=on&indent=on&q=*:*&wt=json {noformat} { "responseHeader":{ "zkConnected":true, "status":0, "QTime":78, "params":{ "q":"*:*", "facet.field":"f_b", "indent":"on", "facet":"on", "wt":"json"}}, "response":{"numFound":2,"start":0,"maxScore":1.0,"docs":[ { "f_b":false, "id":"1", "_version_":1545007494796935168}, { "f_b":false, "id":"2", "_version_":1545007494796935168}] }, "facet_counts":{ "facet_queries":{}, "facet_fields":{ "f_b":[ "false",1, "true",1]}, "facet_ranges":{}, "facet_intervals":{}, "facet_heatmaps":{}}} {noformat} The strange thing however, is that when I try and reproduce the problem with our actual configuration and test data which fails on the javabin response, I struggle to get the json response to produce the wrong result as above. It appears in that case that {{toExternal()}} isn't being called at all. I don't know enough about the code to know why/how it would be bypassing {{toExternal()}} in that case though. > BoolField always returning false for non-DV fields? > --------------------------------------------------- > > Key: SOLR-9490 > URL: https://issues.apache.org/jira/browse/SOLR-9490 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Affects Versions: 6.2 > Reporter: Hoss Man > Priority: Critical > > 2 diff users posted comments in SOLR-9187 indicating that changes introduced > in that issue have broken BoolFields that do *not* use DocValues... > [~cjcowie]... > {quote} > Hi, I've just picked up 6.2.0. It seems that the change to toExternal() in > BoolField now means that booleans without DocValues return null, which then > turns into Boolean.FALSE in toObject() regardless of whether the value is > true or false. > e.g. with this schema, facet counts are correct, the returned values are > wrong. > {code} > <field name="f_EVE64" type="boolean" indexed="true" stored="true" > required="false" multiValued="false"/> > <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/> > {code} > {code} > "response":{"numFound":2,"start":0,"maxScore":1.0,"docs":[ > { > "id":"124", > "f_EVE64":false, > "_version_":1544828487600177152}, > { > "id":"123", > "f_EVE64":false, > "_version_":1544828492458229760}] > }, > "facet_counts":{ > "facet_queries":{}, > "facet_fields":{ > "f_EVE64":[ > "false",1, > "true",1]}, > {code} > Could toExternal() perhaps fallback to how it originally behaved? e.g. > {code} > if (f.binaryValue() == null) { > return indexedToReadable(f.stringValue()); > } > {code} > {quote} > [~pavan_shetty]... > {quote} > I downloaded solr version 6.2.0 (6.2.0 > 764d0f19151dbff6f5fcd9fc4b2682cf934590c5 - mike - 2016-08-20 05:41:37) and > installed my core. > In my schema.xml i have an field like following : > <field name="stock_status" type="boolean" indexed="true" stored="true" > multiValued="false"/> > Now i am accessing this field using SolrJ (6.1.0). But i am always getting > false value for above field even though it contains true boolean value. This > is happening for all boolean fields. > http://localhost:8983/solr...wt=javabin&version=2 HTTP/1.1 > It is working fine in other response writer. > If i change the solr version to 6.1.0, with same SolrJ, it starts working. So > clearly this is a bug in version 6.2.0. > {quote} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org