You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Pavel Yaskevich (Created) (JIRA)" <ji...@apache.org> on 2012/01/27 01:25:40 UTC

[jira] [Created] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
---------------------------------------------------------------------------

                 Key: CASSANDRA-3794
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
             Project: Cassandra
          Issue Type: Improvement
          Components: Core
            Reporter: Pavel Yaskevich
            Assignee: Pavel Yaskevich
            Priority: Minor
             Fix For: 1.2


Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Pavel Yaskevich commented on CASSANDRA-3794:
--------------------------------------------

Yeah, I think that this was the main reason to add that. Although change proposed here would only work if CFs simultaneously created on the different machines are *not* the same CF otherwise we would have hopeless situation upon merge which would break the whole schema. We can't really check what schema mutation would lead to before we apply it and try to merge so I don't really see what we can do about it...
                
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Jonathan Ellis commented on CASSANDRA-3794:
-------------------------------------------

Is this still useful given the CASSANDRA-1391 implementation?
                
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Priority: Minor
>             Fix For: 1.2
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Avoid ID conflicts from concurrent schema changes

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

Sylvain Lebresne commented on CASSANDRA-3794:
---------------------------------------------

Previous oppositions weren't mine but in any case I'm personally good going with #3 too (Pavel's patch already includes the id<->uuid mapping, our only problem is the dropping of streaming connection on version mismatch). This fix doesn't affect anything streamed, so it should be fine to bump the messaging version but special case streaming so that it doesn't drop the connection for streams coming from 1.1.0.
                
> Avoid ID conflicts from concurrent schema changes
> -------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>         Attachments: CASSANDRA-3794.patch
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3794) Avoid ID conflicts from concurrent schema changes

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

Pavel Yaskevich updated CASSANDRA-3794:
---------------------------------------

    Attachment: CASSANDRA-3794-v2.patch

v2 that addresses all pointes.
                
> Avoid ID conflicts from concurrent schema changes
> -------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>         Attachments: CASSANDRA-3794-v2.patch, CASSANDRA-3794.patch
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Pavel Yaskevich commented on CASSANDRA-3794:
--------------------------------------------

I don't think so because CASSANDRA-1983 proposes to change the way we identify SSTables and this one proposes to change the way we identify ColumnFamilies.
                
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>            Priority: Minor
>             Fix For: 1.2
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Avoid ID conflicts from concurrent schema changes

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

Jonathan Ellis commented on CASSANDRA-3794:
-------------------------------------------

Our options include

# break streaming for 1.1.1 as an "emergency fix"
# retract claims that 1.1 allows concurrent schema changes, postpone this fix for 1.2
# add a mapping between old int IDs and new UUIDs and version streaming accordingly

I'm okay with any of these, although if #3 is feasible that would be preferred.
                
> Avoid ID conflicts from concurrent schema changes
> -------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>         Attachments: CASSANDRA-3794.patch
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Marcus Eriksson commented on CASSANDRA-3794:
--------------------------------------------

duplicate of CASSANDRA-1983 right?
                
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>            Priority: Minor
>             Fix For: 1.2
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3794) Avoid ID conflicts from concurrent schema changes

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

Jonathan Ellis updated CASSANDRA-3794:
--------------------------------------

    Summary: Avoid ID conflicts from concurrent schema changes  (was: Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.)
    
> Avoid ID conflicts from concurrent schema changes
> -------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Jonathan Ellis commented on CASSANDRA-3794:
-------------------------------------------

Sounds like we should prototype the "just use cfname" approach and see how bad the hit is in practice.  If we're lucky it will be negligible and we can move on.
                
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Jonathan Ellis commented on CASSANDRA-3794:
-------------------------------------------

How do we do this w/o breaking compatibility during the upgrade, is my question.
                
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>            Priority: Minor
>             Fix For: 1.2
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Pavel Yaskevich updated CASSANDRA-3794:
---------------------------------------

    Comment: was deleted

(was: Seems like it but description of that one is ambiguous so we can equally change the description there and close this one or close CASSANDRA-1983 and work on this.)
    
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>            Priority: Minor
>             Fix For: 1.2
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Assigned] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Jonathan Ellis reassigned CASSANDRA-3794:
-----------------------------------------

    Assignee:     (was: Pavel Yaskevich)

I believe Pavel is working on other things now (he can correct me if I am wrong) so I am clearing the assignment in case someone else can tackle it.
                
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Priority: Minor
>             Fix For: 1.2
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3794) Avoid ID conflicts from concurrent schema changes

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

