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

Jason Gerlowski commented on SOLR-13331:
----------------------------------------

bq. It's not an abstraction. it is an optimization. We will not be a make 
changes confidently unless we have proper test coverage. 

Of course Noble.  I'm not trying to argue against improving the tests.  I'm 
trying to make the point that even with better tests, this BAUCS decision will 
be biting us for awhile, and we should consider other changes too.

Before the BAUCS change, devs didn't have to think about the wire-format at all 
while parsing requests.  Now the wire format matters.  So the BAUCS change has 
taken something that was relatively simple for devs and that happens a 
bazillion times in our codebase and it made it harder (or at least trappier).  
You, David, Thomas, and I all know about this problem now and we'll probably 
remember it the next time we write NamedList parsing code.  But the 200 or so 
other Solr contributors won't.  And the thousands of SolrJ users exposed to 
this definitely won't.  Mistakes are going to be made.

Improved test coverage will catch some of these issues.  And that's great.  But 
if we wake up tomorrow with a test base that randomizes the wire-format, and 
everything changed over to use it...our test coverage is still full of gaps.  
Issues are still going to get through.  Absolutely we should attend to our 
tests.  But it'd be foolish to not also reconsider the reason NamedList parsing 
code is now more difficult in the first place.

> Atomic Update Multivalue remove does not work
> ---------------------------------------------
>
>                 Key: SOLR-13331
>                 URL: https://issues.apache.org/jira/browse/SOLR-13331
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: UpdateRequestProcessors
>    Affects Versions: 7.7, 7.7.1, 8.0
>         Environment: Standalone Solr Server
>            Reporter: Thomas Wöckinger
>            Assignee: Jason Gerlowski
>            Priority: Critical
>              Labels: patch, pull-request-available, ready-to-commit, test
>             Fix For: 7.7.2, 8.1, master (9.0)
>
>         Attachments: Fix-SOLR13331-Add-toNativeType-implementations.patch, 
> SOLR-13331.patch
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> When using JavaBinCodec the values of collections are of type 
> ByteArrayUtf8CharSequence, existing field values are Strings so the remove 
> Operation does not have any effect.
> The relevant code is located in class AtomicUpdateDocumentMerger method 
> doRemove.
> The method parameter fieldVal contains the collection values of type 
> ByteArrayUtf8CharSequence, the variable original contains the collection of 
> Strings



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to