You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Philip Thompson (JIRA)" <ji...@apache.org> on 2014/12/04 17:49:12 UTC

[jira] [Updated] (CASSANDRA-8421) Cassandra 2.1.1 UDT not returning value for LIST type as UDT

     [ https://issues.apache.org/jira/browse/CASSANDRA-8421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Philip Thompson updated CASSANDRA-8421:
---------------------------------------
      Description: 

I using List and its data type is UDT.

UDT:

CREATE TYPE

fieldmap (

 key text,
 value text
);

TABLE:

CREATE TABLE entity (

  entity_id uuid PRIMARY KEY,
  begining int,
  domain text,
  domain_type text,
  entity_template_name text,
  field_values list<fieldmap>,
  global_entity_type text,
  revision_time timeuuid,
  status_key int,
  status_name text,
  uuid timeuuid
  ) 
INDEX:

CREATE INDEX entity_domain_idx_1 ON galaxy_dev.entity (domain);

CREATE INDEX entity_field_values_idx_1 ON galaxy_dev.entity (field_values);

CREATE INDEX entity_global_entity_type_idx_1 ON galaxy_dev.entity (gen_type );

QUERY

SELECT * FROM entity WHERE status_key < 3 and field_values contains {key: 'userName', value: 'Sprint5_200002'} and gen_type = 'USER' and domain = 'S4_1017.abc.com' allow filtering;

The above query return value for some row and not for many rows but those rows and data's are exist.

Observation:
If I execute query with other than field_maps, then it returns value. I suspect the problem with LIST with UDT.

I have single node cassadra DB. Please let me know why this strange behavior from cassandra.

  was:


I using List and its data type is UDT.

UDT:

CREATE TYPE

fieldmap (

 key text,
 value text
);

TABLE:

CREATE TABLE entity (

  entity_id uuid PRIMARY KEY,
  begining int,
  domain text,
  domain_type text,
  entity_template_name text,
  field_values list<fieldmap>,
  global_entity_type text,
  revision_time timeuuid,
  status_key int,
  status_name text,
  uuid timeuuid
  ) 
INDEX:

CREATE INDEX entity_domain_idx_1 ON galaxy_dev.entity (domain);

CREATE INDEX entity_field_values_idx_1 ON galaxy_dev.entity (field_values);

CREATE INDEX entity_global_entity_type_idx_1 ON galaxy_dev.entity (gen_type );

QUERY

SELECT * FROM entity WHERE status_key < 3 and field_values contains {key: 'userName', value: 'Sprint5_200002'} and gen_type = 'USER' and domain = 'S4_1017.abc.com' allow filtering;

The above query return value for some row and not for many rows but those rows and data's are exist.

Observation:
If I execute query with other than field_maps, then it returns value. I suspect the problem with LIST with UDT.

I have single node cassadra DB. Please let me know why this strange behavior from cassandra.

    Fix Version/s:     (was: 2.1.2)
                       (was: 2.1 rc6)
                   2.1.3

> Cassandra 2.1.1 UDT not returning value for LIST type as UDT
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-8421
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8421
>             Project: Cassandra
>          Issue Type: Bug
>          Components: API
>         Environment: single node cassandra 
>            Reporter: madheswaran
>             Fix For: 3.0, 2.1.3
>
>
> I using List and its data type is UDT.
> UDT:
> CREATE TYPE
> fieldmap (
>  key text,
>  value text
> );
> TABLE:
> CREATE TABLE entity (
>   entity_id uuid PRIMARY KEY,
>   begining int,
>   domain text,
>   domain_type text,
>   entity_template_name text,
>   field_values list<fieldmap>,
>   global_entity_type text,
>   revision_time timeuuid,
>   status_key int,
>   status_name text,
>   uuid timeuuid
>   ) 
> INDEX:
> CREATE INDEX entity_domain_idx_1 ON galaxy_dev.entity (domain);
> CREATE INDEX entity_field_values_idx_1 ON galaxy_dev.entity (field_values);
> CREATE INDEX entity_global_entity_type_idx_1 ON galaxy_dev.entity (gen_type );
> QUERY
> SELECT * FROM entity WHERE status_key < 3 and field_values contains {key: 'userName', value: 'Sprint5_200002'} and gen_type = 'USER' and domain = 'S4_1017.abc.com' allow filtering;
> The above query return value for some row and not for many rows but those rows and data's are exist.
> Observation:
> If I execute query with other than field_maps, then it returns value. I suspect the problem with LIST with UDT.
> I have single node cassadra DB. Please let me know why this strange behavior from cassandra.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)