When loading an AbstractType that does not include an instance field, an 
unhelpful exception is raised making diagnosis difficult
---------------------------------------------------------------------------------------------------------------------------------

                 Key: CASSANDRA-1242
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1242
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 0.7
            Reporter: Erik Onnen
             Fix For: 0.7
         Attachments: CASSANDRA-1242.patch

0.7.0 changes the contract for creating AbstractTypes. A custom AbstractType 
defined against 0.6.x will be incompatible and the error messaging around why 
the comparator is invalid is obtuse and non-obvious. Specifically, when porting 
a valid AbstractType from 0.6.x to 0.7 that does not include a public static 
instance field, the thrift system_add_column_family call will throw an 
exception whose only message is:

InvalidRequestException(why:instance)

No log messages are generated from the server as to the issue so the root cause 
is non obvious to developers.

I marked as Major because types defined against 0.6.x did not require an 
"instance" field so at a minimum migration of AbstractTypes to 0.7 should 
document the change in what is expected of AbstractTypes.

Patch attached for better logging and to create a more helpful exception for 
better communication to the client as to the issue.


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

Reply via email to