Pavel Yaskevich updated CASSANDRA-3794:
---------------------------------------

    Fix Version/s:     (was: 1.1.1)
                   1.2
    
> Avoid ID conflicts from concurrent schema changes
> -------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.2
>
>         Attachments: CASSANDRA-3794-trunk.patch, CASSANDRA-3794-v2.patch, CASSANDRA-3794.patch
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Avoid ID conflicts from concurrent schema changes

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

Sylvain Lebresne commented on CASSANDRA-3794:
---------------------------------------------

Two small nits while looking at v2 quickly:
* In fromSchemaNoColumns, the try catch is not useful.
* In ColumnFamilySerializer, when we serialize for an old version and can't find an oldId, it'll probably be better to use a more user friendly message like "Cannot send column family X to Y as it's version is pre-1.1.1. Please update the whole cluster to 1.1.1 first".

But I think we agreed that it's safer to target this at 1.2 and acknowledge that concurrent table creation will only be supported then, so this will need rebase to trunk :)
                
> Avoid ID conflicts from concurrent schema changes
> -------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>         Attachments: CASSANDRA-3794-v2.patch, CASSANDRA-3794.patch
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Avoid ID conflicts from concurrent schema changes

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

Sylvain Lebresne commented on CASSANDRA-3794:
---------------------------------------------

For info, changing the messaging service version will break streaming during the upgrade. And last time we tried, there was strong opposition in changing the messaging service version in a minor release. Not that I have a good solution for fixing this without breaking the protocol.
                
> Avoid ID conflicts from concurrent schema changes
> -------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>         Attachments: CASSANDRA-3794.patch
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Pavel Yaskevich commented on CASSANDRA-3794:
--------------------------------------------

Sure it is, given that CFs could be created on the disconnected nodes and have the same cfId assigned - after the schema merge system would crash with RTE.
                
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Priority: Minor
>             Fix For: 1.2
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Pavel Yaskevich commented on CASSANDRA-3794:
--------------------------------------------

It doesn't really help tho if the same CF created on the different nodes simultaneously. 
                
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3794) Avoid ID conflicts from concurrent schema changes

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

Jonathan Ellis updated CASSANDRA-3794:
--------------------------------------

    Reviewer: slebresne  (was: jbellis)
    
> Avoid ID conflicts from concurrent schema changes
> -------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>         Attachments: CASSANDRA-3794.patch
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Jonathan Ellis commented on CASSANDRA-3794:
-------------------------------------------

As long as everyone agrees on one of the CF definitions eventually, or even a combination of the two, that's totally fine.
                
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Jonathan Ellis commented on CASSANDRA-3794:
-------------------------------------------

I guess a side benefit is, we cut down on the data we send for each insert or read request...
                
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Peter Schuller commented on CASSANDRA-3794:
-------------------------------------------

Which I interpret as the cf id:s that are embedded in e.g. row mutations (remember all those "invalid cfId..." cases upon schema changes). In general, UUID:s should minimize the chances of accidentally applying something to the wrong CF (which I suppose is a generalization of the simultaneous creation case mentioned in the ticket description).

                
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>            Priority: Minor
>             Fix For: 1.2
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3794) Avoid ID conflicts from concurrent schema changes

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

Pavel Yaskevich updated CASSANDRA-3794:
---------------------------------------

    Attachment: CASSANDRA-3794.patch

Made a migration from int to uuid, made sure that all SerializationTests pass (and all other tests) and schema is merged correctly in the situations described in previous comments.
                
> Avoid ID conflicts from concurrent schema changes
> -------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>         Attachments: CASSANDRA-3794.patch
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Jonathan Ellis updated CASSANDRA-3794:
--------------------------------------

         Priority: Major  (was: Minor)
    Fix Version/s:     (was: 1.2)
                   1.1.1
         Assignee: Pavel Yaskevich

I guess we'll need some kind of Int -> UUID [bi]map to maintain compatibility during rolling upgrade...
                
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Avoid ID conflicts from concurrent schema changes

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

Sylvain Lebresne commented on CASSANDRA-3794:
---------------------------------------------

