Hi

I'm trying to do atomic updates with an 'add-distinct' modifier in a Solr 7
cloud. It seems to behave like an 'add' and I end up with double values in
my multiValued field. This only happens with multiple values for the field
in an update (cat:{"add-distinct":["a","b","d"]} exhibits this
problem, cat:{"add-distinct":"a"} doesn't). When running the same update
request with a single core, or a Solr 8 cloud, I get the expected result.

This is a minimal test case with Solr 7.7.3 in cloud mode, 2 nodes, a
collection with shard count 1 and replicationFactor 2, using the
techproducts configset.

$ curl -X POST -H 'Content-Type: text/json' '
http://localhost:8983/solr/techproducts/update?commit=true' --data-binary
'[{"id":123,cat:["a","b","c"]}]'
{
  "responseHeader":{
    "rf":2,
    "status":0,
    "QTime":75}}

$ curl -X POST -H 'Content-Type: text/json' '
http://localhost:8983/solr/techproducts/update?commit=true' --data-binary
'[{"id":123,cat:{"add-distinct":["a","b","d"]}}]'
{
  "responseHeader":{
    "rf":2,
    "status":0,
    "QTime":81}}

$ curl '
http://localhost:8983/solr/techproducts/select?q=id%3A123&omitHeader=true'
{
  "response":{"numFound":1,"start":0,"docs":[
      {
        "id":"123",
        "cat":["a",
          "b",
          "c",
          "a",
          "b",
          "d"],
        "_version_":1668919799351083008}]
  }}

Is this a known issue or am I missing something here?

Kind regards

Thomas Corthals

Reply via email to