I have run into this issue as well.  I have not yet dug into a fix, but have 
been able to reproduce the problem with a simple script that uses activerecord 
2.3.11 on jruby 1.6.5.

Here is the source:
https://github.com/lance/pk_sequence_test

Here is the output:
$ bundle exec pk_sequence_test.rb 
-- create_table(:pk_tests, {:force=>true})
   -> 0.1440s
   -> 0 rows
-- initialize_schema_migrations_table()
   -> 0.0030s
-- assume_migrated_upto_version(0, "db/migrate")
   -> 0.0030s
#<PkTest id: 1, name: "foo">
#<PkTest id: 1, name: "bar">
#<PkTest id: 1, name: "foobar">
#<PkTest id: 1, name: "barfoo">

Here is my environment.
$ gem list

*** LOCAL GEMS ***

activerecord (2.3.11)
activerecord-jdbc-adapter (1.2.2)
activesupport (2.3.11)
bundler (1.0.22)
jdbc-postgres (9.1.901)
pg (0.13.1)

$ rvm info

jruby-1.6.5@arjdbc:

  system:
    uname:       "Darwin Neptune.local 11.3.0 Darwin Kernel Version 11.3.0: Thu 
Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64"
    bash:        "/bin/bash => GNU bash, version 3.2.48(1)-release 
(x86_64-apple-darwin11)"
    zsh:         "/bin/zsh => zsh 4.3.11 (i386-apple-darwin11.0)"

  rvm:
    version:      "rvm 1.9.2 by Wayne E. Seguin (wayneeseg...@gmail.com) 
[https://rvm.beginrescueend.com/]";

  ruby:
    interpreter:  "jruby"
    version:      "1.6.5"
    date:         "2011-10-25"
    platform:     "darwin-x86_64-java"
    patchlevel:   "TM"
    full_version: "jruby 1.6.5 (ruby-1.8.7-p330) (2011-10-25 9dcd388) (Java 
HotSpot(TM) 64-Bit Server VM 1.6.0_29) [darwin-x86_64-java]"

  homes:
    gem:          "/Users/lanceball/.rvm/gems/jruby-1.6.5@arjdbc"
    ruby:         "/Users/lanceball/.rvm/rubies/jruby-1.6.5"

  binaries:
    ruby:         "/Users/lanceball/.rvm/rubies/jruby-1.6.5/bin/ruby"
    irb:          "/Users/lanceball/.rvm/rubies/jruby-1.6.5/bin/irb"
    gem:          "/Users/lanceball/.rvm/rubies/jruby-1.6.5/bin/gem"
    rake:         "/Users/lanceball/.rvm/rubies/jruby-1.6.5/bin/rake"

  environment:
    PATH:         
"/Users/lanceball/.rvm/gems/jruby-1.6.5@arjdbc/bin:/Users/lanceball/.rvm/gems/jruby-1.6.5@global/bin:/Users/lanceball/.rvm/rubies/jruby-1.6.5/bin:/Users/lanceball/.rvm/bin:/Users/lanceball/bin:/Developer/usr/bin:/Users/lanceball/local/node/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/PostgreSQL/9.0/bin:/opt/local/ImageMagick-6.6.9/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/usr/local/MacGPG2/bin:/usr/local/git/bin"
    GEM_HOME:     "/Users/lanceball/.rvm/gems/jruby-1.6.5@arjdbc"
    GEM_PATH:     
"/Users/lanceball/.rvm/gems/jruby-1.6.5@arjdbc:/Users/lanceball/.rvm/gems/jruby-1.6.5@global"
    MY_RUBY_HOME: "/Users/lanceball/.rvm/rubies/jruby-1.6.5"
    IRBRC:        "/Users/lanceball/.rvm/rubies/jruby-1.6.5/.irbrc"
    RUBYOPT:      ""
    gemset:       "arjdbc"





On Feb 15, 2012, at 2:26 AM, Charles Oliver Nutter wrote:

