You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Gary Dusbabek (JIRA)" <ji...@apache.org> on 2011/03/21 16:26:05 UTC

[jira] [Created] (CASSANDRA-2361) AES depends on java serialization

AES depends on java serialization
---------------------------------

                 Key: CASSANDRA-2361
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2361
             Project: Cassandra
          Issue Type: Improvement
          Components: Core
    Affects Versions: 0.7.4
            Reporter: Gary Dusbabek
            Assignee: Gary Dusbabek
            Priority: Minor
             Fix For: 0.7.5, 0.8


0.8 should be able to run in the same cluster as 0.7.  AES uses java serialization which means that Token serialization stands a good chance of being brittle.  This needs to be fixed.

1.  place a hard-coded serialVersionUID for Token in 0.7.5.
2.  have AES use ICompactSerializer in place of ObjectInputStream in 0.8.

This would be a good opportunity to audit the code for imprudent uses of Object[Input|Output]Stream and get those cleaned up.  Also, it will exercise the versioning code a bit.

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

[jira] [Updated] (CASSANDRA-2361) AES depends on java serialization

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

Gary Dusbabek updated CASSANDRA-2361:
-------------------------------------

    Attachment:     (was: v1-0001-ICompactSerializers-for-MerkleTrees.txt)

> AES depends on java serialization
> ---------------------------------
>
>                 Key: CASSANDRA-2361
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2361
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.4
>            Reporter: Gary Dusbabek
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.7.5, 0.8
>
>         Attachments: 2361-part1.patch, v2-0001-ICompactSerializers-for-MerkleTrees.txt, v2-0002-get-rid-of-annoying-AES-emissions.txt
>
>
> 0.8 should be able to run in the same cluster as 0.7.  AES uses java serialization which means that Token serialization stands a good chance of being brittle.  This needs to be fixed.
> 1.  place a hard-coded serialVersionUID for Token in 0.7.5.
> 2.  have AES use ICompactSerializer in place of ObjectInputStream in 0.8.
> This would be a good opportunity to audit the code for imprudent uses of Object[Input|Output]Stream and get those cleaned up.  Also, it will exercise the versioning code a bit.

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

[jira] [Commented] (CASSANDRA-2361) AES depends on java serialization

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

Gary Dusbabek commented on CASSANDRA-2361:
------------------------------------------

Go ahead and attach it to CASSANDRA-1034 then.  I will modify the scope of this ticket to encompass only part 2.

> AES depends on java serialization
> ---------------------------------
>
>                 Key: CASSANDRA-2361
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2361
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.4
>            Reporter: Gary Dusbabek
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.7.5, 0.8
>
>         Attachments: 2361-part1.patch
>
>
> 0.8 should be able to run in the same cluster as 0.7.  AES uses java serialization which means that Token serialization stands a good chance of being brittle.  This needs to be fixed.
> 1.  place a hard-coded serialVersionUID for Token in 0.7.5.
> 2.  have AES use ICompactSerializer in place of ObjectInputStream in 0.8.
> This would be a good opportunity to audit the code for imprudent uses of Object[Input|Output]Stream and get those cleaned up.  Also, it will exercise the versioning code a bit.

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

[jira] [Commented] (CASSANDRA-2361) AES depends on java serialization

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

Jonathan Ellis commented on CASSANDRA-2361:
-------------------------------------------

committed part1

> AES depends on java serialization
> ---------------------------------
>
>                 Key: CASSANDRA-2361
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2361
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.4
>            Reporter: Gary Dusbabek
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.7.5, 0.8
>
>         Attachments: 2361-part1.patch
>
>
> 0.8 should be able to run in the same cluster as 0.7.  AES uses java serialization which means that Token serialization stands a good chance of being brittle.  This needs to be fixed.
> 1.  place a hard-coded serialVersionUID for Token in 0.7.5.
> 2.  have AES use ICompactSerializer in place of ObjectInputStream in 0.8.
> This would be a good opportunity to audit the code for imprudent uses of Object[Input|Output]Stream and get those cleaned up.  Also, it will exercise the versioning code a bit.

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

[jira] [Updated] (CASSANDRA-2361) AES depends on java serialization

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

Sylvain Lebresne updated CASSANDRA-2361:
----------------------------------------

    Attachment: 2361-part1.patch

I took the liberty to write part1 (add a serialVersionUID to token) because this is needed for CASSANDRA-1034 to pass the unit tests.

