Skip to content

Schema Admin via HTTP [JIRA: RIAK-1715] #10

@rzezeski

Description

@rzezeski

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/xml or application/xml.
  • The body is a properly formed Solr schema. See the
    example schema.
  • If the schema name already exists then don't replace the current
    one. Instead return an error to user stating it already exists.
    Need
    to be able to overwrite a schema in case a bad schema is uploaded.
  • TODO: Think about adding param overwrite=true to 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?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions