CompanyBook / massive_record

HBase ruby client
131 stars 39 forks source link

Hard Dependency On Older Version of ActiveSupport in 0.2.2.rc1 & 0.2.2.rc2 #82

Closed eonflare closed 12 years ago

eonflare commented 12 years ago

Recently at my company we updated to our version of HBase to 0.90.4-cdh3u2 (out of Cloudera's Maven Repo) and it appeared to break the thrift bindings loaded with 0.2.1.

Exception in thread "pool-1-thread-1" java.lang.NoSuchMethodError: org.apache.thrift.protocol.TProtocol.readBinary()[B
    at org.apache.hadoop.hbase.thrift.generated.Hbase$scannerOpenWithPrefix_args.read(Hbase.java:30461)
    at org.apache.hadoop.hbase.thrift.generated.Hbase$Processor$scannerOpenWithPrefix.process(Hbase.java:2965)
    at org.apache.hadoop.hbase.thrift.generated.Hbase$Processor.process(Hbase.java:2043)
    at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:253)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)

I want to try updating to 0.2.2.rc1 or 0.2.2.rc2, but you have a hard dependency on a version of active support >= 3.0.7 and < 3.1.0, which means I can't use your gem with a Rails 3.1.x app.

Bundler could not find compatible versions for gem "activesupport":
  In snapshot (Gemfile.lock):
    activesupport (3.1.0)

  In Gemfile:
    massive_record (= 0.2.2.rc2) ruby depends on
      activesupport (~> 3.0.7) ruby

I'm going to try updating the gemspec on my fork and try to address the 0.90.4-cdh3u2 compatibility issue, but I was just wanted to give you a heads up on the activesupport dependency one first.

Thanks for reading, and also for your awesome work on this gem!

eonflare commented 12 years ago

Changed the dependencies and ran the specs against the 0.90.4-cdh3u2 instance. Same error unfortunately. Gonna try and update the Ruby thrift bindings and see how much things break.

thhermansen commented 12 years ago

Hi,

Yea, MassiveRecord is not currently supporting Rails 3.1. It relates to: #42. I was planning on fixing it, but it looks like #80 beat me to it. Although the problem there is backwards compatibility with Rails 3.0. Maybe I have time to look at it this weekend (3.1 issue thing), but I can't promise.

vincentp commented 12 years ago

Hey, this is the main reason for the dependency: https://github.com/CompanyBook/massive_record/issues/42

Let me know if you find any workaround and don't hesitate to submit a pull request :)

thhermansen commented 12 years ago

Closing this one, as we have other simular issues.