Skip to content

v2.0.6 bucket type – incorrectly configured [JIRA: RIAK-2249] #787

@viktoriafordos

Description

@viktoriafordos

Used Riak version is 2.0.6 EE

I think I have found one to do with the new BucketTypes, where interaction with a bucket type that has been incorrectly setup can cause a silent failure (from the client perspective)

Scenario:

  1. Create a cluster with multi backend:
    a. Leveldb
    b. Bitcask
  2. Set the default backend to be the Bitcask storage
  3. Create and activate buckettype <<”leveldb_bucket”>>, with backend = <<”leveldb”>>
  4. Create and activate buckettype <<”wrong_storage”>>, with backend = <<”storage_not_defined”>>
  5. Do a http call on: …/types/leveldb_bucket/buckets/test/keys?keys=true
    Response : {"keys":[]}
  6. Do a http call on: …/types/wrong_storage/buckets?buckets=true or …/types/wrong_storage/buckets/test/keys?keys=true
    Eventual response will be: {"error":"timeout"}

There does not seem to be any validation in the creation of a bucket type that protects/warns the administrator that they are about to break their cluster for anyone trying to interact with a new bucket type, there also doesn’t seem to be anything in the riak toolset (either erlang client or console) that we can use to validate that these bucket type settings are ok.

Note: I haven’t checked what would happen if you have any difference in the backend configuration on a single node (ie: 3 node cluster, 1 node with a missing/different backend name)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions