My app works fine until
1) the rhosync/redis server has been running for a while
-OR-
2) multiple devices are connected
I get the following debug output from the RhoSync Heroku logs when I
connect my second device:
2011-05-13T18:47:29+00:00 heroku[router]: GET rhohub-
trodriguez-5162ae92.rhosync.com/application dyno=web.1 queue=0
wait=0ms service=2141ms bytes=439
2011-05-13T18:47:29+00:00 app[web.1]: [11:47:29 AM 2011-05-13] -ERR
command not allowed when used memory > 'maxmemory'/app/.gems/gems/
redis-2.1.1/lib/redis/connection.rb:86:in `format_error_reply'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rhosync-2.1.3/
lib/rhosync/../rhosync/store.rb:27:in `put_data'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rhosync-2.1.3/
lib/rhosync/../rhosync/document.rb:13:in `put_data'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rhosync-2.1.3/
lib/rhosync/../rhosync/client_sync.rb:137:in `compute_page'
2011-05-13T18:47:29+00:00 app[web.1]: [11:47:29 AM 2011-05-13] -ERR
command not allowed when used memory > 'maxmemory'/app/.gems/gems/
redis-2.1.1/lib/redis/connection.rb:86:in `format_error_reply'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/redis-2.1.1/lib/
redis/connection.rb:76:in `format_reply'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/redis-2.1.1/lib/
redis/connection.rb:71:in `read'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/redis-2.1.1/lib/
redis/client.rb:83:in `read'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/redis-2.1.1/lib/
redis/client.rb:44:in `call_pipelined'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/redis-2.1.1/lib/
redis/client.rb:44:in `initialize'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/redis-2.1.1/lib/
redis/client.rb:44:in `new'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/redis-2.1.1/lib/
redis/client.rb:44:in `call_pipelined'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/redis-2.1.1/lib/
redis/client.rb:63:in `process'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/redis-2.1.1/lib/
redis/client.rb:154:in `ensure_connected'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/redis-2.1.1/lib/
redis/client.rb:58:in `process'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/redis-2.1.1/lib/
redis/client.rb:118:in `logging'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/redis-2.1.1/lib/
redis/client.rb:57:in `process'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/redis-2.1.1/lib/
redis/client.rb:43:in `call_pipelined'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/redis-2.1.1/lib/
redis.rb:543:in `pipelined'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rhosync-2.1.3/
lib/rhosync/../rhosync/store.rb:27:in `put_data'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rhosync-2.1.3/
lib/rhosync/../rhosync/document.rb:13:in `put_data'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rhosync-2.1.3/
lib/rhosync/../rhosync/client_sync.rb:137:in `compute_page'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rhosync-2.1.3/
lib/rhosync/../rhosync/client_sync.rb:64:in `send_new_page'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rhosync-2.1.3/
lib/rhosync/../rhosync/client_sync.rb:49:in `build_page'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rhosync-2.1.3/
lib/rhosync/../rhosync/client_sync.rb:63:in `send_new_page'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rhosync-2.1.3/
lib/rhosync/../rhosync/client_sync.rb:30:in `send_cud'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rhosync-2.1.3/
lib/rhosync/server.rb:232:in `GET /application'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rhosync-2.1.3/
lib/rhosync/server.rb:127:in `catch_all'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rhosync-2.1.3/
lib/rhosync/server.rb:230:in `GET /application'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:1151:in `call'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:1151:in `compile!'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:724:in `instance_eval'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:724:in `route_eval'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:708:in `route!'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:758:in `process_route'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:755:in `catch'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:755:in `process_route'
2011-05-13T18:47:29+00:00 heroku[router]: GET rhohub-
trodriguez-5162ae92.rhosync.com/application dyno=web.1 queue=0
wait=0ms service=449ms bytes=439
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:707:in `route!'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:706:in `each'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:706:in `route!'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:843:in `dispatch!'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:644:in `call!'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:808:in `instance_eval'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:808:in `invoke'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:808:in `catch'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:808:in `invoke'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:644:in `call!'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/sinatra-1.2.6/
lib/sinatra/base.rb:629:in `call'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rack-1.2.2/lib/
rack/static.rb:33:in `call'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rack-1.2.2/lib/
rack/head.rb:9:in `call'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rack-1.2.2/lib/
rack/urlmap.rb:47:in `call'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rack-1.2.2/lib/
rack/urlmap.rb:41:in `each'
2011-05-13T18:47:29+00:00 app[web.1]: /home/heroku_rack/lib/
static_assets.rb:9:in `call'
2011-05-13T18:47:29+00:00 app[web.1]: /home/heroku_rack/lib/
date_header.rb:14:in `call'
2011-05-13T18:47:29+00:00 app[web.1]: /app/.gems/gems/rack-1.2.2/lib/
rack/builder.rb:77:in `call'
2011-05-13T18:47:29+00:00 app[web.1]: /usr/ruby1.8.7/lib/ruby/gems/1.8/
gems/thin-1.2.6/lib/thin/connection.rb:76:in `pre_process'
2011-05-13T18:47:29+00:00 app[web.1]: /usr/ruby1.8.7/lib/ruby/gems/1.8/
gems/thin-1.2.6/lib/thin/backends/base.rb:57:in `start'
2011-05-13T18:47:29+00:00 app[web.1]: /usr/ruby1.8.7/lib/ruby/gems/1.8/
gems/thin-1.2.6/lib/thin/server.rb:156:in `start'
2011-05-13T18:47:29+00:00 app[web.1]: /usr/ruby1.8.7/lib/ruby/gems/1.8/
gems/thin-1.2.6/lib/thin/controllers/controller.rb:80:in `start'
2011-05-13T18:47:29+00:00 app[web.1]: /usr/ruby1.8.7/lib/ruby/gems/1.8/
gems/thin-1.2.6/bin/thin:6
2011-05-13T18:47:29+00:00 app[web.1]: /usr/ruby1.8.7/bin/thin:19
-------------------------------------------------------------------------------------------------
In my device logs, the error is:
I 05/13/2011 15:01:40:240 0018db28 APP| RHO serve: /
app/Settings
I 05/13/2011 15:01:40:272 0018db28 RHO SettingsController| Layout
file: /data/data/com.rhomobile.hmifortuneconferenceapprhodes/rhodata/
apps/app/layout_erb.iseq. Content size: 1352
I 05/13/2011 15:01:41:645 0018db28 APP| RHO serve: /
app/Settings/do_sync
I 05/13/2011 15:01:41:648 0018db28 Sync| addCommand:
SyncAll
I 05/13/2011 15:01:41:651 0053f830 Net| POST url:
http://127.0.0.1:59647/system/loadallsyncsources
I 05/13/2011 15:01:41:691 0053f830 Sync| Sync server
changes source ID :3
I 05/13/2011 15:01:41:691 0053f830 Sync| Pull changes
from server. Url:
http://rhohub-trodriguez-5162ae92.rhosync.com/application?client_id=bf304d2f671c451ea1b8dee1430c9087&p_size=2000&version=3&source_name=Conference
I 05/13/2011 15:01:41:691 0053f830 Net| GET url:
http://rhohub-trodriguez-5162ae92.rhosync.com/application?client_id=bf304d2f671c451ea1b8dee1430c9087&p_size=2000&version=3&source_name=Conference
I 05/13/2011 15:01:41:724 0018db28 APP| RHO serve: /
app/Settings
I 05/13/2011 15:01:41:725 0018db28 APP| Params:
{"msg"=>"Sync has been triggered."}
E 05/13/2011 15:01:42:427 0053f830 Net| Request
failed. HTTP Code: 500 returned. HTTP Response: -ERR command not
allowed when used memory > 'maxmemory'
I 05/13/2011 15:01:42:440 0053f830 Sync| ThreadQueue
blocked for 300 seconds...
Is there something wrong in my code? Is there a memory cap in the free
account so this would be easily solved by migrating the project to our
production account?
thanks!
--Tharon