Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jan 3, 2013
  1. @nberardi

    fix for issue #72

    nberardi authored
  2. @nberardi
  3. @nberardi
  4. @nberardi
  5. @nberardi
Commits on Jan 2, 2013
  1. @nberardi
  2. @nberardi
Commits on Nov 30, 2012
  1. @nberardi
  2. @nberardi

    removed yield return

    nberardi authored
Commits on Nov 27, 2012
  1. @nberardi

    Merge pull request #90 from eplowe/connreleaseissue

    nberardi authored
    Not more lazy loading of connections that produce lists. It didn't make much sense to keep this overhead currently.
Commits on Nov 25, 2012
  1. @eplowe
  2. @eplowe

    Went back to ColumnFamilyOperation<IEnumerable<TResult>> instead of C…

    eplowe authored
    …olumnFamilyOperation<IList<TResult>>
Commits on Nov 21, 2012
  1. @nberardi

    changed connection name from Server Recovery Interval to Server Polli…

    nberardi authored
    …ng Interval incase we want to preemptively check for bad servers in the future, issue #89
  2. @nberardi

    minor changes for issue #89

    nberardi authored
  3. @nberardi

    Merge pull request #89 from eplowe/blacklistrefactoring

    nberardi authored
    Blacklist Refactoring
  4. @eplowe
  5. @eplowe

    Some bug tweaks to blacklisting enhancements

    eplowe authored
    	*When removing a server from the blacklist it was not being sent back to the serverqueue
    	*Added some additional exception types to handle in Operation::TryExecute()
    	*Added an additional input parameter on Operation::ExceptionOccuredRetryExecution called: bool markClientAsUnhealthy
    	so that we can selectively blacklist a server when retrying.
    	*In Operation::TryExecute() after Execute() is called must mark HasError = false and Error = null. If not and there is
    	an exception thrown on the first pass but the next pass results in a valid execution the exception was still being thrown.
    
    Added ServerRecoveryInterval to ConnectionString/Builder.
    	Turned the recovery timer into a "one shot" timer and calling the Timer::Change() method at the end of the callback
    	to avoid potential overlap. We could consider using Timers.Timer but then we'd need to think about to handle overlap there as well.
    	Potentially with a Monitor.TryEnter? I am open to suggestions.
Commits on Nov 20, 2012
  1. @eplowe

    Merge pull request #1 from managedfusion/master

    eplowe authored
    Updating My Fork.
  2. @nberardi

    merged changes from @eplowe and refactored part of the code to follow…

    nberardi authored
    … the style used in this project
  3. @eplowe

    Moved IsClientHealthy/ShouldRetry from the generic CassandraException…

    eplowe authored
    … class and moved it to
    
    CassandraOperationException which makes more sense as that exception should be thrown
    anytime we do something with cassandra; connecting, executing a cql query, etc etc.
  4. @eplowe
  5. @eplowe

    When a TimedOutException happens were marking the IsClientHealthy as …

    eplowe authored
    …false, should be true as TimedOutException happens
    
    on the timeout of a command, which still means the client is healthy to accept other requests.
  6. @nberardi
  7. @nberardi
Commits on Nov 16, 2012
  1. @eplowe
  2. @eplowe

    Modified QueryableColumnFamilyOperation to be a ColumnFamilyOperation…

    eplowe authored
    …<IList<TResult>> instead of IEnumerable.
    
    now returning lists instead of doing the yield pattern. Also noticed that in some situations if you do something like
    
    var cf = db.GetColumnFamily("test").Get();
    
    if (cf.Any())
    {
       var key = cf.Last();
    }
    
    This would result in two seperate calls to cassandra. I've modified CassandraSlicePredicateQuery to cache the enumerator returned
    from
    
    Family.ExecuteCassandraSlicePredicateQuery(this)
    
    On the first operation and then all other calls to GetEnumerator return the cached enumerator.
    
    ```c#
    public IEnumerator<TResult> GetEnumerator()
    {
       if (_internalList == null)
          _internalList = Family.ExecuteCassandraSlicePredicateQuery(this).GetEnumerator();
    
          return _internalList;
    }
    ```
Commits on Nov 15, 2012
  1. @eplowe

    Removed the concept of a 'local session'. If a session is passed in,

    eplowe authored
    it will not be disposed off on the dispose method of CassandraContext like
    normal. Added a CloseClient method to CassandraSession and call it in the
    finally block of CassandraContext::ExecuteOperation to, based on the pool
    type, close the connection to the server, or release the connection back
    to the pool. This should suffice contexts being kept around for a while be
    it in a static var etc etc. We definetly need to rework the connection
    concepts but for the mean time this should work.
  2. @eplowe

    checkpoint checking

    eplowe authored
  3. @eplowe

    Updates to support reclaiming a server if an exception happens that d…

    eplowe authored
    …eems that server is no longer healthy. Also added support
    
    Max Retries which is how many times an operation will try to execute if an exception happens and that exception is deemed ShouldRetry=true
Commits on Nov 14, 2012
  1. @nberardi

    Merge pull request #86 from tjake/cqlversion-fix

    nberardi authored
    Only set cql version once per connection
  2. Only set cql version once per connection

    Jake Luciani authored
Commits on Nov 5, 2012
  1. @nberardi
Commits on Oct 23, 2012
  1. @nberardi

    some more namespace cleanup

    nberardi authored
Commits on Oct 22, 2012
  1. @nberardi

    removed unneeded namespace

    nberardi authored
  2. @nberardi
Something went wrong with that request. Please try again.