Looking more closely, there is actually two problems with respect to rolling upgrades:
# because newly created CF won't have an old format id, it means people shouldn't create any CF in a mixed version cluster. That would clearly be fine for a major upgrade, it's more annoying to roll this in a minor upgrade though imo. I don't think there is anything we can do about that.
# as is, streaming won't work in a mixed version cluster (as is the case in major upgrade) by virtue of the following code in IncomingTcpConnection:
{noformat}
if (version == MessagingService.version_)
{
    ....
}
else
{
    // streaming connections are per-session and have a fixed version.  we can't do anything with a wrong-version stream connection, so drop it.
    logger.error("Received stream using protocol version {} (my version {}). Terminating connection",
                 version, MessagingService.version_);
}
{noformat}
We could avoid that, by say adding some isStreamingCompatible(v1, v2) method that would return true for VERSION_11 and VERSION_111, since after all there is no change to the stream format. However, the patch also need to version correctly StreamRequestMessage for it to work correctly.

Overall, this is not a small patch, and it will induces more limited rolling upgrade behavior than is the norm in a minor version, so I'll admit I'm personally growing more in favor of solution #2 above (postpone to 1.2).

That being said, on the patch itself:
* In RowCacheKey.compareTo(), == is used intead of equals().
* In Schema, we can remove the cfIdGen field && MIN_CF_ID.
* nameUUIDFromBytes already does a md5 internally, so we should just pass the concatenation of ksName and cfName bytes (doubling the md5 slightly augments the chance of collisions).
* When writing the schema, for the "id" column, the code write a string/UUID (toSchemaNoColumns) but expect an int when reading (fromSchemaNoColumns). The fact is, we don't need to save the new style id in the schema since we can recompute it. So we should keep the "id" column for oldId (if they exist). Also, when writing a CF schema, we should check if it has an associated old cfId and write it if it has (i.e. we should preserve the old ids mapping (when it exists) for now, we'll drop that in a future version).
* Schema.addOldCfIdMapping should check for null value for the oldId and ignore it, since in fromSchemaNoColumns, result.getInt("id") will return null for new CF.
* ColumnFamilySerializer needs to version the serialize version, when we talk to old node (same in RowMutation serialize method). Of course, when a CF don't have a old id, we'll have to throw an exception instead (that the 'user shouldn't create CF in a mixed cluster').
* StreamRequestMessage should version cfId correctly.
* In SchemaLoader, not sure we want to always assign an old style id to the CF. Instead, it would probably be better to add a few specific tests (serialization test ?) that validate the old id are correctly handled.
* OCD nit: convertOldCFId could be renamed to convertOldCfId for consistency with the rest (i.e. 'F' could be lowercased) :P

                
> Avoid ID conflicts from concurrent schema changes
> -------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>         Attachments: CASSANDRA-3794.patch
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3794) Avoid ID conflicts from concurrent schema changes

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

Pavel Yaskevich updated CASSANDRA-3794:
---------------------------------------

    Attachment: CASSANDRA-3794-trunk.patch

rebased with the latest trunk and fixed nit.
                
> Avoid ID conflicts from concurrent schema changes
> -------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>         Attachments: CASSANDRA-3794-trunk.patch, CASSANDRA-3794-v2.patch, CASSANDRA-3794.patch
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Pavel Yaskevich commented on CASSANDRA-3794:
--------------------------------------------

This got me thinking that if we change int to UUID it wouldn't actually change the deal unless we generate UUID based on the CF attributes (so we can merge simultaneously created CF on the different machines) but after we update attributes again we would have to re-generate id. The question is - do we really need ID for CF? We can guarantee uniqueness of CF in the given keyspace by CF's name... 
                
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Avoid ID conflicts from concurrent schema changes

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

Sylvain Lebresne commented on CASSANDRA-3794:
---------------------------------------------

In StreamRequest serializer, serializedSize should use CFSerializer.cfIdSerializedSize().

But with that corrected, looks good to me, +1.
                
> Avoid ID conflicts from concurrent schema changes
> -------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.1
>
>         Attachments: CASSANDRA-3794-trunk.patch, CASSANDRA-3794-v2.patch, CASSANDRA-3794.patch
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3794) Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.

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

Pavel Yaskevich commented on CASSANDRA-3794:
--------------------------------------------

Seems like it but description of that one is ambiguous so we can equally change the description there and close this one or close CASSANDRA-1983 and work on this.
                
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers.
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-3794
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3794
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>            Priority: Minor
>             Fix For: 1.2
>
>
> Change ColumnFamily identifiers to be UUIDs instead of sequential Integers. Would be useful in the situation when nodes simultaneously trying to create ColumnFamilies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira