Re: Cassandra collection tombstones

2019-01-25 Thread Chris Lohfink
> The "estimated droppable tombstone" value is actually always wrong. Because > it's an estimate that does not consider overlaps (and I'm not sure about the > fact it considers the gc_grace_seconds either). It considers the time the tombstone was created and the gc_grace_seconds, it doesn't ma

Re: Cassandra collection tombstones

2019-01-25 Thread Alain RODRIGUEZ
Hello, I think you might be inserting on the top of an existing collection, implicitly, Cassandra creates a range tombstone. Cassandra does not update/delete data, it always inserts (data or tombstone). Then eventually compaction merges the data and evict the tombstones. Thus, when overwriting an

Re: Why columnfilter fetch all columns even if the selection is a subset?

2019-01-25 Thread Jinhua Luo
The fetch-all would disable query optimization upon the sstable. In org.apache.cassandra.db.SinglePartitionReadCommand#queryMemtableAndDiskInternal: if (clusteringIndexFilter() instanceof ClusteringIndexNamesFilter && !queriesMulticellType()) return queryMemtableAndSSTablesInTimestampOrder(c

Why columnfilter fetch all columns even if the selection is a subset?

2019-01-25 Thread Jinhua Luo
Hi, I found the columnfilter.isFetchAll is always true even when I select a subset of columns. In the codes: private ColumnFilter gatherQueriedColumns() { if (selection.isWildcard()) return ColumnFilter.all(cfm); ColumnFilter.Builder builder = ColumnFilter.allColumnsBuilder(cfm)