Giter Site home page Giter Site logo

basho / basho_docs Goto Github PK

View Code? Open in Web Editor NEW
169.0 79.0 191.0 41 MB

Basho Products Documentation

Home Page: http://docs.basho.com

License: Other

Ruby 14.73% HTML 16.07% Erlang 0.69% JavaScript 3.21% CoffeeScript 18.45% Java 2.45% Shell 0.16% SCSS 44.24%

basho_docs's People

Contributors

alexmoore avatar axilleas avatar bob-the-marauder avatar ches avatar christophermancini avatar cvitter avatar dannylauca avatar erjohnson avatar hmmr avatar hypernumbers avatar jenafermiller avatar jpease avatar kaitcarter avatar ksauzz avatar lastzero avatar lo5an avatar lrnrthr avatar lucafavatella avatar lukebakken avatar macintux avatar martinsumner avatar mplewis avatar oliryde avatar pogzie avatar pyrrho avatar rilussion avatar roooms avatar shaneutt avatar singulared avatar smarj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

basho_docs's Issues

Changing the -name option

The documentation doesn't mention what will occur if a user starts a node, stops it, modifies the value of the -name option in vm.args, and then starts the node again.

There should be a note for relevant content advising:

  1. This should not be done
  2. If it is a devrel or similar, advise recovery is possible by simply removing the ring data.
  3. If removing the ring data is not feasible, the user must riak-admin reip or (preferably) riak-admin cluster replace the nodes to have the new -name values honored and not error on node startup.

Target documentation pages:

Warn about qfun's fragility

The Erlang API section of http://docs.basho.com/riak/latest/references/appendices/MapReduce-Implementation/ explains the different options for specifying the function to be run in a map or reduce phase. Warnings should be placed around the qfun form to inform users about the fragility of using it.

The warning should address three concerns:

  1. The module in which the function is defined must be present and exactly the same version on both the client and Riak nodes.
  2. Any modules and functions used by this function (or any function in the resulting call stack) must also be present on the Riak nodes.
  3. Errors about failures to ensure both 1 and 2 are often surprising, usually seen as opaque missing-function or function-clause errors. Especially in the case of differing module versions, this can be difficult to diagnose without expecting the issue and knowing of Module:info/0.

More information needed

So a couple of things:

  • There should really be more (and structured) use cases for Riak on the wiki page, explaining common data modelling scenarios (especially including 2i for 'relations')
  • Next to list_keys() and list_buckets() there should be more information about alternative approaches or links to more information if the use case really requires a listing of all keys or buckets.

Source link on each doc page to facilitate community fixes

In order to facilitate more rapid fixes for doc issues from the community it would be useful to have a link from each doc page back to its source here.

This would substantially lower the barrier between noticing an issue and directly fixing it.

This is an awesome way to do documentation.

Improve/Streamline the Fast Track

The Fast Track needs a lot of work, not the least of which is that. Some thoughts:

  1. separate user/operator tracks
  2. remove the link walking portion entirely
  3. mapreduce needs simplified
  4. examples could use code snippets rather than the HTTP interface
  5. a shorter "Get Started in 5 Minutes" guide, perhaps the very first portion of the fast track

Simplify Community section

Right now we have a community nav link, which splits into "resources" and everything else. We don't make very clear what exactly a "resource" is. I'd love to be able to combine some of these pages to reduce the total count, making it easier to navigate our community support.

Some of this information can be inlined into other sections. For example, we have "Start Here" that contains introductory material, then "Introductions" under Community. Same with "Developing with Riak". It may be topologically cleaner to fold those community resources into the core introduction narrative.

I originally followed the wiki layout when it came to community resources, only because they were being changed while I was trying to build a sitemap. But I'm still interested in cleaning this whole section up.

Mac OS instructions should give caveats for MacPorts Erlang.

I've not tried Homebrew, but MacPorts will only install the most recent version of Erlang. Your docs specifically say that the most recent Erlang can't be used.

So your Mac OS build instructions should really specify "kerl".

I've used "kerl" here and It seems to have done something, though I'm running into lots of other problems with your documentation so haven't actually been able to build anything.

Concepts need some love

Over the years things have changed in Riak. More importantly, we have collectively learned some things that render some of our existing concepts to be somewhat misinformed.

Go through the Concepts section with a fine-toothed comb and ensure that everything we say is accurate

http://docs.basho.com/riak/latest/references/appendices/concepts/

For example: "R + W > N ensures strong consistency in a cluster," under "Eventual Consistency" is incorrect.

Many claims we make with W are more appropriately made with DW or PW.

