Hi all,

Atomic updates are failing for me with routing errors. Collection router is 
compositeId with router.field=join_s.

Below are examples of some of the calls I tried to make and the errors I saw 
for them -

# Doc: id=DOC123, join_s=DOC123, date=2012-03-12T18:30:00Z

# Atomic update via alias, passing route + date:
curl -X POST 
'https://example.com/solr/my_content_alias/update?commit=true&_route_=DOC123' \
  -H 'Content-Type: application/json' \
  --data-binary '[
    {"id":"DOC123","date":"2012-03-12T18:30:00Z",
     "fieldA":{"set":[1]},
     "fieldB":{"set":["a","b"]}}
  ]'
Error - 400  "No value for :join_s. Unable to identify shard"

# Atomic update via backing collection (no alias), with _route_ or shard.keys:
curl -X POST 
'https://example.com/solr/my_content__TRA__2012-01-01/update?commit=true&_route_=DOC123'
 ...
Error - 400  "Unexpected type of routeKey: null"

# Atomic via leader core + distrib=false:
curl -X POST 
'https://example.com/solr/my_content__TRA__2012-01-01_shard2_replica_t4/update?commit=true&distrib=false'
 ...
Error - 400  "Unexpected type of routeKey: null"

Are there known limitations or required parameters for atomic updates through a 
TRA when the collection uses router.field=join_s? What’s the recommended way to 
provide the shard key in this setup? Should _route_ work, is there another 
param/header I am missing? Any pointers appreciated!

Thanks!

Srilekhya Kalahasty

Reply via email to