You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Eric Evans (JIRA)" <ji...@apache.org> on 2010/11/04 16:15:44 UTC

[jira] Created: (CASSANDRA-1710) Java driver for CQL

Java driver for CQL
-------------------

                 Key: CASSANDRA-1710
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
             Project: Cassandra
          Issue Type: Sub-task
          Components: API
    Affects Versions: 0.8
            Reporter: Eric Evans
            Priority: Minor
             Fix For: 0.8


In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:

* Query compression
* Keyspace assignment on connection
* Connection pooling / load-balancing

The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans updated CASSANDRA-1710:
----------------------------------

    Attachment:     (was: v1-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt)

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v1-0002-compile-driver-source.txt, v2-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v2-0002-compile-driver-source.txt, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1710) Java driver for CQL

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Dusbabek updated CASSANDRA-1710:
-------------------------------------

    Attachment: jdbc-ish.diff

This may not be useful or productive, but I had to put the code somewhere.  This patch (applies on top) and makes the API JDBC-ish, which may be undesirable).  However, it does push the pool abstraction down so that client code would think about pools and could treat all Connection objects the same way: get connection, execute query, close.

I haven't given too much thought as to how this would work out in other languages, but it is idiomatic for java. :)

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: jdbc-ish.diff, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1710) Java driver for CQL

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12977846#action_12977846 ] 

Gary Dusbabek commented on CASSANDRA-1710:
------------------------------------------

+1

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v1-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v1-0002-compile-driver-source.txt, v2-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v2-0002-compile-driver-source.txt, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans reassigned CASSANDRA-1710:
-------------------------------------

    Assignee: Eric Evans

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: jdbc-ish.diff, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans updated CASSANDRA-1710:
----------------------------------

    Attachment: v3-0002-compile-driver-source.txt
                v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v1-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v1-0002-compile-driver-source.txt, v2-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v2-0002-compile-driver-source.txt, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1710) Java driver for CQL

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12978960#action_12978960 ] 

Jonathan Ellis commented on CASSANDRA-1710:
-------------------------------------------

is there any reason we shouldn't do an actual JDBC-compliant interface?  i can't think of anything in CQL that makes prepareStatement, executeQuery, et all a bad fit

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: jdbc-ish.diff, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans updated CASSANDRA-1710:
----------------------------------

    Attachment:     (was: v2-0002-compile-driver-source.txt)

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12977829#action_12977829 ] 

Eric Evans commented on CASSANDRA-1710:
---------------------------------------

Yeah, that falls squarely in Don't Do That territory, but since you cannot re-open a closed connection, it makes sense to refuse to re-add them to the pool (and to log a warning).

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v1-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v1-0002-compile-driver-source.txt, v2-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v2-0002-compile-driver-source.txt, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans resolved CASSANDRA-1710.
-----------------------------------

    Resolution: Fixed

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>              Labels: cql
>             Fix For: 0.8
>
>         Attachments: jdbc-ish.diff, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Updated: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans updated CASSANDRA-1710:
----------------------------------

    Assignee:     (was: Eric Evans)

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v1-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v1-0002-compile-driver-source.txt, v2-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v2-0002-compile-driver-source.txt, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans updated CASSANDRA-1710:
----------------------------------

    Attachment:     (was: v1-0002-compile-driver-source.txt)

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1710) Java driver for CQL

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12978599#action_12978599 ] 

Hudson commented on CASSANDRA-1710:
-----------------------------------

Integrated in Cassandra #663 (See [https://hudson.apache.org/hudson/job/Cassandra/663/])
    

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: jdbc-ish.diff, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12977863#action_12977863 ] 

Eric Evans commented on CASSANDRA-1710:
---------------------------------------

basic pooling committed.

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v1-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v1-0002-compile-driver-source.txt, v2-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v2-0002-compile-driver-source.txt, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1710) Java driver for CQL

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12977783#action_12977783 ] 

Gary Dusbabek commented on CASSANDRA-1710:
------------------------------------------

* returnConnection() possibly closes a connection and then returns the [maybe] closed connection back to the pool.  Does this mean it is possible to borrow a closed connection?
* it looks like the size of the pool can be artificially inflated by creating new Connections outside of the pool and then returning them to the pool.
* EvictionTask closes Connections that may already be closed.  IIRC this will generate a Thrift exception when the transport is double-closed.

Since the pool doesn't know the state of the connection does it makes sense to add isClosed() to the connection API?

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v1-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v1-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1710) Java driver for CQL

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12979830#action_12979830 ] 

