Github user FlorianHockmann commented on the issue:

    https://github.com/apache/tinkerpop/pull/903
  
    Thanks for the insight @spmallette. That means for this PR that we don't 
have to hurry at the moment.
    
    > Max in-flight should be a threshold that, when reached, more connections 
are created.
    
    So, max in-flight would be a global threshold? I think it would be hard to 
set a meaningful limit for that as it depends on the maximum pool pool size.
    The Java driver has a `maxSimultaneousUsagePerConnection` and creates a new 
connection when the least used connection has reached that limit (until the max 
pool size is reached).
    
    > When max amount of connections is reached, we can either:
    a) Continue queueing at connection level (adding it to the queue).
    b) Throttle requests by throwing an error, like MaxLimitExceededException 
or something like that.
    
    The Java driver waits for an available connection in that case which needs 
to have less than the `maxSimultaneousUsagePerConnection` requests in progress.
    That approach makes sense to me and I don't really like throwing an 
exception only because the limit is reached because of a high number of 
requests that might only be a temporary problem.
    
    If we want to follow a similar approach like that of the Java driver, then 
we still need to wait for an available connection which would also require such 
an `AsyncAutoResetEvent`.


---

Reply via email to