> I will echo Nick's suggestion: reproduce in a simple script. If we can
> narrow it down to a simple schema and script, the fix may be easy to
> find.
> 
> My money is on auto-generated ID not propagating back out properly during 
> #save.
> 
> Feel free to open an AR-JDBC issue at this point:
> https://github.com/jruby/activerecord-jdbc-adapter/issues
> 
> - Charlie
> 
> On Tue, Feb 14, 2012 at 4:33 PM, Vivek Pandey <vivek.pan...@gmail.com> wrote:
>> that might be the case atleast from pure observation. My rubymine does not
>> let me step inside ActiveRecord::Base.save() with jruby rack:( It does not
>> look like anyone on this list has experienced this problem, that tells me
>> maybe its some other dependencies or something else causing it. This is
>> pretty basic stuff and should have worked. I will update you with my
>> findings.
>> 
>> vivek.
>> 
>> 
>> On Tue, Feb 14, 2012 at 1:13 PM, Charles Oliver Nutter <head...@headius.com>
>> wrote:
>>> 
>>> Ahh, that's interesting. So perhaps there's something in save that
>>> should be getting a generated ID and we're not doing that right?
>>> 
>>> - Charlie
>>> 
>>> On Tue, Feb 14, 2012 at 2:36 PM, Vivek Pandey <vivek.pan...@gmail.com>
>>> wrote:
>>>> Jruby rackup fails the same way, which is the persisted model object id
>>>> is
>>>> shown as 1 instead of its actual value. I ran it thru debugger and right
>>>> after product.save(false) product.id gives 1 and if I do
>>>> Product.find_by_name(), it gives me the just persisted object correctly.
>>>> 
>>>> vivek.
>>>> 
>>>> 
>>>> On Tue, Feb 14, 2012 at 8:30 AM, Nick Sieger <nicksie...@gmail.com>
>>>> wrote:
>>>>> 
>>>>> How about rackup on JRuby? Works or fails?
>>>>> 
>>>>> /Nick
>>>>> 
>>>>> On Tue, Feb 14, 2012 at 9:43 AM, Vivek Pandey <vivek.pan...@gmail.com>
>>>>> wrote:
>>>>>> Sorry, forgot to give my env. Running my env on rails is non-trivial
>>>>>> at
>>>>>> present. All I can tell is that when I run rackup with MRI it all
>>>>>> works
>>>>>> well
>>>>>> but the same when warbled and deployed on tomcat, gives me the id of
>>>>>> 1!
>>>>>> Something must be silly going on here not sure what.
>>>>>> 
>>>>>> thanks,
>>>>>> 
>>>>>> vivek.
>>>>>> 
>>>>>> JRuby 1.6.5 with JDK 1.6
>>>>>> 
>>>>>> $ bundle show
>>>>>> 
>>>>>>  * activerecord (2.3.8)
>>>>>>   * activerecord-activesalesforce-adapter (2.3.6.1 40ab887)
>>>>>>   * activerecord-jdbc-adapter (1.2.2)
>>>>>>   * activerecord-jdbcpostgresql-adapter (1.2.2)
>>>>>>   * activesupport (2.3.8)
>>>>>>   * arel (2.2.1)
>>>>>>   * backports (2.3.0)
>>>>>>   * blankslate (2.1.2.4)
>>>>>>   * bouncy-castle-java (1.5.0146.1)
>>>>>>   * builder (3.0.0)
>>>>>>   * bundler (1.0.21)
>>>>>>   * eventmachine (0.12.10)
>>>>>>   * haml (3.1.4)
>>>>>>   * hashery (1.5.0)
>>>>>>   * hpricot (0.8.6)
>>>>>>   * httpclient (2.2.1)
>>>>>>   * i18n (0.6.0)
>>>>>>   * jdbc-postgres (9.1.901)
>>>>>>   * jruby-jars (1.6.6)
>>>>>>   * jruby-openssl (0.7.5)
>>>>>>   * jruby-rack (1.0.10)
>>>>>>   * json (1.4.6)
>>>>>>   * mail (2.4.1)
>>>>>>   * mime-types (1.17.2)
>>>>>>   * net-ldap (0.1.1)
>>>>>>   * nokogiri (1.5.0)
>>>>>>   * oauth (0.4.5)
>>>>>>   * polyglot (0.3.3)
>>>>>>   * pony (1.4)
>>>>>>   * rack (1.3.4)
>>>>>>   * rack-protection (1.2.0)
>>>>>>   * rack-test (0.6.1)
>>>>>>   * rake (0.9.2)
>>>>>>   * rest-client (1.6.0)
>>>>>>   * rjack-slf4j (1.5.10.0)
>>>>>>   * ruby-openid (2.1.8)
>>>>>>   * rubyzip (0.9.6.1)
>>>>>>   * sinatra (1.3.1)
>>>>>>   * sinatra-activerecord (0.1.3)
>>>>>>   * sinatra-contrib (1.3.1)
>>>>>>   * sinatra-reloader (1.0)
>>>>>>   * soap4r (1.5.8)
>>>>>>   * tilt (1.3.3)
>>>>>>   * treetop (1.4.10)
>>>>>>   * uuidtools (2.1.1)
>>>>>>   * warbler (1.3.2)
>>>>>> 
>>>>>> 
>>>>>> On Tue, Feb 14, 2012 at 6:53 AM, Charles Oliver Nutter
>>>>>> <head...@headius.com>
>>>>>> wrote:
>>>>>>> 
>>>>>>> Hi Vivek!
>>>>>>> 
>>>>>>> On Tue, Feb 14, 2012 at 8:15 AM, Vivek Pandey
>>>>>>> <vivek.pan...@gmail.com>
>>>>>>> wrote:
>>>>>>>> Hi,
>>>>>>>> 
>>>>>>>> I am using JRuby with Sinatra and ActiveRecord as ORM. I have code
>>>>>>>> such
>>>>>>>> as
>>>>>>>> this:
>>>>>>>> 
>>>>>>>>      ActiveRecord::Base.transaction do
>>>>>>>>         product.rollback_active_record_state! do
>>>>>>>>           if(product.save(false))
>>>>>>>>             logger.debug "Prod ID: #{product.id}"
>>>>>>>>             yield if block_given?
>>>>>>>>           end
>>>>>>>>         end
>>>>>>>>       end
>>>>>>>> 
>>>>>>>> 
>>>>>>>> When I execute rackup with MRI 1.8.7p 357, it prints valid Prod
>>>>>>>> ID.
>>>>>>>> However
>>>>>>>> when I deploy the same using jruby-rack/warbler, It always prints
>>>>>>>> 1
>>>>>>>> as
>>>>>>>> product id, however save is successful and persisted correctly in
>>>>>>>> the
>>>>>>>> DB.
>>>>>>>> Its just that I get invalid product id, which is always 1. Anyone
>>>>>>>> knows
>>>>>>>> what
>>>>>>>> might be going on here?
>>>>>>> 
>>>>>>> I doubt jruby-rack has anything to do with it. Can you reproduce
>>>>>>> with
>>>>>>> "rails server"? What versions of everything?
>>>>>>> 
>>>>>>> - Charlie
>>>>>>> 
>>>>>>> 
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe from this list, please visit:
>>>>>>> 
>>>>>>>    http://xircles.codehaus.org/manage_email
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe from this list, please visit:
>>>>> 
>>>>>    http://xircles.codehaus.org/manage_email
>>>>> 
>>>>> 
>>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe from this list, please visit:
>>> 
>>>    http://xircles.codehaus.org/manage_email
>>> 
>>> 
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
> 
>    http://xircles.codehaus.org/manage_email
> 
> 


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to