2011-11-02 3 views
1

J'ai une installation de cassandra à nœud unique avec 0.8.2. J'ai créé quelques familles de colonnes avec cassandra-cli commeImpossible de mettre à jour le schéma avec cassandra 0.8.2

create column family demo; 

Maintenant, je dois utiliser les index secondaires sur cette family.For colonne que j'ai besoin de mettre à niveau le schema.When je tente de mettre à jour ce avec cassandra-cli comme

update column family demo with comparator=BytesType and column_metadata=[{column_name: col1, validation_class: UTF8Type, index_type: KEYS}]; 

je reçois le message d'erreur suivant

org.apache.cassandra.db.marshal.MarshalException: ne peut pas analyser 'col1'

J'ai essayé d'utiliser les octets ('col1'), assument le mot-clé, ascii et utf8 aucun d'eux ne fonctionne.

en octets hex

Alors que la même chose fonctionne parfaitement bien avec cassandra 0.8.4

+0

avez-vous essayé avec une valeur hexadécimale, par ex. "column_name: 636f6c31", puisque le comparateur est BytesType, je crois qu'il attend des octets. Je ne sais pas pourquoi le changement par rapport aux versions ... – libjack

+0

Je pensais la même chose et je l'ai essayé avec la valeur hexadécimale, ça marche mais quand j'essaie d'obtenir les valeurs en utilisant où col1 = 'une certaine valeur' ​​ça retourne zéro ligne. – samarth

+0

À quoi ressemble votre famille de colonnes lorsque vous faites une démonstration de cassandra-cli? –

Répondre

1

Vous avez répondu à votre propre question. C'est un bug dans 0.8.2 et vous devriez mettre à jour. (À la dernière version 0.8, qui est 0.8.7 à ce moment.)

+0

même 0.8.7 ne supporte pas cela – samarth

+0

Je peux mettre à jour le même schéma en fournissant les hexbytes de la colonne que nous devons indexer. – samarth

Questions connexes