Hi All,

Im debugging a issue in Cassandra 3.5 which was reported in user mailing
list earlier, is pretty critical to solve at our end. ill give a brief
intro: On issuing this query:;

select id,filter_name from navigation_bucket_filter where id=2429 and
filter_name='*Size_s*';

 id   | filter_name
------+----------------------
 2429 | AdditionalProperty_s
 2429 |                Brand
------------more rows-------
 2429 |               Size_s
------------more rows-------
 2429 |         sdFullfilled
 2429 |           sellerCode

(16 rows)

Whereas *only one result was expected* (Row bearing filter_name - Size_s),
we got that result but along with 15 other unexpected rows..

Total number of rows in the partition are 20 (Verified using select
id,filter_name from navigation_bucket_filter where id=2429;) as well as
json dump. We are wondering why Cassandra could not filter the results
completely. I have checked that the data is intact by taking json dump and
validating using sstabledump tool.

The issue was resolved on production by using nodetool compact, but
debugging it is critical as to what led to this and issuing manual
compaction may not be possible everytime.

I copied the sstables of the particular table onto my local machine and *have
been able to reproduce the same* issue, while trying to run Cassandra in
debug mode I have been able to connect my IDE with it but unfortunately I
have not been able to navigate really far in the Read Path. Will be glad to
get a some pointers on where in the code SSTables are read and partition is
filtered.

Secondly, I wanted to know if there is a possible way by which we can read
the other SSTable files (Partition Index) Filter.db, Statistics.db, et al
as well as Commitlog. If such a utility does not exist currently but can be
created from existing classes pls let me know as well would love to build
and share one.


Best Regards,
Bhuvan Rawal

Reply via email to