> AES depends on java serialization
> ---------------------------------
>
>                 Key: CASSANDRA-2361
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2361
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.4
>            Reporter: Gary Dusbabek
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.7.5, 0.8
>
>         Attachments: 2361-part1.patch
>
>
> 0.8 should be able to run in the same cluster as 0.7.  AES uses java serialization which means that Token serialization stands a good chance of being brittle.  This needs to be fixed.
> 1.  place a hard-coded serialVersionUID for Token in 0.7.5.
> 2.  have AES use ICompactSerializer in place of ObjectInputStream in 0.8.
> This would be a good opportunity to audit the code for imprudent uses of Object[Input|Output]Stream and get those cleaned up.  Also, it will exercise the versioning code a bit.

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

[jira] [Updated] (CASSANDRA-2361) AES depends on java serialization

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

Gary Dusbabek updated CASSANDRA-2361:
-------------------------------------

    Attachment:     (was: v1-0002-git-rid-of-annoying-AES-emissions.txt)

> AES depends on java serialization
> ---------------------------------
>
>                 Key: CASSANDRA-2361
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2361
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.4
>            Reporter: Gary Dusbabek
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.7.5, 0.8
>
>         Attachments: 2361-part1.patch, v2-0001-ICompactSerializers-for-MerkleTrees.txt, v2-0002-get-rid-of-annoying-AES-emissions.txt
>
>
> 0.8 should be able to run in the same cluster as 0.7.  AES uses java serialization which means that Token serialization stands a good chance of being brittle.  This needs to be fixed.
> 1.  place a hard-coded serialVersionUID for Token in 0.7.5.
> 2.  have AES use ICompactSerializer in place of ObjectInputStream in 0.8.
> This would be a good opportunity to audit the code for imprudent uses of Object[Input|Output]Stream and get those cleaned up.  Also, it will exercise the versioning code a bit.

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

[jira] [Commented] (CASSANDRA-2361) AES depends on java serialization

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

Hudson commented on CASSANDRA-2361:
-----------------------------------

Integrated in Cassandra #819 (See [https://hudson.apache.org/hudson/job/Cassandra/819/])
    Use ICompactSerializer in AES instead of java serialization (and fix tests warnings)
patch by gdusbabek; reviewed by slebresne for CASSANDRA-2361


> AES depends on java serialization
> ---------------------------------
>
>                 Key: CASSANDRA-2361
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2361
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.4
>            Reporter: Gary Dusbabek
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.7.5, 0.8
>
>         Attachments: 2361-part1.patch, v2-0001-ICompactSerializers-for-MerkleTrees.txt, v2-0002-get-rid-of-annoying-AES-emissions.txt
>
>
> 0.8 should be able to run in the same cluster as 0.7.  AES uses java serialization which means that Token serialization stands a good chance of being brittle.  This needs to be fixed.
> 1.  place a hard-coded serialVersionUID for Token in 0.7.5.
> 2.  have AES use ICompactSerializer in place of ObjectInputStream in 0.8.
> This would be a good opportunity to audit the code for imprudent uses of Object[Input|Output]Stream and get those cleaned up.  Also, it will exercise the versioning code a bit.

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

[jira] [Updated] (CASSANDRA-2361) AES depends on java serialization

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

Gary Dusbabek updated CASSANDRA-2361:
-------------------------------------

    Attachment: v1-0002-git-rid-of-annoying-AES-emissions.txt
                v1-0001-ICompactSerializers-for-MerkleTrees.txt

> AES depends on java serialization
> ---------------------------------
>
>                 Key: CASSANDRA-2361
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2361
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.4
>            Reporter: Gary Dusbabek
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.7.5, 0.8
>
>         Attachments: 2361-part1.patch, v1-0001-ICompactSerializers-for-MerkleTrees.txt, v1-0002-git-rid-of-annoying-AES-emissions.txt
>
>
> 0.8 should be able to run in the same cluster as 0.7.  AES uses java serialization which means that Token serialization stands a good chance of being brittle.  This needs to be fixed.
> 1.  place a hard-coded serialVersionUID for Token in 0.7.5.
> 2.  have AES use ICompactSerializer in place of ObjectInputStream in 0.8.
> This would be a good opportunity to audit the code for imprudent uses of Object[Input|Output]Stream and get those cleaned up.  Also, it will exercise the versioning code a bit.

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

[jira] [Commented] (CASSANDRA-2361) AES depends on java serialization

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

Gary Dusbabek commented on CASSANDRA-2361:
------------------------------------------

