You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "ananthesh (JIRA)" <ji...@apache.org> on 2017/10/25 19:19:00 UTC

[jira] [Updated] (SOLR-11550) 'addChildDocument' does not maintain the atomicity

     [ https://issues.apache.org/jira/browse/SOLR-11550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ananthesh updated SOLR-11550:
-----------------------------
    Description: 
We are using the _addChildDocument_ functionality of the solrj, along with the _overwrite_ parameter set _true_. We do have set the softCommit and hardCommit which are set. What we are observing is that the parent document and the child document have different '\_version\_', along with the parent and child documents are not consecutive. Here it looks like
{noformat}
{
        "id":"8197105",
        "_version_":1582256304742727680,
        "[docid]":274136},
      {
        "id":"10073563",
        "_version_":1582255855082930176,
        "[docid]":140176},
      {
        "parentId":"10073563",
        "id":"10073563_8230858",
        "_version_":1582255855082930176,
        "[docid]":140175},
      {
        "parentId":"10073563",
        "id":"10073563_8355551",
        "_version_":1582255855082930176,
        "[docid]":140174},
      {
        "parentId":"8197105",
        "id":"8197105_8197109",
        "_version_":1582255855066152960,
        "[docid]":140173},
      {
        "parentId":"8197105",
        "id":"8197105_8197108",
        "_version_":1582255855066152960,
        "[docid]":140172}
  }
{noformat}

In the above example mentioned, _parentId_ represents the _parentId_ of the document. While, those documents does not have the _parentId_ represents parent document.  As per the above example, between the parent-child documents of 8197105, there is another set of parent-child document which got indexed which belong to 10073563.

Because of the above issue, BlockJoinQuery will start returning wrong results

  was:
We are using the _addChildDocument_ functionality of the solrj, along with the _overwrite_ parameter set _true_. We do have set the softCommit and hardCommit which are set. What we are observing is that the parent document and the child document have different '\_version\_', along with the parent and child documents are not consecutive. Here it looks like
{noformat}
{
        "id":"8197105",
        "_version_":1582256304742727680,
        "[docid]":274136},
      {
        "id":"10073563",
        "_version_":1582255855082930176,
        "[docid]":140176},
      {
        "parentId":"10073563",
        "id":"10073563_8230858",
        "_version_":1582255855082930176,
        "[docid]":140175},
      {
        "parentId":"10073563",
        "id":"10073563_8355551",
        "_version_":1582255855082930176,
        "[docid]":140174},
      {
        "parentId":"8197105",
        "id":"8197105_8197109",
        "_version_":1582255855066152960,
        "[docid]":140173},
      {
        "parentId":"8197105",
        "id":"8197105_8197108",
        "_version_":1582255855066152960,
        "[docid]":140172}
  }
{noformat}

Because of which BlockJoinQuery is returning wrong results


> 'addChildDocument' does not maintain the atomicity
> --------------------------------------------------
>
>                 Key: SOLR-11550
>                 URL: https://issues.apache.org/jira/browse/SOLR-11550
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: ananthesh
>             Fix For: 6.6.1
>
>
> We are using the _addChildDocument_ functionality of the solrj, along with the _overwrite_ parameter set _true_. We do have set the softCommit and hardCommit which are set. What we are observing is that the parent document and the child document have different '\_version\_', along with the parent and child documents are not consecutive. Here it looks like
> {noformat}
> {
>         "id":"8197105",
>         "_version_":1582256304742727680,
>         "[docid]":274136},
>       {
>         "id":"10073563",
>         "_version_":1582255855082930176,
>         "[docid]":140176},
>       {
>         "parentId":"10073563",
>         "id":"10073563_8230858",
>         "_version_":1582255855082930176,
>         "[docid]":140175},
>       {
>         "parentId":"10073563",
>         "id":"10073563_8355551",
>         "_version_":1582255855082930176,
>         "[docid]":140174},
>       {
>         "parentId":"8197105",
>         "id":"8197105_8197109",
>         "_version_":1582255855066152960,
>         "[docid]":140173},
>       {
>         "parentId":"8197105",
>         "id":"8197105_8197108",
>         "_version_":1582255855066152960,
>         "[docid]":140172}
>   }
> {noformat}
> In the above example mentioned, _parentId_ represents the _parentId_ of the document. While, those documents does not have the _parentId_ represents parent document.  As per the above example, between the parent-child documents of 8197105, there is another set of parent-child document which got indexed which belong to 10073563.
> Because of the above issue, BlockJoinQuery will start returning wrong results



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org