[jira] [Commented] (SOLR-12373) DocBasedVersionConstraintsProcessor doesn't work when schema has required fields
[ https://issues.apache.org/jira/browse/SOLR-12373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16751743#comment-16751743 ] Tomás Fernández Löbbe commented on SOLR-12373: -- Attached a patch with the suggested change and some more tests. I'll commit soon. > DocBasedVersionConstraintsProcessor doesn't work when schema has required > fields > > > Key: SOLR-12373 > URL: https://issues.apache.org/jira/browse/SOLR-12373 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Reporter: Tomás Fernández Löbbe >Assignee: Tomás Fernández Löbbe >Priority: Minor > Attachments: SOLR-12373.patch, SOLR-12373.patch, SOLR-12373.patch, > SOLR-12373.patch > > > DocBasedVersionConstraintsProcessor creates tombstones when processing a > delete by id. Those tombstones only have id (or whatever the unique key name > is) and version field(s), however, if the schema defines some required > fields, adding the tombstone will fail. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-12373) DocBasedVersionConstraintsProcessor doesn't work when schema has required fields
[ https://issues.apache.org/jira/browse/SOLR-12373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16744492#comment-16744492 ] Hoss Man commented on SOLR-12373: - Tomas: LGTM ... although I would suggest pruning your {{requiredFields}} set of any SchemaField were {{null != SchemaField.getDefaultValue()}} to eliminate obvious false positive WARN messages. > DocBasedVersionConstraintsProcessor doesn't work when schema has required > fields > > > Key: SOLR-12373 > URL: https://issues.apache.org/jira/browse/SOLR-12373 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Reporter: Tomás Fernández Löbbe >Assignee: Tomás Fernández Löbbe >Priority: Minor > Attachments: SOLR-12373.patch, SOLR-12373.patch, SOLR-12373.patch > > > DocBasedVersionConstraintsProcessor creates tombstones when processing a > delete by id. Those tombstones only have id (or whatever the unique key name > is) and version field(s), however, if the schema defines some required > fields, adding the tombstone will fail. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-12373) DocBasedVersionConstraintsProcessor doesn't work when schema has required fields
[ https://issues.apache.org/jira/browse/SOLR-12373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16743473#comment-16743473 ] Tomás Fernández Löbbe commented on SOLR-12373: -- [~hossman], let me know if you have any thoughts on the latest patch. I think it addresses your comments. > DocBasedVersionConstraintsProcessor doesn't work when schema has required > fields > > > Key: SOLR-12373 > URL: https://issues.apache.org/jira/browse/SOLR-12373 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Reporter: Tomás Fernández Löbbe >Assignee: Tomás Fernández Löbbe >Priority: Minor > Attachments: SOLR-12373.patch, SOLR-12373.patch, SOLR-12373.patch > > > DocBasedVersionConstraintsProcessor creates tombstones when processing a > delete by id. Those tombstones only have id (or whatever the unique key name > is) and version field(s), however, if the schema defines some required > fields, adding the tombstone will fail. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-12373) DocBasedVersionConstraintsProcessor doesn't work when schema has required fields
[ https://issues.apache.org/jira/browse/SOLR-12373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16721898#comment-16721898 ] Tomás Fernández Löbbe commented on SOLR-12373: -- Updated the patch with the suggestions > DocBasedVersionConstraintsProcessor doesn't work when schema has required > fields > > > Key: SOLR-12373 > URL: https://issues.apache.org/jira/browse/SOLR-12373 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Reporter: Tomás Fernández Löbbe >Assignee: Tomás Fernández Löbbe >Priority: Minor > Attachments: SOLR-12373.patch, SOLR-12373.patch, SOLR-12373.patch > > > DocBasedVersionConstraintsProcessor creates tombstones when processing a > delete by id. Those tombstones only have id (or whatever the unique key name > is) and version field(s), however, if the schema defines some required > fields, adding the tombstone will fail. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-12373) DocBasedVersionConstraintsProcessor doesn't work when schema has required fields
[ https://issues.apache.org/jira/browse/SOLR-12373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16719616#comment-16719616 ] Tomás Fernández Löbbe commented on SOLR-12373: -- Thanks for your review [~hossman], and sorry for the super late response, I got dragged into other million things. Your comments make total sense (specially about breaking the behavior of {{DocBasedVersionConstraintsProcessorFactory}}, I didn’t think about it). I like your suggestion of the tombstone config. In my use case, I want to be able to set a config that works and I don’t want to worry about changes in the schema (new required fields added, etc), which is why I suggested the per field-type approach, so I could extend the tombstone config idea to support, not only field to value mapping but also field type to value (probably in different sections). Though the field type to value should be for those fields that are required in the schema only (otherwise, the tombstone will be full of values) I’m also wondering if what I’m trying to solve is very unique to my use case, and deserves to be a custom URP instead of complicating the config too much for everyone. Honestly, the {{protected createTombstoneDocument(…)}} is already a big win, and I could just extend that single method in a custom plugin. I’m more inclined into this now. > DocBasedVersionConstraintsProcessor doesn't work when schema has required > fields > > > Key: SOLR-12373 > URL: https://issues.apache.org/jira/browse/SOLR-12373 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Reporter: Tomás Fernández Löbbe >Assignee: Tomás Fernández Löbbe >Priority: Minor > Attachments: SOLR-12373.patch, SOLR-12373.patch > > > DocBasedVersionConstraintsProcessor creates tombstones when processing a > delete by id. Those tombstones only have id (or whatever the unique key name > is) and version field(s), however, if the schema defines some required > fields, adding the tombstone will fail. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-12373) DocBasedVersionConstraintsProcessor doesn't work when schema has required fields
[ https://issues.apache.org/jira/browse/SOLR-12373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16481304#comment-16481304 ] Hoss Man commented on SOLR-12373: - Tomas: you've obviously thought about this a lot more then i have, but I have a few concerns about the solution you've presented here... * this approach seems kind of brittle if/when new fieldtypes are added? * one of the nice things about the existing tombstone documents, is that they will generally not match _most_ queries, because they would be absent all fields except the {{id, _version_, and $versionField}} fields ... with this change, tombstone docs could (silently) start matching queries unexpectedly via "sentinal values" that can't be changed w/o writing your own subclass. ** this will even break the existing behavior for existing {{DocBasedVersionConstraintsProcessorFactory}} users who already have {{required="true"}} fields in their schema, if they already use {{DefaultValueUpdateProcessorFactory}} instead of {{default="x"}} in their schema. Here's my strawman counter proposal... * add a new {{tombstone-fields}} config option, which can be a nested {{}} of field name->value mappings * on init, the factory should loop over all "required w/o default" fields in the schema, and log a WARN if any exist which are not mentioned by name in {{tombstone-fields}} ** shouldn't be a fatal error, because of the possibility that the user is using {{DefaultValueUpdateProcessorFactory}} * at request time, the default impl of {{createTombstoneDocument()}} should populate the tombstone document with the values from {{tombstone-fields}} This would give users a little more flexibility on how to deal with what values go in the {{required="true"}} fields, and as an added bonus could be useful even for people who *don't* have {{required="true"}} fields in their schema as a way to add special marker field values to tombstone documents to help exclude them from common searches WDYT? > DocBasedVersionConstraintsProcessor doesn't work when schema has required > fields > > > Key: SOLR-12373 > URL: https://issues.apache.org/jira/browse/SOLR-12373 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Reporter: Tomás Fernández Löbbe >Assignee: Tomás Fernández Löbbe >Priority: Minor > Attachments: SOLR-12373.patch, SOLR-12373.patch > > > DocBasedVersionConstraintsProcessor creates tombstones when processing a > delete by id. Those tombstones only have id (or whatever the unique key name > is) and version field(s), however, if the schema defines some required > fields, adding the tombstone will fail. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-12373) DocBasedVersionConstraintsProcessor doesn't work when schema has required fields
[ https://issues.apache.org/jira/browse/SOLR-12373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16481211#comment-16481211 ] Tomás Fernández Löbbe commented on SOLR-12373: -- Updated patch (and CR) addressing the suggestion. > DocBasedVersionConstraintsProcessor doesn't work when schema has required > fields > > > Key: SOLR-12373 > URL: https://issues.apache.org/jira/browse/SOLR-12373 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Reporter: Tomás Fernández Löbbe >Assignee: Tomás Fernández Löbbe >Priority: Minor > Attachments: SOLR-12373.patch, SOLR-12373.patch > > > DocBasedVersionConstraintsProcessor creates tombstones when processing a > delete by id. Those tombstones only have id (or whatever the unique key name > is) and version field(s), however, if the schema defines some required > fields, adding the tombstone will fail. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-12373) DocBasedVersionConstraintsProcessor doesn't work when schema has required fields
[ https://issues.apache.org/jira/browse/SOLR-12373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16480926#comment-16480926 ] Tomás Fernández Löbbe commented on SOLR-12373: -- Good Idea [~mbraun688]. I'll make the change > DocBasedVersionConstraintsProcessor doesn't work when schema has required > fields > > > Key: SOLR-12373 > URL: https://issues.apache.org/jira/browse/SOLR-12373 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Reporter: Tomás Fernández Löbbe >Assignee: Tomás Fernández Löbbe >Priority: Minor > Attachments: SOLR-12373.patch > > > DocBasedVersionConstraintsProcessor creates tombstones when processing a > delete by id. Those tombstones only have id (or whatever the unique key name > is) and version field(s), however, if the schema defines some required > fields, adding the tombstone will fail. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-12373) DocBasedVersionConstraintsProcessor doesn't work when schema has required fields
[ https://issues.apache.org/jira/browse/SOLR-12373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16480635#comment-16480635 ] Michael Braun commented on SOLR-12373: -- [~tomasflobbe] I can definitely see where this could be a problem and render the tombstone functionality less usable. Should there maybe be additionally a way of overriding what to do on the tombstone document, like making createTombstoneDocument a protected instance method so if someone wants to customize the class more they can, in the event these defaults don't work? > DocBasedVersionConstraintsProcessor doesn't work when schema has required > fields > > > Key: SOLR-12373 > URL: https://issues.apache.org/jira/browse/SOLR-12373 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Reporter: Tomás Fernández Löbbe >Assignee: Tomás Fernández Löbbe >Priority: Minor > Attachments: SOLR-12373.patch > > > DocBasedVersionConstraintsProcessor creates tombstones when processing a > delete by id. Those tombstones only have id (or whatever the unique key name > is) and version field(s), however, if the schema defines some required > fields, adding the tombstone will fail. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-12373) DocBasedVersionConstraintsProcessor doesn't work when schema has required fields
[ https://issues.apache.org/jira/browse/SOLR-12373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16480632#comment-16480632 ] Lucene/Solr QA commented on SOLR-12373: --- | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 1 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} compile {color} | {color:green} 3m 43s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 38s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 2m 38s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} Release audit (RAT) {color} | {color:green} 2m 27s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} Check forbidden APIs {color} | {color:green} 2m 20s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} Validate source patterns {color} | {color:green} 2m 20s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green} 68m 36s{color} | {color:green} core in the patch passed. {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 43s{color} | {color:green} test-framework in the patch passed. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 79m 6s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | JIRA Issue | SOLR-12373 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12924024/SOLR-12373.patch | | Optional Tests | compile javac unit ratsources checkforbiddenapis validatesourcepatterns | | uname | Linux lucene1-us-west 3.13.0-88-generic #135-Ubuntu SMP Wed Jun 8 21:10:42 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | ant | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-SOLR-Build/sourcedir/dev-tools/test-patch/lucene-solr-yetus-personality.sh | | git revision | master / 6826c37 | | ant | version: Apache Ant(TM) version 1.9.3 compiled on April 8 2014 | | Default Java | 1.8.0_172 | | Test Results | https://builds.apache.org/job/PreCommit-SOLR-Build/98/testReport/ | | modules | C: solr/core solr/test-framework U: solr | | Console output | https://builds.apache.org/job/PreCommit-SOLR-Build/98/console | | Powered by | Apache Yetus 0.7.0 http://yetus.apache.org | This message was automatically generated. > DocBasedVersionConstraintsProcessor doesn't work when schema has required > fields > > > Key: SOLR-12373 > URL: https://issues.apache.org/jira/browse/SOLR-12373 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Reporter: Tomás Fernández Löbbe >Assignee: Tomás Fernández Löbbe >Priority: Minor > Attachments: SOLR-12373.patch > > > DocBasedVersionConstraintsProcessor creates tombstones when processing a > delete by id. Those tombstones only have id (or whatever the unique key name > is) and version field(s), however, if the schema defines some required > fields, adding the tombstone will fail. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-12373) DocBasedVersionConstraintsProcessor doesn't work when schema has required fields
[ https://issues.apache.org/jira/browse/SOLR-12373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16479862#comment-16479862 ] Tomás Fernández Löbbe commented on SOLR-12373: -- Created CR [https://reviews.apache.org/r/67203/] in case someone wants to review > DocBasedVersionConstraintsProcessor doesn't work when schema has required > fields > > > Key: SOLR-12373 > URL: https://issues.apache.org/jira/browse/SOLR-12373 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Reporter: Tomás Fernández Löbbe >Assignee: Tomás Fernández Löbbe >Priority: Minor > Attachments: SOLR-12373.patch > > > DocBasedVersionConstraintsProcessor creates tombstones when processing a > delete by id. Those tombstones only have id (or whatever the unique key name > is) and version field(s), however, if the schema defines some required > fields, adding the tombstone will fail. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org