Skip to content

Instantly share code, notes, and snippets.

@seancribbs
Created January 16, 2013 18:47
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save seancribbs/4549661 to your computer and use it in GitHub Desktop.
Save seancribbs/4549661 to your computer and use it in GitHub Desktop.
riak_object xrefs / leakage

riak_object:bucket/key types should be in different module

riak_client:put increments vclock

riak_index is riak_object only

riak_kv_backup

  • Move serialize/deserialize into crdt/riak_object

riak_kv_delete

  • vclock used directly
  • tombstone logic should be in riak_object
  • quora stuff is duplicated from other modules

riak_kv_encoding_migrate is from 0.14 or 1.0, can we remove?

riak_kv_get_core

  • types use riak_object:riak_object()
  • tombstone logic leaks out in response/1
  • strict_descendant has vclock logic, merge

riak_kv_get_fsm

  • types use riak_object types
  • value_count, bucket in update_stats
  • get_contents in calculate_objsize, should use serialize/deserialize
  • tests!!!

riak_kv_index_hashtree

  • hash_object uses riak_object internals

riak_kv_js_vm

  • batch_dispatch uses riak_object:to_json

riak_kv_legacy_vnode

  • Ready to remove?

riak_kv_mapreduce

  • map_object_value
  • types!
  • map_object_value_list
  • tests

riak_kv_memory_backend

  • types!

riak_kv_mrc_map

  • init_phase -> get_value
  • map_js -> to_json
  • link_phase -> bucket

riak_kv_mrc_pipe

  • example_setup (eunit stuff)

riak_kv_multi_backend

  • types!

riak_kv_put_core

  • types!
  • final -> riak_object:reconcile, allow_mult

riak_kv_put_fsm

  • init -> bucket/key
  • prepare -> bucket
  • precommit -> apply_updates
  • process_reply -> get_values (to send to postcommit)
  • apply_updates -> apply_updates
  • update_last_modified -> metadatas!
  • make_vtag should be in riak_object (internal)
  • decode_precommit

riak_kv_util

  • is_x_deleted/obj_not_deleted

riak_kv_vnode

  • local_put (testing only?) -> bucket/key
  • do_backend_delete -> diff_index_specs
  • prepare_put -> increment_vclock, index_specs, vclock, diff_index_specs, set_vclock
  • enforce_allow_mult -> get/set_contents
  • put_merge -> syntactic_merge, increment_vclock, vclock shit
  • do_get_vclock -> vclocks!!!!
  • do_diffobj_put -> index_specs, diff_index_specs
  • TEST backend_with_known_key

riak_kv_w_reduce

  • stored_source -> get_value

riak_kv_wm_link_walker

  • links -> get_metadatas
  • types!
  • multipart_encode_body -> get_contents, bucket/key

riak_kv_wm_object

  • resource_exists -> get_metadatas
  • accept_doc_body -> new, set_vclock, update_metadata, update_value
  • multiple_choices -> get_update_value, value_count
  • produce_sibling_message_body -> get_metadatas
  • produce_multipart_body -> get_contents
  • select_doc -> get_update_value, get_contents, get_update_metadata
  • vclock_header -> riak_object:vclock
  • generate_etag -> vclock
  • last_modified -> get_metadatas
  • normalize_last_modified -> fetches from the M

riak_kv_wm_utils

  • vclock_header -> vclock

riak_kv_yessir_backend

  • types!
  • get -> increment_vclock, new
  • fold_objects_fun -> increment_vclock, new
@joedevivo
Copy link

I'm sooo over this TODO.org

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment