Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-4080

SolrJ: CloudSolrServer atomic updates doesn´t work with Lists/Arrays (Objects, in general).

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 4.0
    • Fix Version/s: 4.1
    • Component/s: SolrCloud
    • Labels:
      None
    • Environment:

      Solr 4.0 with SolrCloud deployed with two SolrServers with shards=1. solr-solrj artifact version 4.0.0 is used to execute atomic update operations.

      Description

      Atomic updates with a CloudSolrServer object instance doesn´t work properly.

      • Code snippet:

      // CloudSolrSever instance.
      LBHttpSolrServer lbSolrServer = new LBHttpSolrServer(solrEndpoints);
      CloudSolrServer cloudSolrServer = new CloudSolrServer(zookeeperEndpoints, lbSolrServer);

      // SolrInputDocument to update:
      SolrInputDocument do = ne SolrInputDocument();
      doc.addField("id", "myId");

      Map<String, List<String>> operation = new HashMap<String, List<String>>();
      operation.put("set", [[a list of String elements]]); // I want a set operation to override field values.
      doc.addField("fieldName", operation);

      // Atomic update operation.
      cloudSolrServer.add(doc);

      • Result:

      doc: {
      id: "myId",
      fieldName: [ "

      {set=values}

      "
      ],

      ...
      }

      • Changing map from snippet like Map operation = new HashMap() instead of Map<String, List<String>> operation = new HashMap<String, List<String>>() obtains the following result after the atomic update:

      doc: {
      id: "myId",
      fieldName: ["[Value1, Value2]"
      ],

      ...
      }

      • Also, the old value is never erased, and instead of a "set" operation an "add" operation happens.

      CONCLUSION: during an atomic update with CloudSolrServer the List/Array/Object value passed is being processed with just a toString() method.

        Attachments

        1. SOLR-4080.patch
          2 kB
          Shalin Shekhar Mangar

          Issue Links

            Activity

              People

              • Assignee:
                shalin Shalin Shekhar Mangar
                Reporter:
                luiscappa Luis Cappa Banda
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: