Thanks again for the insight, I did lower the frequency and expiration dates a bit. I'm sure that will resolve itself when actual data is in use. I have made further development with the proxying issue, as far as narrowing it down to client_body_buffer_size:
http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size 2013/11/15 00:13:03 [warn] 2696#0: *20 a client request body is buffered to a temporary file /var/cache/nginx/client_temp/0000000004, client: 192.168.1.1, server: cs.domain.com, request: "PUT /huge/Windows7Ultimate.iso?partNumber=2&uploadId=L9kmj1rNTomi_ZRnHZapvw== HTTP/1.1", host: "big.cs.domain.com" Checking out the nginx mailing list for any available solutions before I consider HAProxy. http://mailman.nginx.org/pipermail/nginx/2013-November/041104.html Thanks again and I appreciate the help. On Thu, Nov 14, 2013 at 12:25 PM, Kelly McLaughlin <ke...@basho.com> wrote: > Andrew, > > There is no tuning necessary for read-repairs. They happen automatically, > but only when you read the object. So if your access pattern involves > frequent read access to your data the repairs will just happen. > > The other option is active anti-entropy. This is basically a way for Riak > to repair data in the background without relying on access pattern. It is > configured in the Riak app.config and you can find more info about the > configuration options under the 'riak_kv settings' section here: > http://docs.basho.com/riak/latest/ops/advanced/configs/configuration-files/ > . > > Hope that helps. > > Kelly > > On November 14, 2013 at 9:57:12 AM, Andrew Tynefield > (atynefi...@gmail.com<//atynefi...@gmail.com>) > wrote: > > Thanks again, Kelly, for your response. > > I continued playing with things last night and > updated fold_objects_for_list_keys across the nodes to be true and > performed a full roll of the stack, that seems to have sped up the replies. > But, the lol bucket was still returning differing results. > > I added the second node to my nginx config and have it load balancing > between the two nodes now, same results. However, I just performed 5-10 > recursive get's on the lol bucket and it seems that did the trick. Getting > consistent values in response to the ls: > > (10:51:14) [andrew/desktop] ~ $ s3cmd ls s3://lol > DIR s3://lol/kitties/ > 2013-11-13 14:59 93107 s3://lol/_1 > 2013-11-13 22:20 84513 s3://lol/kitty.jpg > (10:51:39) [andrew/desktop] ~ $ s3cmd ls s3://lol > DIR s3://lol/kitties/ > 2013-11-13 14:59 93107 s3://lol/_1 > 2013-11-13 22:20 84513 s3://lol/kitty.jpg > (10:51:40) [andrew/desktop] ~ $ s3cmd ls s3://lol > DIR s3://lol/kitties/ > 2013-11-13 14:59 93107 s3://lol/_1 > 2013-11-13 22:20 84513 s3://lol/kitty.jpg > (10:51:41) [andrew/desktop] ~ $ s3cmd ls s3://lol > DIR s3://lol/kitties/ > 2013-11-13 14:59 93107 s3://lol/_1 > 2013-11-13 22:20 84513 s3://lol/kitty.jpg > (10:51:42) [andrew/desktop] ~ $ s3cmd ls s3://lol > DIR s3://lol/kitties/ > 2013-11-13 14:59 93107 s3://lol/_1 > 2013-11-13 22:20 84513 s3://lol/kitty.jpg > (10:51:43) [andrew/desktop] ~ $ s3cmd ls s3://lol > DIR s3://lol/kitties/ > 2013-11-13 14:59 93107 s3://lol/_1 > 2013-11-13 22:20 84513 s3://lol/kitty.jpg > > I was wondering how I can tune against issues like this, but keep the same > performance that's currently in place. I'm not very familiar with > performing read-repairs. Look forward to any assistance with this. > > Thanks, > Andrew > > > On Thu, Nov 14, 2013 at 10:37 AM, Kelly McLaughlin <ke...@basho.com>wrote: > >> Andrew, >> >> Are you able to successfully download all the files in the lol bucket? >> It seems like you have some replicas in Riak that do not have copies of all >> of the data from that bucket. That can be resolved in two ways: read-repair >> or active anti-entropy. So I would expect doing a read of each object would >> resolve the issue with differences in bucket listing attempts. >> >> Another thing I would recommend since you are on the Riak 1.4 series is >> to set fold_objects_for_list_keys to true in your Riak CS app.config. It >> enables improvements to bucket listing that rely on features in Riak 1.4 >> and should give you better results. >> >> I am not certain about the upload issue with the proxy. It does seem >> like a proxy issue since the upload succeeds when performed directly >> against the node, but I am not familiar enough with nginx configuration to >> spot any issues. >> >> Cheers, >> >> Kelly >> >> On November 13, 2013 at 10:24:42 PM, Andrew Tynefield ( >> atynefi...@gmail.com <//atynefi...@gmail.com>) wrote: >> >> I appreciate the help Kelly! ( And sorry for the double mail you're >> going to get, accidentally didn't reply to all. ) I've provided the >> requested information below. >> >> app.config: >> http://pastebin.centos.org/5716/ >> >> app.config for riak-cs is managed by puppet, installing the same file on >> both nodes. >> >> riak-admin data: >> >> (10:58:46) [riak] ~ $ riak-admin ring-status >> ================================== Claimant >> =================================== >> Claimant: 'r...@riak.tyne.io' >> Status: up >> Ring Ready: true >> >> ============================== Ownership Handoff >> ============================== >> No pending changes. >> >> ============================== Unreachable Nodes >> ============================== >> All nodes are up and reachable >> >> (10:58:54) [riak] ~ $ riak-admin member-status >> ================================= Membership >> ================================== >> Status Ring Pending Node >> ------------------------------------------------------------------------------- >> valid 50.0% -- 'r...@riak.tyne.io' >> valid 50.0% -- 'r...@riak1.tyne.io' >> ------------------------------------------------------------------------------- >> Valid:2 / Leaving:0 / Exiting:0 / Joining:0 / Down:0 >> >> network data: >> >> (11:05:51) [riak] ~ $ ip a | grep /24 >> inet 192.168.122.90/24 brd 192.168.122.255 scope global eth0 >> inet 192.168.1.19/24 brd 192.168.1.255 scope global eth1 >> (10:59:43) [riak] ~ $ netstat -tunap | grep :8080 >> tcp 0 0 0.0.0.0:8080 0.0.0.0:* >> LISTEN 29437/beam.smp >> (11:03:20) [riak] ~ $ ps auxf | grep 29437 >> root 1507 0.0 0.0 103236 820 pts/4 S+ 23:03 0:00 >> \_ grep 29437 >> riakcs 29437 0.9 1.8 768480 35364 pts/3 Ssl+ 17:23 3:08 \_ >> /usr/lib64/riak-cs/erts-5.9.1/bin/beam.smp -K true -A 64 -W w -- -root >> /usr/lib64/riak-cs -progname riak-cs -- -home /var/lib/riak-cs-control -- >> -boot /usr/lib64/riak-cs/releases/1.4.2/riak-cs -config >> /etc/riak-cs/app.config -pa /usr/lib64/riak-cs/lib/basho-patches -name >> riak...@riak.domain.com -setcookie [redacted] -- console >> >> nginx config: [added the proxy_pass_header to ensure I was reaching >> riak-cs] >> >> upstream riak-cs { >> server 192.168.1.19:8080; >> } >> server { >> listen 80; >> server_name cs.domain.com *.cs.domain.com; >> location / { >> proxy_pass http://riak-cs; >> proxy_set_header Host $host; >> proxy_connect_timeout 59s; >> proxy_send_timeout 600; >> proxy_read_timeout 600; >> #proxy_buffering off; >> proxy_buffers 16 32k; >> proxy_buffer_size 64k; >> proxy_pass_header Server; >> #return 403; >> >> } >> >> } >> >> (11:10:36) [andrew/desktop] ~ $ curl -I cs.domain.com/buckets >> HTTP/1.1 404 Object Not Found >> Date: Thu, 14 Nov 2013 05:10:38 GMT >> Content-Type: application/xml >> Connection: keep-alive >> Server: Riak CS >> Content-Length: 185 >> >> >> Please let me know if there's anything else I can provide, I'm more than >> willing to do so. Also, it may be worthy to note that domain.com in this >> case is an actual registered and resolving domain that has been sed'd out, >> cause archive. >> >> Thank you so much, >> Andrew >> >> >> On Wed, Nov 13, 2013 at 10:57 PM, Kelly McLaughlin <ke...@basho.com>wrote: >> >>> Andy, >>> >>> To try to get a better idea of what might be going on it would be >>> helpful to see what your riak and riak cs app.config files look like. Also >>> the output of riak-admin ring-status and riak-admin member-status could be >>> useful. For the upload issue I am curious if you have changed the port that >>> riak cs is listening on? The default is 8080 and I don't see from your >>> nginx config where you are sending requests to that port. >>> >>> Kelly >>> >>> On November 13, 2013 at 6:49:59 PM, Andrew Tynefield ( >>> atynefi...@gmail.com <//atynefi...@gmail.com>) wrote: >>> >>> Hey guys, >>> >>> I'm working on a dev environment for a riak-cs setup. >>> >>> 2 vms and an external proxy >>> >>> Config of the riak/riak-cs nodes appears to be all complete. I'm >>> encountering two issues I'd like some pointers on where to begin diagnosing >>> before I go around stracing everything. >>> >>> Firstly: >>> When using s3cmd to query riak-cs, I'm receiving differing results on >>> the same commands in succession. Here are the results when going through a >>> proxy: >>> >>> (07:06:09) [andrew/desktop] ~ $ s3cmd -c .s3cfg-riak ls s3://lol >>> 2013-11-13 22:20 84513 s3://lol/kitty.jpg >>> (07:06:10) [andrew/desktop] ~ $ s3cmd -c .s3cfg-riak ls s3://lol >>> 2013-11-13 22:20 84513 s3://lol/kitty.jpg >>> (07:06:11) [andrew/desktop] ~ $ s3cmd -c .s3cfg-riak ls s3://lol >>> 2013-11-13 14:59 93107 s3://lol/_1 >>> 2013-11-13 22:20 84513 s3://lol/kitty.jpg >>> (07:06:12) [andrew/desktop] ~ $ s3cmd -c .s3cfg-riak ls s3://lol >>> DIR s3://lol/kitties/ >>> 2013-11-13 14:59 93107 s3://lol/_1 >>> (07:06:13) [andrew/desktop] ~ $ s3cmd -c .s3cfg-riak ls s3://lol >>> 2013-11-13 22:20 84513 s3://lol/kitty.jpg >>> (07:06:14) [andrew/desktop] ~ $ s3cmd -c .s3cfg-riak ls s3://lol >>> DIR s3://lol/kitties/ >>> 2013-11-13 14:59 93107 s3://lol/_1 >>> >>> And here they are querying one of the nodes directly: >>> (07:05:59) [andrew/desktop] ~ $ s3cmd ls s3://lol >>> DIR s3://lol/kitties/ >>> 2013-11-13 14:59 93107 s3://lol/_1 >>> (07:06:00) [andrew/desktop] ~ $ s3cmd ls s3://lol >>> 2013-11-13 14:59 93107 s3://lol/_1 >>> 2013-11-13 22:20 84513 s3://lol/kitty.jpg >>> (07:06:01) [andrew/desktop] ~ $ s3cmd ls s3://lol >>> 2013-11-13 22:20 84513 s3://lol/kitty.jpg >>> (07:06:02) [andrew/desktop] ~ $ s3cmd ls s3://lol >>> 2013-11-13 22:20 84513 s3://lol/kitty.jpg >>> (07:06:02) [andrew/desktop] ~ $ s3cmd ls s3://lol >>> DIR s3://lol/kitties/ >>> 2013-11-13 14:59 93107 s3://lol/_1 >>> (07:06:03) [andrew/desktop] ~ $ s3cmd ls s3://lol >>> 2013-11-13 22:20 84513 s3://lol/kitty.jpg >>> (07:06:04) [andrew/desktop] ~ $ s3cmd -c .s3cfg-riak ls s3://lol >>> >>> The same results happen regardless of which node I query directly, >>> within 1-2 seconds of executing the command a repeat execution of it >>> returns different results. (They are the same repetitive results, just >>> missing objects on some of the returns) >>> >>> The other issue I'm encountering is with put's. If I put directly to the >>> node, I see something like: >>> >>> (07:09:09) [andrew/desktop] ~ $ s3cmd put >>> Downloads/CentOS-6.4-x86_64-minimal.iso s3://big >>> Downloads/CentOS-6.4-x86_64-minimal.iso -> >>> s3://big/CentOS-6.4-x86_64-minimal.iso [part 1 of 23, 15MB] >>> 15728640 of 15728640 100% in 5s 2.62 MB/s done >>> Downloads/CentOS-6.4-x86_64-minimal.iso -> >>> s3://big/CentOS-6.4-x86_64-minimal.iso [part 2 of 23, 15MB] >>> 15728640 of 15728640 100% in 5s 2.86 MB/s done >>> (... Truncated some of the values for brevity ...) >>> Downloads/CentOS-6.4-x86_64-minimal.iso -> >>> s3://big/CentOS-6.4-x86_64-minimal.iso [part 22 of 23, 15MB] >>> 15728640 of 15728640 100% in 1s 12.06 MB/s done >>> Downloads/CentOS-6.4-x86_64-minimal.iso -> >>> s3://big/CentOS-6.4-x86_64-minimal.iso [part 23 of 23, 12MB] >>> 12929024 of 12929024 100% in 1s 11.70 MB/s done >>> >>> Which is ideally what should occur. However, when I go through the >>> proxy: >>> >>> It starts great for the first chunk, but hangs: >>> >>> Start: >>> Downloads/CentOS-6.4-x86_64-minimal.iso -> s3://big/cent6.minimal.iso >>> [part 19 of 23, 15MB] >>> 8675328 of 15728640 55% in 1s 8.26 MB/s >>> >>> Finish: >>> Downloads/CentOS-6.4-x86_64-minimal.iso -> s3://big/cent6.minimal.iso >>> [part 19 of 23, 15MB] >>> 15728640 of 15728640 100% in 22s 683.57 kB/s done >>> >>> It immediately jumps to 55% (the % varies) and then pauses, sometimes >>> up to 30 seconds and then jumps to [done]. >>> >>> I assume this is in my nginx configuration somewhere, I thought it was a >>> proxy buffer issue, I've since raised those limits and also tried disabling >>> proxy_buffering entirely to no difference. >>> >>> server { >>> listen 80; >>> server_name cs.domain.com *.cs.domain.com; >>> location / { >>> proxy_pass http://riak-cs; >>> proxy_set_header Host $host; >>> proxy_connect_timeout 59s; >>> proxy_send_timeout 600; >>> proxy_read_timeout 600; >>> #proxy_buffering off; >>> proxy_buffers 16 32k; >>> proxy_buffer_size 64k; >>> #return 403; >>> >>> } >>> >>> } >>> >>> (The two nodes are identical in versions) >>> >>> (07:34:47) [riak] ~ $ cat /etc/redhat-release >>> CentOS release 6.4 (Final) >>> (07:45:53) [riak] ~ $ uname -a >>> Linux riak.tyne.io 2.6.32-358.23.2.el6.x86_64 #1 SMP Wed Oct 16 >>> 18:37:12 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux >>> (07:46:09) [riak] ~ $ riak version >>> 1.4.2 >>> (07:46:13) [riak] ~ $ riak-cs version >>> 1.4.2 >>> (07:46:25) [riak] ~ $ rpm -qa | grep riak >>> riak-cs-1.4.2-1.el6.x86_64 >>> riak-1.4.2-1.el6.x86_64 >>> >>> All recommended sysctl and ulimit values have been set as described in >>> the docs. >>> >>> I look forward to any assistance with further tracking this down. >>> >>> -- >>> [Andy Tynefield] >>> _______________________________________________ >>> riak-users mailing list >>> riak-users@lists.basho.com >>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com >>> >>> >> >> >> -- >> [Andy Tynefield] >> >> > > > -- > [Andy Tynefield] > > -- [Andy Tynefield]
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com