Fix cleanup of DB pooled connections
Fix bug in cleanup of DB pooled connections before putting them back tothe pool. The way the connection was cleaned, resulted in mishandling ofthe transactions.
Accoring to psycopg2 docs, in case of a READ COMMITED isolation level:...
don't take mutex for cleanup
Enhance pooling API, implementation, and tests
- Verify objects (new and old) with a hook _pool_verify. Discard objects from the pool that fail verification. A newly created object failing verification is fatal.
- Remove all hooks from the pool set access critical section....
complete some functionality
port pooled psycopg2 to new pool api
remove obsolete kwarg verify
Fix bug in http connection pool
Do not reset connetion _pool attribute, since it is not (yet?)initialized when getting the object from the pool.
Enhange logging in db and http pools
Move pooling psycopg2 wrapper to synnefo.lib.db
Move pooling psycopg2 wrapper to synnefo.lib.db,please see commit e83ed1fb8fb4d0d19c2d3f86152fde60b3cadfd9 for all thedetails on how to use the pooling wrapper for psycopg2.
Pool HTTP connections to the astakos service
Have the astakos client use pooled HTTP connections to the astakosservice, uses facilities from synnefo/lib/pool/http.py.
simple http_request objects over connection pools
Make pool more robust on obj creation failure
Make ObjectPool handle failures during object creation more robustly,and release the pool semaphore.
Extend ObjectPool functionality, tests
Rename ObjectPool methods to pool_{put(), get()}
Support timeout in ObjectPool.get(), fix tests
Support optional timeout argument in ObjectPool.get(),if supported by the underlying Semaphore implementation.
Implement command-line argument for ObjectPool unit tests to runinside gevent monkey-patched environment.
Make minor fixes to Singleton class unit tests
Add ObjectPool class in synnefo.lib
Add ObjectPool class in synnefo.lib.The ObjectPool class is an abstract pool of objects,based on Semaphore locks, as provided by the threadingpackage.
Tested to work with a gevent-monkey-patched threading package.Uncomment the relevant lines in pool/tests.py to test with greenlet...
Implement Singleton pattern
Implement Singleton pattern inside synnefo.lib.singleton.
Whenever a class inherits from ArgBasedSingleton,attempts to call the class do not always create a newclass instance, but return pre-existing, already made objects....
Fix bug in puka client
Merge branch 'simplequotas' into queues+minor_net
Redeclare exchanges when reconnecting
Fix authenticate
Differentiate Unauthorized astakos response from other error responses
Refactor AMQP client
Minor fixes
Update modules interacting with AMQP
Update all modules which are interacting with the RabbitMQ messaging system touse the AMQPClient in order to use highly available queues in active/activemode.
Extend messages to include a unique identifier in order to handle...
Client for interaction with a RabbitMQ broker
Introduce a client implementing connection and communication with a RabbitMQbroker.
This client silently handles connection failures an tries to connect to adifferent node. Also uses publisher-confirms to guarantee delivery to the...
Add instance to Aquarium receipt.
Provide a fallback token to user library.
Merge branch 'master' into astakos-integration
RemoteAddr middleware
reusable middleware that sets the REMOTE_ADDR meta in request, if notalready set.
Reusable cloudbar context processor
Common synnefo lib
Includes the following helpers to be used by synnefo django apps
- logging config initialization middlware- astakos authentication helpers- parse_http_date compat helper- rabbitmq client using pika