Hi guys, I still struggle with bucket types and have some questions. Going back a year I could not find many threads about it, but forgive me if I missed something and am asking already-answered questions.
## Cluster-awareness I've understood so far that bucket types are used as part of the namespace, and that they can also hold additional configuration properties (such as datatypes). I've also read that they are "lightweight", and are not being "gossiped around the cluster" compared to properties set on buckets directly. Because of this they are recommended for bucket configuration; in fact configuration of newer properties (CRDT) are only available via bucket types. The statement about "not gossiped around the cluster" makes me wonder: does that mean that the bucket types must be defined (and activated?) on each cluster node? The documentation at [http://docs.basho.com/riak/kv/2.2.0/using/cluster-operations/bucket-types/] does not explain this. I find the example at this link actually really confusing: A bucket type is created _without properties_, and then a property is set on the individual bucket. I thought, you're exactly not supposed to do that but rather use plenty of bucket types...?! (Yes, the example further down explains that the bucket type could be defined with the property; but why is it shown here as if this is the exception?) ## API-availability of bucket type creation I've seen [this thread](http://lists.basho.com/pipermail/riak-users_lists.basho.com/2016-July/018574.html) about programatically creating bucket-types. Is there any progress on this? I really really struggle with the concept that bucket types are supposed to be created _manually_, _on the node(s)_ themselves. How would the application know if this has happened or not? And what should it do if not - fail? In my eyes, the application is responsible for ensuring "data definition", not an admin. At startup the application should check the environment against its expectations and make the necessary changes. An example of this is schema versioning in relational databases. If this would require administrator interaction, the synchronisation required is immense. How do others deal with this situation? I couldn't find anything regarding bucket-types in [javadoc](http://basho.github.io/riak-java-client/2.1.0/), so I assume this is not available yet. Thank you for your help and information! Cheers, Henning _______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com