Skip to main content

C*4 Querying Cassandra 4.0 secondary index row countreturns zero results

edited body
Source Link

I have 2 c*4 nodes. And a secondary index provisioned.

./nodetool ring 192.168.43.10 rack1 Up Normal 176.08 KiB 55.56% 4716404817677783992 192.168.43.11 rack1 Up Normal 194.74 KiB 44.44% 6854338132896405748 
./bin/cqlsh 192.168.43.10 

If I query secondary index field with token(4716404817677783992) rows are correct

select * from x."y" where "a"='***' and token("Id")=6854338132896405748; 

But if I query with token("Id")=6854338132896405748 result is zero, there are no exceptions in any node. Have an idea?

Secondary index implementation founds Ids and from 3rd party source and collects rows from c*

Both scenarios working on c*3

I realized that c4 is applying CQLFilter(RowFilter:330) but c3 not.

node1 (sends a="x:1")-> node2 -> 3rd party

3rd pary -> node2 (here adding field to response rawrow a="total:5..")-> node1

node1 checks "a=x:1" with "a=total=5" in c4 but no check in c3. because of this check rows are filtered out. Any idea is this configurable? or a new security feature ?

I have 2 c*4 nodes. And a secondary index provisioned.

./nodetool ring 192.168.43.10 rack1 Up Normal 176.08 KiB 55.56% 4716404817677783992 192.168.43.11 rack1 Up Normal 194.74 KiB 44.44% 6854338132896405748 
./bin/cqlsh 192.168.43.10 

If I query secondary index field with token(4716404817677783992) rows are correct

select * from x."y" where "a"='***' and token("Id")=6854338132896405748; 

But if I query with token("Id")=6854338132896405748 result is zero, there are no exceptions in any node. Have an idea?

Secondary index implementation founds Ids and from 3rd party source and collects rows from c*

Both scenarios working on c*3

I realized that c4 is applying CQLFilter(RowFilter:330) but c3 not.

node1 (sends a="x:1")-> node2 -> 3rd party

3rd pary -> node2 (here adding field to response raw a="total:5..")-> node1

node1 checks "a=x:1" with "a=total=5" in c4 but no check in c3. because of this check rows are filtered out. Any idea is this configurable? or a new security feature ?

I have 2 c*4 nodes. And a secondary index provisioned.

./nodetool ring 192.168.43.10 rack1 Up Normal 176.08 KiB 55.56% 4716404817677783992 192.168.43.11 rack1 Up Normal 194.74 KiB 44.44% 6854338132896405748 
./bin/cqlsh 192.168.43.10 

If I query secondary index field with token(4716404817677783992) rows are correct

select * from x."y" where "a"='***' and token("Id")=6854338132896405748; 

But if I query with token("Id")=6854338132896405748 result is zero, there are no exceptions in any node. Have an idea?

Secondary index implementation founds Ids and from 3rd party source and collects rows from c*

Both scenarios working on c*3

I realized that c4 is applying CQLFilter(RowFilter:330) but c3 not.

node1 (sends a="x:1")-> node2 -> 3rd party

3rd pary -> node2 (here adding field to response row a="total:5..")-> node1

node1 checks "a=x:1" with "a=total=5" in c4 but no check in c3. because of this check rows are filtered out. Any idea is this configurable? or a new security feature ?

added 375 characters in body
Source Link

I have 2 c*4 nodes. And a secondary index provisioned.

./nodetool ring 192.168.43.10 rack1 Up Normal 176.08 KiB 55.56% 4716404817677783992 192.168.43.11 rack1 Up Normal 194.74 KiB 44.44% 6854338132896405748 
./bin/cqlsh 192.168.43.10 

If I query secondary index field with token(4716404817677783992) rows are correct

select * from x."y" where "a"='***' and token("Id")=6854338132896405748; 

But if I query with token("Id")=6854338132896405748 result is zero, there are no exceptions in any node. Have an idea?

Secondary index implementation founds Ids and from 3rd party source and collects rows from c*

Both scenarios working on c*3

I realized that c4 is applying CQLFilter(RowFilter:330) but c3 not.

node1 (sends a="x:1")-> node2 -> 3rd party

3rd pary -> node2 (here adding field to response raw a="total:5..")-> node1

node1 checks "a=x:1" with "a=total=5" in c4 but no check in c3. because of this check rows are filtered out. Any idea is this configurable? or a new security feature ?

I have 2 c*4 nodes. And a secondary index provisioned.

./nodetool ring 192.168.43.10 rack1 Up Normal 176.08 KiB 55.56% 4716404817677783992 192.168.43.11 rack1 Up Normal 194.74 KiB 44.44% 6854338132896405748 
./bin/cqlsh 192.168.43.10 

If I query secondary index field with token(4716404817677783992) rows are correct

select * from x."y" where "a"='***' and token("Id")=6854338132896405748; 

But if I query with token("Id")=6854338132896405748 result is zero, there are no exceptions in any node. Have an idea?

Secondary index implementation founds Ids and from 3rd party source and collects rows from c*

Both scenarios working on c*3

I have 2 c*4 nodes. And a secondary index provisioned.

./nodetool ring 192.168.43.10 rack1 Up Normal 176.08 KiB 55.56% 4716404817677783992 192.168.43.11 rack1 Up Normal 194.74 KiB 44.44% 6854338132896405748 
./bin/cqlsh 192.168.43.10 

If I query secondary index field with token(4716404817677783992) rows are correct

select * from x."y" where "a"='***' and token("Id")=6854338132896405748; 

But if I query with token("Id")=6854338132896405748 result is zero, there are no exceptions in any node. Have an idea?

Secondary index implementation founds Ids and from 3rd party source and collects rows from c*

Both scenarios working on c*3

I realized that c4 is applying CQLFilter(RowFilter:330) but c3 not.

node1 (sends a="x:1")-> node2 -> 3rd party

3rd pary -> node2 (here adding field to response raw a="total:5..")-> node1

node1 checks "a=x:1" with "a=total=5" in c4 but no check in c3. because of this check rows are filtered out. Any idea is this configurable? or a new security feature ?

fixed formatting
Source Link
mustaccio
  • 28.9k
  • 24
  • 60
  • 77
Loading
Source Link
Loading