Moreover, simply reducing the wordiness of some of these concepts would go a long way to ensuring we stay up-to-date with the latest research.

When trying to install middleman for the docs...

I keep running into various issues. I'm putting together a blog entry based around what I'm doing to resolve it, but this is the part that's holding me up right now. It's based on breakage installing blockenspiel for the middleman requirement, a native component doesn't have the executable building.

Here's the issue I've created directly @ the blockspeil repo.

dazuma/blockenspiel#7

Document steps to rename a node on a running cluster

The http://docs.basho.com/riak/latest/references/Command-Line-Tools---riak-admin/ under the reip and cluster-replace sections should explain the steps to change a nodename safely on a running cluster.

Steps are:

  1. Stop the node
  2. Change vm.args to put in the new node name
  3. Rename or remove the data/ring directory
  4. Mark the old nodename as down from any running node. riak-admin down
  5. Start the node
  6. Once the node is started, have it join the existing cluster
  7. Do not commit the cluster change
  8. Force-replace
  9. Confirm correct cluster topology using riak-admin cluster plan
  10. Cluster commit to commit the changes

Documentation doesn't mention the R15B03 version of Erlang

The documentation, e.g. the Fast Track Tutorial says explicitly that the R15B02 version of Erlang shouldn't be used, but it doesn't mention the R15B03 version.

This is highly confusing for beginners (like myself), who end up assuming that the documentation is simply out of date, and therefore try using R15B03 (which causes crashes when you start riak, at least for me).

"Fast Track" is very slow.

http://docs.basho.com/riak/latest/tutorials/fast-track/

claims

"From start to finish, this will probably take you around 45 minutes."

So far, this has been pretty frustrating.

Apart from the errors in the instructions, it's not clear to me why I can't use the precompiled version. Would it be possible to include enough of a Makefile to support "make devrel" in the precompiled release?

For reference, I'm trying to run Riak on Mac OS for experimentation. Eventual deployment would be on Linux.

bucket property description

sites http://wiki.basho.com/Buckets.html or http://wiki.basho.com/Configuration-Files.html mention basic read/write properties but miss explanation

I would also change w description so it clearly states that vnode doesn't have to save object to persistent storage, it suffices to just receive request (below is my proposition)

rw - quorum for both operations (get and put) involved in deleting an object (default is set at the bucket level)
r - (read quorum) how many replicas need to agree when retrieving the object
w - (write quorum) how many vnodes must confirm reviving write request before returning a successful response
dw - (durable write quorum) how many replicas to commit to durable storage before returning a successful response
pr - (primary read quorum) works like r but requires that the nodes read from are not fallback nodes
pw - (primary write quorum) how many replicas to commit to primary nodes before returning a successful response

I ve found above on http://wiki.basho.com/HTTP-Delete-Object.html which is weird place to look for this.

plus I would like to add more explanation what exactly is primary node

Adding riak apt-repository has wrong command:

http://docs.basho.com/riak/latest/tutorials/installation/Installing-on-Debian-and-Ubuntu/#Installing-From-Apt-Get

I think there was a copy and paste error from my original instructions:

https://github.com/basho/internal_wiki/wiki/Riak-Package-Repositories

Currently it is:

sudo bash -c "echo deb http://apt.basho.com lsb_release -sc main > /etc/apt/sources.list.d/basho.list"

as per my doc it should be:

sudo bash -c "echo deb http://apt.basho.com `lsb_release -sc` main > /etc/apt/sources.list.d/basho.list"

but in retrospect I think the cleanest way should be:

sudo bash -c "echo deb http://apt.basho.com $(lsb_release -sc) main > /etc/apt/sources.list.d/basho.list"

Move Riak CS project wiki docs to public docs

Riak CS still contains important documents in it's github wiki pages. To avoid two sets of docs getting out of sync, I propose moving all project wiki information into basho docs, and removing the user-focused wiki pages entirely (to avoid both version skew and clarify where all information lives).

Riak CS Wiki

More emphasis on PW parameter.

I feel like even seasoned users of Riak might not quite understand partitioning and how it can affect their data.

Particularly of interest for me is one of the ways you can avoid concurrent writes to a partition with a bunch of fallback nodes[1]: use pw=QUORUM.

