Skip to content

Instantly share code, notes, and snippets.

@rzezeski
rzezeski / gist:5312653
Created April 4, 2013 18:06
where's my comments?
23> rp(R).
{xmlDocument,[{xmlElement,schema,schema,[],
{xmlNamespace,[],[]},
[],1,
[{xmlAttribute,name,[],[],[],
[{schema,1}],
1,[],"default",false},
{xmlAttribute,version,[],[],[],
[{schema,1}],
2,[],"1.5",false}],
@rzezeski
rzezeski / gist:4092898
Created November 17, 2012 02:58
solr single instance vs. distributed search
* Look for most frequent stack:
dtrace -n 'syscall:::entry /execname == "java"/ { @[jstack()] = count(); }'
=== Single Instance Search ===
libc.so.1`ioctl+0x15
libjvm.so`JVM_SocketAvailable+0x31
libnet.so`Java_java_net_PlainSocketImpl_socketAvailable+0x5f
0xfb069d20
@rzezeski
rzezeski / gist:3996286
Created November 1, 2012 20:30
merge index forced compaction
SVNodes = riak_core_vnode_manager:all_vnodes(riak_search_vnode).
GetMIPid = fun(VNodePid) -> element(3,element(4,element(4,element(2,hd(element(2,lists:nth(3,lists:nth(5,element(4,sys:get_status(VNodePid)))))))))) end.
[merge_index:compact(GetMIPid(VNodePid)) || {_,_,VNodePid} <- SVNodes].
@rzezeski
rzezeski / gist:3941804
Created October 23, 2012 21:42
lmao erlang:decode_packet
17:39:48 <{mochiweb_acceptor,init,3}> {erlang,decode_packet,
[httph,
<<"x-riak-meta-user_s: foo\r\nx-riak-meta-description_t: bar\r\nContent-Length: 153426\r\nExpect: 100-continue\r\n\r\n">>,
[]]}
17:39:48 <{mochiweb_acceptor,init,3}> {erlang,decode_packet,3} -> {ok,
{http_header,
0,
"X-Riak-Meta-User_s",
undefined,
@rzezeski
rzezeski / gist:3914565
Created October 18, 2012 20:40
start of yokozuna tagging
curl -XPUT -H 'content-type: text/plain' -H 'x-riak-meta-yz-tags: X-Riak-Meta-Name_s' -H 'x-riak-meta-name_s: zezeski' 'http://localhost:8098/riak/people/ryan' -d "You gonna drink that?"
curl 'http://localhost:8098/search/people?q=X-Riak-Meta-Name_s:zezeski&wt=json' | jsonpp
{
"responseHeader": {
"status": 0,
"QTime": 22,
"params": {
"shards": "127.0.0.1:8093/solr/people",
@rzezeski
rzezeski / gist:3834987
Created October 4, 2012 17:05
yokozuna AAE

This is a demo of Active Anti-Entropy (AAE) in action on Yokozuna.

Three modifications were made to the app.config

  1. Set ring_creation_size to 8.

  2. Comment out the lager console logger (KV AAE is still spammy)

  3. Add {yokozuna, [{entropy_tick, 5000}]}

@rzezeski
rzezeski / gist:3662010
Created September 7, 2012 00:45
yokozuna - use logical partitions
Cut disk usage by half and makes query easier to debug if necessary.
$ curl -vv 'http://localhost:8091/search/fruit?q=text:apple&wt=json' | jsonpp | tee result.out
{
"responseHeader": {
"status": 0,
"QTime": 126,
"params": {
"shards": "127.0.0.1:7981/solr/fruit",
@rzezeski
rzezeski / gist:3250870
Created August 3, 2012 19:53
detect bad merge index files
#!/usr/bin/env escript
%% -*- erlang -*-
-include_lib("kernel/include/file.hrl").
-compile(export_all).
-define(LOG(S), io:format(S)).
-define(LOG(S,A), io:format(S,A)).
main(Dirs) ->
CodePath = case os:getenv("RIAK_LIB") of
@rzezeski
rzezeski / gist:2485252
Created April 25, 2012 01:28
New `riak-admin transfers` output
@rzezeski
rzezeski / gist:2287383
Created April 2, 2012 21:34
fprof PB search/mapred

Get conn

{ok, Pid} = riakc_pb_socket:start_link("127.0.0.1", 8081). 

Set variables

Bucket = <<"spam">>.
Query = <<"Scott">>.
Phases = [ {reduce,{modfun, riak_kv_mapreduce, reduce_identity},[{reduce_phase_only_1, true}],true} ].