stripe-archive / mosql

MongoDB → PostgreSQL streaming replication
MIT License
1.63k stars 225 forks source link

literal_other_append error #79

Closed ryanatwork closed 9 years ago

ryanatwork commented 9 years ago

Just updated our MoSQL instance to 0.4.1 and Ruby 2.1

Getting the following error:

/app/vendor/bundle/ruby/2.1.0/gems/sequel-4.16.0/lib/sequel/dataset/sql.rb:1230:in `literal_other_append': can't express BSON::ObjectId('52f3c511e045f9b21d002dc9') as a SQL literal (Sequel::Error)

nelhage commented 9 years ago

Can you paste a full stack trace?

ryanatwork commented 9 years ago

Sure..

2014-11-07T20:51:13.098247+00:00 app[worker.1]: /app/vendor/bundle/ruby/1.9.1/gems/sequel-4.16.0/lib/sequel/dataset/sql.rb:1230:in `literal_other_append': can't express BSON::ObjectId('52f3c511e045f9b21d002dc9') as a SQL literal (Sequel::Error)
2014-11-07T20:51:13.098254+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/sequel-4.16.0/lib/sequel/adapters/shared/postgres.rb:1247:in `complex_expression_sql_append'
2014-11-07T20:51:13.098256+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/sequel-4.16.0/lib/sequel/sql.rb:107:in `to_s_append'
2014-11-07T20:51:13.098261+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/sequel-4.16.0/lib/sequel/dataset/sql.rb:85:in `literal_append'
2014-11-07T20:51:13.098262+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/sequel-4.16.0/lib/sequel/dataset/sql.rb:1429:in `select_where_sql'
2014-11-07T20:51:13.098253+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/sequel-4.16.0/lib/sequel/dataset/sql.rb:484:in `complex_expression_sql_append'
2014-11-07T20:51:13.098257+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/sequel-4.16.0/lib/sequel/dataset/sql.rb:1192:in `literal_expression_append'
2014-11-07T20:51:13.098263+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/sequel-4.16.0/lib/sequel/dataset/sql.rb:230:in `delete_sql'
2014-11-07T20:51:13.098267+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/mosql-0.4.1/lib/mosql/streamer.rb:239:in `handle_op'
2014-11-07T20:51:13.098268+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/mosql-0.4.1/lib/mosql/streamer.rb:176:in `block in optail'
2014-11-07T20:51:13.098269+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/mongoriver-0.4.0/lib/mongoriver/abstract_persistent_tailer.rb:33:in `block in stream'
2014-11-07T20:51:13.098270+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/mongoriver-0.4.0/lib/mongoriver/tailer.rb:162:in `call'
2014-11-07T20:51:13.098265+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/mosql-0.4.1/lib/mosql/streamer.rb:195:in `sync_object'
2014-11-07T20:51:13.098278+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/mosql-0.4.1/lib/mosql/cli.rb:16:in `run'
2014-11-07T20:51:13.098273+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/mongoriver-0.4.0/lib/mongoriver/tailer.rb:162:in `stream'
2014-11-07T20:51:13.098275+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/mongoriver-0.4.0/lib/mongoriver/abstract_persistent_tailer.rb:32:in `stream'
2014-11-07T20:51:13.098276+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/mosql-0.4.1/lib/mosql/streamer.rb:175:in `optail'
2014-11-07T20:51:13.098277+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/mosql-0.4.1/lib/mosql/cli.rb:170:in `run'
2014-11-07T20:51:13.098251+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/sequel-4.16.0/lib/sequel/dataset/sql.rb:107:in `literal_append'
2014-11-07T20:51:13.098264+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/sequel-4.16.0/lib/sequel/dataset/actions.rb:118:in `delete'
2014-11-07T20:51:13.098279+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/gems/mosql-0.4.1/bin/mosql:5:in `<top (required)>'
2014-11-07T20:51:13.098297+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/bin/mosql:23:in `load'
2014-11-07T20:51:13.098298+00:00 app[worker.1]:     from /app/vendor/bundle/ruby/1.9.1/bin/mosql:23:in `<main>'
2014-11-07T20:51:13.916233+00:00 heroku[worker.1]: Process exited with status 1
2014-11-07T20:51:13.927391+00:00 heroku[worker.1]: State changed from up to crashed
nelhage commented 9 years ago

@ryanatwork Just pushed a fix. If you're able to test it and confirm you're working again, that'd be awesome. I can cut a new release if that would be helpful.

ryanatwork commented 9 years ago

@nelhage Thanks! Just deployed it, looking good so far.

ryanatwork commented 9 years ago

@nelhage well.. spoke to soon maybe. We deployed this but now data isnt passing from our mongo to postgres instance. I tried reverting but now its stuck (not sending data from mongo to postgres). Any ideas?

nelhage commented 9 years ago

Can you include more information about what concretely you're seeing, as well as some log output from running with -vv?

ryanatwork commented 9 years ago

I'm not sure what happened. It looks like it may have been a timestamp thing? Anyway, I deleted the contents of mosql_tailers and it caused a reimport. So our data is back to flowing.

Not sure if anyone else has had an issue going from 0.3 to 0.4.