This is very useful but as far as I can see PW is only just basically defined in the docs and not why pw might be useful. (And for example, take a look here: http://docs.basho.com/riak/latest/references/appendices/concepts/Riak-Glossary/#Quorum where pw is not even mentioned.)

  1. that is, say you have a single node partition, which would have fallback vnodes representing the rest of the cluster

Add note for Retrieving a List of All Users section of RiakCS

On the RiakCS Account Management page, in the 'Retrieving a List of All Users' section there should be some sort of note indicating that @endpoints variable in s3curl.pl will need to be edited to include the hostname that you're trying to get the users list from. That particular change is not intuitive and has caused a couple people a few hours of headache.

document typo?

does't -> doesn't

$ git diff
diff --git a/source/riak/tutorials/choosing-a-backend/Bitcask.md b/source/riak/tutorials/choosing-a-backend/Bitcask.md
index 9208f60..c3f2ec1 100644
--- a/source/riak/tutorials/choosing-a-backend/Bitcask.md
+++ b/source/riak/tutorials/choosing-a-backend/Bitcask.md
@@ -144,7 +144,7 @@ in your [[app.config|Configuration Files]].
 ]}

-<div class="note"><div class="title">Bitcask does't actually set O_SYNC on
+<div class="note"><div class="title">Bitcask doesn't actually set O_SYNC on
 Linux</div><p>At the time of this writing, due to an unresolved Linux <a
 href="http://permalink.gmane.org/gmane.linux.kernel/1123952">kernel issue</a>
 related to the <a

"Installing Riak from Source" broken because tarball isn't a git checkout.

http://docs.basho.com/riak/latest/tutorials/installation/Installing-Riak-from-Source/

Has a pretty basic problem. The source tarball does not have a .git directory, so it's not a git working copy.

$ cd riak-1.3.0
$ make rel
fatal: Not a git repository (or any of the parent directories): .git
./rebar get-deps
env: escript: No such file or directory

The instructions should either be changed to specify cloning the source from github or "make rel" should be fixed or the tarball should be updated to include a .git file.

listing riak-cs uses requires additional step

riakcs/cookbooks/Account-Management/#Retrieving-a-List-of-All-Users:

Listing riak-cs users requires that s3curl.pl be modified to add the custom endpoint:

my @endpoints = ('my.riakcs.com',
                  's3.amazonaws.com',
                  's3-us-west-1.amazonaws.com',
                  's3-us-west-2.amazonaws.com',
                  's3-us-gov-west-1.amazonaws.com',
                  's3-eu-west-1.amazonaws.com',
                  's3-ap-southeast-1.amazonaws.com',
                  's3-ap-northeast-1.amazonaws.com',
                  's3-sa-east-1.amazonaws.com', );

Bitcask merge window setting clarifications.

@tisba from IRC notes that merge windows set in multi-backend don't work. We should note that must be set in the global bitcask section of the app.config file and clarify how setting precedence works when using multi-backend.

From Joe:

re: bitcask changeable options
when a bitcask backend is started, it is passed (Dir, Opts)
whenever it needs to obtain the value of any option, it first checks its Opts structure - which is maintained per backend, and if not found there then get_env(bitcask
when running in a multi-backend config the entire block of options listed under multi-backed is passed in as Opts
so only options not set in the multi-backend subset can be changed on the fly
with the exception of max_file_size and expiry_secs - they are explicitly copied from global to local during startup

there is only 1 merge worker for the entire node
so it can't use per-backend settings for merge window
the multi-backend settings are passed to the bitcask backend when it starts
but merging is controlled from an app-level worker, not from the backend
any merge_window setting below the multi-backend bit is probably ignored

I think the problem here is that a lot of settings were lumped under
"bitcask" before multi-backend existed
which made sense in that context
but the merge worker doesn't have access to the private vars of individual backend instance
It looks like when each vnode starts it starts the bitcask app if it isn't already
and when the bitcask app starts, it starts a merge_worker
the only get_env I see in the merge_worker code is the one for merge_window
perhaps we should suggest making bitcask_merge_window a top-level option to disambiguate
so then we can say "anything you can set in the bitcask section can be set in a multi-backend bitcask"

Add link to Basho Docs GH repo

I 'm having trouble finding a link to the Basho Docs repo on GH. Unless I'm blind with RICON prep madness and am missing something obvious, we need to make this more apparent.

Craft Lager Documentation

Currently, valid Lager settings are scattered all over God's Green Earth.

This might take a fair bit of work. A possible avenue of attack is:

  1. Start with a bullet list of all options in Configuration-Files.md
  2. Create a document, possibly starting with Lager Readme, pulling in all resources.
  3. Fill out deeper details and links in Configuration-Files.md
  4. Profit

Clean up/Expand Backend docs

Right now, the backend reference/cookbooks are conflated with the tutorials on how to choose a backend. These serve different purposes and should be separated.

We should keep and simplify the "choosing a backend" tutorials, then create a more detailed set of docs which cover Configuring, Tuning, Recovery and possibly other deeper analyses, like Leveldb's "implementation details" section.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.