[
https://issues.apache.org/jira/browse/CASSANDRA-7600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14072210#comment-14072210
]
Robert Stupp commented on CASSANDRA-7600:
-----------------------------------------
Suggestion: {{SchemaAlteringStatement#announceMigration}} could return a
{{boolean}} to {{execute/executeInternal}} to indicate whether there is a
schema change.
{noformat}
public abstract boolean announceMigration(boolean isLocalOnly) throws
RequestValidationException;
public ResultMessage execute(QueryState state, QueryOptions options) throws
RequestValidationException
{
if (!announceMigration(false))
return null;
return new ResultMessage.SchemaChange(changeEvent());
}
public ResultMessage executeInternal(QueryState state, QueryOptions options)
{
try
{
if (!announceMigration(true))
return null;
return new ResultMessage.SchemaChange(changeEvent());
}
catch (RequestValidationException e)
{
throw new RuntimeException(e);
}
}
{noformat}
> Schema change notifications sent for no-op DDL statements
> ---------------------------------------------------------
>
> Key: CASSANDRA-7600
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7600
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Tyler Hobbs
> Assignee: Tyler Hobbs
> Priority: Minor
> Fix For: 2.0.10, 2.1.1
>
>
> When schema changes are made with {{IF \[NOT\] EXISTS}} conditions, we return
> schema change messages (and push out schema change notifications) even if the
> {{IF \[NOT\] EXISTS}} condition makes it a no-op.
> This results in extra work for native protocol drivers, which typically wait
> for schema agreement and refresh their schema metadata when schema changes
> occur.
--
This message was sent by Atlassian JIRA
(v6.2#6252)