-
Notifications
You must be signed in to change notification settings - Fork 74
Open
Labels
Milestone
Description
Yokozuna should have the ability to create and modify schemas
remotely, HTTP for this specific issue.
There are still a lot of questions regarding this issue. The
fundamental ones are:
- Can a running system cope with schema changes? If so, how can it be
done safely? - Can schemas be modified piecemeal or must it be all-or-nothing?
- Can JSON be used to read/modify/write the schema?
- Should concurrent writers/siblings be accounted for? I'm a little
less worried about concurrent writers in a healthy cluster and more
worried about partitioned writes. Would PW/PR/DW/W/R=N be good
enough?
Specification
- The resource:
<host-port>/yokozuna/schema/<schema-name>
GET
- Return the schema with content type of
application/xml. TODO: allow to pick-out subset of schema to return, e.g. a list of
fields?TODO: allow to return in JSON format?
PUT
- Accepts
text/xmlorapplication/xml. - The body is a properly formed Solr schema. See the
example schema. If the schema name already exists then don't replace the currentNeed
one. Instead return an error to user stating it already exists.
to be able to overwrite a schema in case a bad schema is uploaded.- TODO: Think about adding param
overwrite=trueto bypass the
previous check allowing the user to overwrite the current schema
definition. This has to be thought about carefully because changing
schemas could cause issues.
POST
TODO: Think about allowing POSTs to add to or modify a subset of a
schema. E.g. adding a new field without read/modify/write of entire
schema.
DELETE
TODO: Do we allow deletes of schemas?