{"action":"created","issue":{"url":"https://api.github.com/repos/basho/riak-ruby-client/issues/135","repository_url":"https://api.github.com/repos/basho/riak-ruby-client","labels_url":"https://api.github.com/repos/basho/riak-ruby-client/issues/135/labels{/name}","comments_url":"https://api.github.com/repos/basho/riak-ruby-client/issues/135/comments","events_url":"https://api.github.com/repos/basho/riak-ruby-client/issues/135/events","html_url":"https://github.com/basho/riak-ruby-client/issues/135","id":24218333,"number":135,"title":"Ruby Client:  Setting :symbolize_keys on MultiJson breaks Client#buckets and Bucket#keys #135  [JIRA: CLIENTS-784]","user":{"login":"danpisarski","id":621460,"avatar_url":"https://avatars.githubusercontent.com/u/621460?v=3","gravatar_id":"","url":"https://api.github.com/users/danpisarski","html_url":"https://github.com/danpisarski","followers_url":"https://api.github.com/users/danpisarski/followers","following_url":"https://api.github.com/users/danpisarski/following{/other_user}","gists_url":"https://api.github.com/users/danpisarski/gists{/gist_id}","starred_url":"https://api.github.com/users/danpisarski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danpisarski/subscriptions","organizations_url":"https://api.github.com/users/danpisarski/orgs","repos_url":"https://api.github.com/users/danpisarski/repos","events_url":"https://api.github.com/users/danpisarski/events{/privacy}","received_events_url":"https://api.github.com/users/danpisarski/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/basho/riak-ruby-client/labels/bug","name":"bug","color":"e10c02"},{"url":"https://api.github.com/repos/basho/riak-ruby-client/labels/JIRA:%20To%20Do","name":"JIRA: To Do","color":"ededed"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/basho/riak-ruby-client/milestones/14","html_url":"https://github.com/basho/riak-ruby-client/milestones/riak-ruby-client-2.4.0","labels_url":"https://api.github.com/repos/basho/riak-ruby-client/milestones/14/labels","id":1610289,"number":14,"title":"riak-ruby-client-2.4.0","description":"","creator":{"login":"lukebakken","id":514926,"avatar_url":"https://avatars.githubusercontent.com/u/514926?v=3","gravatar_id":"","url":"https://api.github.com/users/lukebakken","html_url":"https://github.com/lukebakken","followers_url":"https://api.github.com/users/lukebakken/followers","following_url":"https://api.github.com/users/lukebakken/following{/other_user}","gists_url":"https://api.github.com/users/lukebakken/gists{/gist_id}","starred_url":"https://api.github.com/users/lukebakken/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukebakken/subscriptions","organizations_url":"https://api.github.com/users/lukebakken/orgs","repos_url":"https://api.github.com/users/lukebakken/repos","events_url":"https://api.github.com/users/lukebakken/events{/privacy}","received_events_url":"https://api.github.com/users/lukebakken/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":7,"state":"open","created_at":"2016-02-28T16:51:43Z","updated_at":"2016-06-08T21:56:03Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2013-12-12T23:58:35Z","updated_at":"2016-06-08T21:56:03Z","closed_at":"2016-06-08T21:56:03Z","body":"I am using riak-client 1.4.2 with the Excon http_backend.\r\n\r\nWhen I do Bucket#keys in irb, I get the complete list along with the expected warning.\r\n\r\nBut when I put similar code in a short script, and execute that script at the command line, I get:\r\n```\r\n/Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/riak-client-1.4.2/lib/riak/client/http_backend.rb:201:in `list_keys': undefined method `map' for nil:NilClass (NoMethodError)\r\n\tfrom /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/riak-client-1.4.2/lib/riak/client.rb:352:in `block in list_keys'\r\n\tfrom /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/riak-client-1.4.2/lib/riak/client.rb:470:in `block in recover_from'\r\n\tfrom /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/innertube-1.0.2/lib/innertube.rb:127:in `take'\r\n\tfrom /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/riak-client-1.4.2/lib/riak/client.rb:468:in `recover_from'\r\n\tfrom /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/riak-client-1.4.2/lib/riak/client.rb:321:in `http'\r\n\tfrom /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/riak-client-1.4.2/lib/riak/client.rb:138:in `backend'\r\n\tfrom /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/riak-client-1.4.2/lib/riak/client.rb:351:in `list_keys'\r\n\tfrom /Users/dan/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/riak-client-1.4.2/lib/riak/bucket.rb:45:in `keys'\r\n```\r\n\r\nThis is when using Bucket#keys with no block, or when trying to pass it a block to let it stream the processing.  \r\n\r\nI get the above error if using for instance: keys.each\r\n\r\nBut if I pass a block, the block never seems to actually be called (code in the block seems to not run, nor does a simple puts).  Here is a quick example:\r\n\r\n```\r\n  tmp_client = Riak::Client.new(:http_backend => :Excon)\r\n  bucket = tmp_client['some_bucket']\r\n\r\n  bucket.keys do |key_array|\r\n    puts key_array.inspect\r\n  end\r\n```\r\n\r\nAgain, same code run in irb works as expected.\r\n\r\nIs it not possible to use #keys from actual code vs irb?  If not, is there any recommended way to discover all they keys in a bucket from code, without foreknowledge of the keys?\r\n"},"comment":{"url":"https://api.github.com/repos/basho/riak-ruby-client/issues/comments/224741884","html_url":"https://github.com/basho/riak-ruby-client/issues/135#issuecomment-224741884","issue_url":"https://api.github.com/repos/basho/riak-ruby-client/issues/135","id":224741884,"user":{"login":"lukebakken","id":514926,"avatar_url":"https://avatars.githubusercontent.com/u/514926?v=3","gravatar_id":"","url":"https://api.github.com/users/lukebakken","html_url":"https://github.com/lukebakken","followers_url":"https://api.github.com/users/lukebakken/followers","following_url":"https://api.github.com/users/lukebakken/following{/other_user}","gists_url":"https://api.github.com/users/lukebakken/gists{/gist_id}","starred_url":"https://api.github.com/users/lukebakken/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukebakken/subscriptions","organizations_url":"https://api.github.com/users/lukebakken/orgs","repos_url":"https://api.github.com/users/lukebakken/repos","events_url":"https://api.github.com/users/lukebakken/events{/privacy}","received_events_url":"https://api.github.com/users/lukebakken/received_events","type":"User","site_admin":false},"created_at":"2016-06-08T21:56:03Z","updated_at":"2016-06-08T21:56:03Z","body":"@danpisarski - HTTP has been deprecated in the Ruby client since the 2.0 release of the client. I'm going to close this but if a patch release with this fix is absolutely necessary, and you can't upgrade to the newest Ruby client (thus using TCP/protocol buffers), please re-open this issue and let me know about it."}}
{"actor":{"display_login":"lukebakken"}}