adelapena commented on a change in pull request #735:
URL: https://github.com/apache/cassandra/pull/735#discussion_r700094850
##########
File path: src/java/org/apache/cassandra/index/Index.java
##########
@@ -545,39 +587,6 @@ default void validate(ReadCommand command) throws
InvalidRequestException
{
}
- /**
- * Tells whether this index supports replica fitering protection or not.
- *
- * Replica filtering protection might need to run the query row filter in
the coordinator to detect stale results.
- * An index implementation will be compatible with this protection
mechanism if it returns the same results for the
- * row filter as CQL will return with {@code ALLOW FILTERING} and without
using the index. This means that index
- * implementations using custom query syntax or applying transformations
to the indexed data won't support it.
- * See CASSANDRA-8272 for further details.
- *
- * @param rowFilter rowFilter of query to decide if it supports replica
filtering protection or not
- * @return true if this index supports replica filtering protection, false
otherwise
- */
- default boolean supportsReplicaFilteringProtection(RowFilter rowFilter)
Review comment:
Removing this breaks API compatibility, which is fine if this is going
to ship in a major.
##########
File path: src/java/org/apache/cassandra/index/Index.java
##########
@@ -545,39 +587,6 @@ default void validate(ReadCommand command) throws
InvalidRequestException
{
}
- /**
- * Tells whether this index supports replica fitering protection or not.
- *
- * Replica filtering protection might need to run the query row filter in
the coordinator to detect stale results.
- * An index implementation will be compatible with this protection
mechanism if it returns the same results for the
- * row filter as CQL will return with {@code ALLOW FILTERING} and without
using the index. This means that index
- * implementations using custom query syntax or applying transformations
to the indexed data won't support it.
- * See CASSANDRA-8272 for further details.
- *
- * @param rowFilter rowFilter of query to decide if it supports replica
filtering protection or not
- * @return true if this index supports replica filtering protection, false
otherwise
- */
- default boolean supportsReplicaFilteringProtection(RowFilter rowFilter)
- {
- return true;
- }
-
- /**
- * Return a function which performs post processing on the results of a
partition range read command.
- * In future, this may be used as a generalized mechanism for transforming
results on the coordinator prior
- * to returning them to the caller.
- *
- * This is used on the coordinator during execution of a range command to
perform post
- * processing of merged results obtained from the necessary replicas. This
is the only way in which results are
- * transformed in this way but this may change over time as usage is
generalized.
- * See CASSANDRA-8717 for further discussion.
- *
- * The function takes a PartitionIterator of the results from the replicas
which has already been collated
- * and reconciled, along with the command being executed. It returns
another PartitionIterator containing the results
- * of the transformation (which may be the same as the input if the
transformation is a no-op).
- */
- public BiFunction<PartitionIterator, ReadCommand, PartitionIterator>
postProcessorFor(ReadCommand command);
Review comment:
removing this breaks API compatibility, which is fine if this is going
to ship in a major.
##########
File path: src/java/org/apache/cassandra/index/Index.java
##########
@@ -424,7 +465,8 @@ public Indexer indexerFor(DecoratedKey key,
RegularAndStaticColumns columns,
int nowInSec,
WriteContext ctx,
- IndexTransaction.Type transactionType);
+ IndexTransaction.Type transactionType,
+ Memtable memtable);
Review comment:
This breaks index API compatibility without a default implementation,
which is fine if this is going to ship in a major.
##########
File path: src/java/org/apache/cassandra/index/Index.java
##########
@@ -593,10 +602,296 @@ default boolean
supportsReplicaFilteringProtection(RowFilter rowFilter)
*/
public interface Searcher
{
+ /**
+ * Returns the {@link ReadCommand} for which this searcher has been
created.
+ *
+ * @return the base read command
+ */
+ ReadCommand command();
Review comment:
This breaks API compatibility without a default implementation, which is
fine if this is going to ship in a major.
##########
File path: src/java/org/apache/cassandra/db/TableWriteHandler.java
##########
@@ -23,5 +23,5 @@
public interface TableWriteHandler
{
- void write(PartitionUpdate update, WriteContext context, UpdateTransaction
updateTransaction);
+ void write(PartitionUpdate update, WriteContext context, boolean
updateIndexes);
Review comment:
I think this indirectly breaks index API compatibility, which is fine if
this is going to ship in a major.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]