Jonathan Ellis commented on CASSANDRA-1710:
-------------------------------------------

http://java.sun.com/products/jdbc/driverdevs.html explains which parts of the JDBC spec are actually required vs optional vs implemented in the JDK.

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: jdbc-ish.diff, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans updated CASSANDRA-1710:
----------------------------------

    Attachment: v1-0002-compile-driver-source.txt
                v1-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v1-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v1-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1710) Java driver for CQL

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12977793#action_12977793 ] 

Gary Dusbabek commented on CASSANDRA-1710:
------------------------------------------

Changes look good.  

One more thing I realized: careless uses could close() a Connection before returning it to the pool, which if not full, would add a closed connection.

Depending on how much you want to guard the API you could check connection status before returning it to the queue or emit derived Connections that have their close() methods overwritten to be no-ops (or log a WARN), so that only the pool could call the real close().

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v1-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v1-0002-compile-driver-source.txt, v2-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v2-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans reassigned CASSANDRA-1710:
-------------------------------------

    Assignee: Eric Evans

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v1-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v1-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13004776#comment-13004776 ] 

Eric Evans commented on CASSANDRA-1710:
---------------------------------------

This work has been folded into the JDBC driver (CASSANDRA-2124); marking this ticket closed.

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>              Labels: cql
>             Fix For: 0.8
>
>         Attachments: jdbc-ish.diff, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Commented: (CASSANDRA-1710) Java driver for CQL

Posted by "Jeremy Hanna (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12980705#action_12980705 ] 

Jeremy Hanna commented on CASSANDRA-1710:
-----------------------------------------

Would it make sense to somehow incorporate the work of THRIFT-106 into the Java driver so that all clients can have the ability to do encrypted connections to the server?

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: jdbc-ish.diff, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12979850#action_12979850 ] 

Eric Evans commented on CASSANDRA-1710:
---------------------------------------

Perfect. I'll have a look at this.

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: jdbc-ish.diff, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans updated CASSANDRA-1710:
----------------------------------

    Attachment: v2-0002-compile-driver-source.txt
                v2-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v1-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v1-0002-compile-driver-source.txt, v2-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v2-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12977789#action_12977789 ] 

Eric Evans commented on CASSANDRA-1710:
---------------------------------------

bq. returnConnection() possibly closes a connection and then returns the maybe closed connection back to the pool. Does this mean it is possible to borrow a closed connection?

Auh, right you are.  That block is missing a {{return}}.

{quote}
	•  it looks like the size of the pool can be artificially inflated by creating new Connections outside of the pool and then returning them to the pool.
	•  EvictionTask closes Connections that may already be closed. IIRC this will generate a Thrift exception when the transport is double-closed.
{quote}

Good catches.  v2 patches attached.

Thanks!

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Assignee: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v1-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v1-0002-compile-driver-source.txt, v2-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v2-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1710) Java driver for CQL

Posted by "Eric Evans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Evans updated CASSANDRA-1710:
----------------------------------

    Attachment:     (was: v2-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt)

> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (CASSANDRA-1710) Java driver for CQL

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12977948#action_12977948 ] 

Gary Dusbabek edited comment on CASSANDRA-1710 at 1/5/11 3:19 PM:
------------------------------------------------------------------

This may not be useful or productive, but I had to put the code somewhere.  This patch (applies on top) and makes the API JDBC-ish, which may be undesirable).  However, it does push the pool abstraction down so that client code wouldn't need to think about pools and could treat all Connection objects the same way: get connection, execute query, close.

I haven't given too much thought as to how this would work out in other languages, but it is idiomatic for java. :)

      was (Author: gdusbabek):
    This may not be useful or productive, but I had to put the code somewhere.  This patch (applies on top) and makes the API JDBC-ish, which may be undesirable).  However, it does push the pool abstraction down so that client code would think about pools and could treat all Connection objects the same way: get connection, execute query, close.

I haven't given too much thought as to how this would work out in other languages, but it is idiomatic for java. :)
  
> Java driver for CQL
> -------------------
>
>                 Key: CASSANDRA-1710
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1710
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 0.8
>            Reporter: Eric Evans
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: jdbc-ish.diff, v3-0001-CASSANDRA-1710-basic-connection-pooling-for-java-drive.txt, v3-0002-compile-driver-source.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of:
> * Query compression
> * Keyspace assignment on connection
> * Connection pooling / load-balancing
> The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.