Skip to content

HTTP API Documentation

agazso edited this page Jan 4, 2012 · 7 revisions

Controller commands

Assuming localhost:8080 is a controller/master node.

Get the master controller:

http://localhost:8080/getMaster

Get the master's HTTP endpoint:

http://localhost:8080/getMasterHttp

Get the JSON config state:

http://localhost:8080/json/getConfigState

Unregister a shard server permanently from the ScalienDB cluster:

http://localhost:8080/unregisterShardserver?nodeID=100

Create a quorum:

http://localhost:8080/createQuorum?nodes=100,101&name=quorum123 (name is optional)

Rename a quorum:

http://localhost:8080/renameQuorum?quorumID=1&name=quorum123

Delete a quorum:

http://localhost:8080/deleteQuorum?quorumID=1

Add a shard server to a quorum:

http://localhost:8080/addShardserverToQuorum?quorumID=1&nodeID=100

Remove a shard server from a quorum:

http://localhost:8080/removeShardserverFromQuorum?quorumID=1&nodeID=100

Create a database:

http://localhost:8080/createDatabase?name=dbName

Rename a database:

http://localhost:8080/renameDatabase?databaseID=1&name=dbName

Delete a database:

http://localhost:8080/deleteDatabase?databaseID=1

Create a table:

http://localhost:8080/createTable?databaseID=1&quorumID=1&name=tableName

Rename a table:

http://localhost:8080/renameTable?tableID=1&name=tableName

Delete a table:

http://localhost:8080/deleteTable?tableID=1

Truncate a table:

http://localhost:8080/truncateTable?tableID=1

Freeze a table (no more automatic shard splits):

http://localhost:8080/freezeTable?tableID=1

Unfreeze a table:

http://localhost:8080/unfreezeTable?tableID=1

Split a shard at a given key:

http://localhost:8080/splitShard?shardID=1&key=foo

Migrate a shard to a new quorum:

http://localhost:8080/migrateShard?shardID=1&quorumID=2

Shard server commands

Assuming localhost:8090 is a shard server.

Get:

http://localhost:8090/get?tableID=1&key=foo

Set:

http://localhost:8090/get?tableID=1&key=foo&value=bar

Delete:

http://localhost:8090/delete?tableID=1&key=foo

Add:

http://localhost:8090/add?tableID=1&key=cnt&number=42

List keys:

http://localhost:8090/listkeys?tableID=1&prefix=foo&startKey=foobar&endKey=foofoo&count=100

All except tableID are optional.

List key values:

http://localhost:8090/listkeyvalues?tableID=1&prefix=foo&startKey=foobar&endKey=foofoo&count=100

All except tableID are optional.

Count keys:

http://localhost:8090/count?tableID=1&prefix=foo&startKey=foobar&endKey=foofoo

All except tableID are optional.

Debug commands

Turn trace on/off:

http://localhost:8080/settings?trace=on/off

Turn chunk merging on/off:

http://localhost:8090/settings?merge=on/off

The rest applies to shard servers only.

Print storage information (shards, chunks):

http://localhost:8090/storage

Print various stats:

http://localhost:8090/stats

Print memory stats:

http://localhost:8090/memory