Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on May 27, 2008
  1. Killed off a slightly elusive bug that was causing sporatic cancellat…

    authored
    …ions.
    
    Whenever a read returned in the binary protocol without having read
    enough bytes to fill a header packet, an NPE would be fired that would
    cause us to disconnect from the server and cancel all in-flight
    operations.
    
    This happened occasionally in one of my tests and was rather a pain to
    track down.  It likely never affected anyone since I doubt anyone is
    actually using the binary protocol anywhere today.
  2. @nelz9999
Commits on May 14, 2008
  1. Allow the input, op read and op write queues to be individually speci…

    authored
    …fied.
    
    By default, the read queue is 10% larger than the input queue.
    
    With a sufficiently large op read queue, it's possible to never
    internally overflow, but correct values are likely
    application-specific.
  2. Updated delete documentation.

    authored
  3. Read before writes and expect IllegalStateException.

    authored
    These are two measures that are helping with the queue overflow
    problems.
    
    Firstly, the IllegalStateException is thrown whenever you attempted to
    add to a queue that's full.  If that happens internally, I don't want
    the IO thread to crash, so I add it to the normal ``expected
    exceptions'' list.
    
    Secondly, reading before writing helps keep the read buffer ready for
    new data.  When writing first, the write will have to transition to a
    read and may cause the read buffer to overflow.  It still may happen,
    but by servicing the reads first I can at least get the complete ones
    popped out before piling new ones in (since writes are almost always
    smaller and likely to transition).
Commits on May 13, 2008
Commits on May 11, 2008
  1. Turning the timeouts way up during tests.

    authored
    I manage to do something that slows stuff down in my full test plan
    which leads to spurious failures.
    
    This may be hinting at a bug of some type, or perhaps some bad
    defaults, but this code isn't attempting to test timeouts so they
    should never get in the way.
  2. buildr 1.3 is not ready for me.

    authored
    Revert "Updates for a newer version of buildr."
    
    This reverts commit 0fcb055.
  3. Smarter assertion check test.

    authored
    The previous one passing when assertions weren't enabled.
    Must test the tests.
  4. Test fix. Invalid connections shouldn't fail to shut down.

    authored
    I think there may be a bigger bug around this, but it only occurs when
    trying to shut down a connection that shouldn't've started due to
    someone writing a broken connection factory, so I think we can live
    with it.
Commits on May 9, 2008
Commits on May 5, 2008
Commits on May 3, 2008
  1. Added some negative tests for prepend/append and found some bugs.

    authored
    Turns out the ``not found'' error for prepend and append is different
    from that of other commands so I needed to make a case for it.
  2. Removed some dead code.

    authored
  3. Make zero byte packing optional in transcoder utils.

    authored
    This is primarily because I don't know for sure the Whalin client
    would know what to do if it saw a 0 byte long.
  4. Some tests on the parent class of the serializing transcoders.

    authored
    This helps me ensure the contract of certain methods, and (shockingly)
    found some minor bugs in edge cases.
  5. Implementation of append and prepend.

    authored
    I've got a test failure in ascii append/prepend and I haven't quite
    figured out why it gives an EXISTS error, so this may be broken there.
    Works fine in binary including with CAS operations.
  6. Constants should be final.

    authored
  7. Tests classes must end in Test in order to get picked up.

    authored
    I knew pushing at that point was a dumb idea.
  8. Tests for timeout operations.

    authored
  9. Moved operation timeout into the connection factory.

    authored
    It shouldn't change at runtime in a client, as the current model was
    not thread safe.  In order for this to be dynamically reconfigurable,
    the field either needs to be volatile or access to the value must be
    synchronized.
    
    By having the value be declared final and removing the mutators and
    accessors, we can guarantee correctness.
  10. Speed up the graceful shutdown test slightly.

    authored
    This one has been spuriously failing me for a while.  I'd like it to
    consistently run, but I'll settle for 3x more likely for now.
Something went wrong with that request. Please try again.