Skip to content
This repository
branch: master

Jan 28, 2013

  1. Sudhindra Rao

    adding development gems to gemfile marks them as dependencies - this …

    …breaks applications that have conflicts with these gems. Putting the development dependencies in a different group so that jeweler does not pick them up
    authored January 28, 2013

Jan 25, 2013

  1. Frederic Jean

    Regenerate gemspec for version 1.7.1

    authored January 24, 2013
  2. Frederic Jean

    Version bump to 1.7.1

    authored January 24, 2013
  3. Frederic Jean

    Getting a release of 1.7.1 ready.

    Minimal changes to get the gem to load without warnings and the specs to run using
    current versions of JRuby.
    authored January 24, 2013

Nov 04, 2010

  1. Fix for gemspec pointing at the wrong jar

    authored November 03, 2010

Sep 06, 2010

  1. Frederic Jean

    Updated readme to address http://github.com/ikai/jruby-memcache-clien…

    authored September 06, 2010
  2. Frederic Jean

    Resolved issues introduced by switching the incr and decr methods to …

    …using raw numbers.
    authored September 06, 2010

Jun 30, 2010

  1. Frederic Jean

    Re-indented the code.

    authored June 30, 2010
  2. - Added support for selecting the hashing algorithm through :pool_has…

    …hing_algorithm
    
    - Memcache#incr and Memcache#decr used get that defaults to marshaling. This should not happen. Code now calls the Java clients incr() and decr().
    authored June 15, 2010 fredjean committed June 30, 2010
  3. Frederic Jean

    Upgraded to the java memcache client 2.5.1.

    authored June 29, 2010

Jun 16, 2010

  1. Frederic Jean

    Adding tests to verify issue #2. Fixing problems exposed by the spec.

    authored June 15, 2010

Jun 15, 2010

  1. Moved logger up, so that initializations can be debugged

    authored June 15, 2010 fredjean committed June 16, 2010

Jan 21, 2010

  1. Frederic Jean

    Updated the author list to add new authors.

    authored January 21, 2010
  2. Frederic Jean

    Merge branch 'upgrade-memcache-jar'

    authored January 21, 2010
  3. Frederic Jean

    Updating the gemspec in preperation for a new gem release.

    authored January 21, 2010
  4. Frederic Jean

    Adding temporary files and gems to the .gitignore file.

    authored January 21, 2010
  5. Frederic Jean

    Updating how the IO pool is initialized.

    Fixing a few spec errors.
    authored January 21, 2010
  6. Travis Tilley

    use current github version of whalin client, update, crank down the l…

    …evel of logging
    authored January 20, 2010 fredjean committed January 21, 2010
  7. Bryan Helmkamp

    Allow the error handler to be configured

    authored January 22, 2010 fredjean committed January 22, 2010

Nov 23, 2009

  1. Fixing the Rakefile Jeweler related tasks.

    authored November 22, 2009
  2. Regenerated gemspec for version 1.6.1

    authored November 22, 2009
  3. Version bump to 1.6.1

    authored November 22, 2009
  4. Version bump to 1.6.1

    authored November 22, 2009
  5. add specs that cover the invalid utf8/serialization fix

    authored November 22, 2009 fredjean committed November 23, 2009
  6. Base64 encode/decode strings Marshaled strings

    There is a nasty bug I tripped over because Marshal, contrary to popular
    belief, does not emit only printable characters. In fact, some of the
    sequences it emits are *totally invalid as UTF-8* (UTF-8 does not
    magically take care of converting a stream of bytes).
    
    This is essentially what the code *was* doing:
    
    >> marshal_str = Marshal.dump(:foo => 900)
    => "\004\b{\006:\bfooi\002\204\003"
    >> marshal_bytes = marshal_str.to_java_bytes
    => #<#<Class:01x525dc268>:0x9866417>
    >> java_str = java.lang.String.new(marshal_bytes, 'UTF-8')
    => #<Java::JavaLang::String:0x74d175ff>
    >> unpacked_marshal_str = String.from_java_bytes(java_str.getBytes('UTF-8'))
    => "\004\b{\006:\bfooi\002\357\277\275\003"
    >> marshal_str == unpacked_marshal_str
    => false
    >> Marshal.load(unpacked_marshal_str)
    => {:foo=>49135}
    
    Version 1.5.1 of the library produces this exact result:
    
    >> gem 'ikai-jruby-memcache-client', '1.5.1'
    => true
    >> require 'memcache'
    => true
    >> mc = MemCache.new(%w[localhost:11211]); nil
    => nil
    >> mc.set('fargo', {:foo => 900})
    => true
    >> mc.get('fargo')
    => {:foo=>49135}
    
    Interestingly enough, on my Solaris system, using 64 bit java, going
    through the MemCachedClient corrupts the data even further, preventing
    marshal from loading it at all.
    
    If you take the intermediate step of Base64 encoding the marshalled
    string, thereby ensuring that all characters are printable, conversion
    to/from UTF-8 is much more likely to succeed:
    
    >> marshal_str = Marshal.dump(:foo => 900)
    => "\004\b{\006:\bfooi\002\204\003"
    >> b64_marshal_str = Base64.encode64(marshal_str)
    => "BAh7BjoIZm9vaQKEAw==\n"
    >> b64_marshal_bytes = b64_marshal_str.to_java_bytes
    => #<#<Class:01x525dc268>:0x40930120>
    >> java_str = java.lang.String.new(b64_marshal_bytes, 'UTF-8')
    => #<Java::JavaLang::String:0x521d590d>
    >> unpacked_b64_marshal_str = String.from_java_bytes(java_str.getBytes('UTF-8'))
    => "BAh7BjoIZm9vaQKEAw==\n"
    >> unb64_marshal_str = Base64.decode64(unpacked_b64_marshal_str)
    => "\004\b{\006:\bfooi\002\204\003"
    >> Marshal.load(unb64_marshal_str)
    => {:foo=>900}
    
    And this is how the client now behaves:
    
    >> mc = MemCache.new(%w[localhost:11211]); nil
    => nil
    >> mc.set('fargo', {:foo => 900})
    => true
    >> mc.get('fargo')
    => {:foo=>900}
    authored November 19, 2009 fredjean committed November 23, 2009
  7. Fixed the README so it would work with version 1.6.0 of the gem.

    authored November 22, 2009

Nov 15, 2009

  1. Added jruby -S to the start of the command to install the gem since i…

    …t is only useful under JRuby.
    authored November 15, 2009
  2. Updated README to point to the gemcutter.org gem instead of the githu…

    …b location.
    authored November 15, 2009

Oct 05, 2009

  1. Ok.. So delete does take 2 params after all...

    authored October 04, 2009
  2. Forgot version file.

    authored October 04, 2009
  3. Modified the servers method so it attaches whether the server connect…

    …ion is alive to each of the strings representing a server. This will allow the client to work with Rails 2.3.x MemCacheStore session store class.
    authored October 04, 2009

Oct 04, 2009

  1. Bumping the version to 1.6.0.

    Getting the specs to work by requiring java when the library or the specs are loaded.
    authored October 04, 2009

Aug 04, 2009

  1. Ikai Lan

    Updating README to use correct gem location

    authored August 04, 2009
  2. Ikai Lan

    Okay, just needed to check/uncheck rubygem and it worked

    authored August 04, 2009
  3. Ikai Lan

    Merging in changes from fredjean branch. For some reason gem won't in…

    …stall ikai-jruby-memcache-client, changing to just use fredjean's for time being
    authored August 04, 2009
Something went wrong with that request. Please try again.