v2 implements Sylvain's suggestion for more compact serializations.

> AES depends on java serialization
> ---------------------------------
>
>                 Key: CASSANDRA-2361
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2361
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.4
>            Reporter: Gary Dusbabek
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.7.5, 0.8
>
>         Attachments: 2361-part1.patch, v2-0001-ICompactSerializers-for-MerkleTrees.txt, v2-0002-get-rid-of-annoying-AES-emissions.txt
>
>
> 0.8 should be able to run in the same cluster as 0.7.  AES uses java serialization which means that Token serialization stands a good chance of being brittle.  This needs to be fixed.
> 1.  place a hard-coded serialVersionUID for Token in 0.7.5.
> 2.  have AES use ICompactSerializer in place of ObjectInputStream in 0.8.
> This would be a good opportunity to audit the code for imprudent uses of Object[Input|Output]Stream and get those cleaned up.  Also, it will exercise the versioning code a bit.

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

[jira] [Commented] (CASSANDRA-2361) AES depends on java serialization

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

Sylvain Lebresne commented on CASSANDRA-2361:
---------------------------------------------

This looks ok, but given the Merkle tree can be have a significant size (in term of nodes), it would maybe be worst it to use a byte to distinguish between a Inner and Leaf in the serialized form instead of the full class name. I understand that Java serialization wasn't necessarily very compact, but since we have a chance to do better.

> AES depends on java serialization
> ---------------------------------
>
>                 Key: CASSANDRA-2361
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2361
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.4
>            Reporter: Gary Dusbabek
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.7.5, 0.8
>
>         Attachments: 2361-part1.patch, v1-0001-ICompactSerializers-for-MerkleTrees.txt, v1-0002-git-rid-of-annoying-AES-emissions.txt
>
>
> 0.8 should be able to run in the same cluster as 0.7.  AES uses java serialization which means that Token serialization stands a good chance of being brittle.  This needs to be fixed.
> 1.  place a hard-coded serialVersionUID for Token in 0.7.5.
> 2.  have AES use ICompactSerializer in place of ObjectInputStream in 0.8.
> This would be a good opportunity to audit the code for imprudent uses of Object[Input|Output]Stream and get those cleaned up.  Also, it will exercise the versioning code a bit.

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

[jira] [Updated] (CASSANDRA-2361) AES depends on java serialization

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

Gary Dusbabek updated CASSANDRA-2361:
-------------------------------------

    Attachment: v2-0002-get-rid-of-annoying-AES-emissions.txt
                v2-0001-ICompactSerializers-for-MerkleTrees.txt

> AES depends on java serialization
> ---------------------------------
>
>                 Key: CASSANDRA-2361
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2361
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.4
>            Reporter: Gary Dusbabek
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.7.5, 0.8
>
>         Attachments: 2361-part1.patch, v2-0001-ICompactSerializers-for-MerkleTrees.txt, v2-0002-get-rid-of-annoying-AES-emissions.txt
>
>
> 0.8 should be able to run in the same cluster as 0.7.  AES uses java serialization which means that Token serialization stands a good chance of being brittle.  This needs to be fixed.
> 1.  place a hard-coded serialVersionUID for Token in 0.7.5.
> 2.  have AES use ICompactSerializer in place of ObjectInputStream in 0.8.
> This would be a good opportunity to audit the code for imprudent uses of Object[Input|Output]Stream and get those cleaned up.  Also, it will exercise the versioning code a bit.

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

[jira] [Commented] (CASSANDRA-2361) AES depends on java serialization

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

Hudson commented on CASSANDRA-2361:
-----------------------------------

Integrated in Cassandra-0.7 #405 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/405/])
    add explicit serialVersionUID to Token subclasses
patch by slebresne; reviewed by jbellis for CASSANDRA-2361


> AES depends on java serialization
> ---------------------------------
>
>                 Key: CASSANDRA-2361
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2361
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.4
>            Reporter: Gary Dusbabek
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.7.5, 0.8
>
>         Attachments: 2361-part1.patch
>
>
> 0.8 should be able to run in the same cluster as 0.7.  AES uses java serialization which means that Token serialization stands a good chance of being brittle.  This needs to be fixed.
> 1.  place a hard-coded serialVersionUID for Token in 0.7.5.
> 2.  have AES use ICompactSerializer in place of ObjectInputStream in 0.8.
> This would be a good opportunity to audit the code for imprudent uses of Object[Input|Output]Stream and get those cleaned up.  Also, it will exercise the versioning code a bit.

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