This is really a bug with the current implementation of CreateTriggerStatement 
and I've filed CASSANDRA-20287 to address it. 

Thanks, 
Sam

> On 3 Feb 2025, at 21:06, Štefan Miklošovič <smikloso...@apache.org> wrote:
> 
> Correct, snapshotting is the way to go here via nodetool cms snapshot 
> 
> But, you see? One more "problem" ... I bet my boots that in the majority of 
> cases this will be forgotten. Then we would need to put that JAR back just to 
> boot the cluster for the sake of snapshotting it. 
> 
> On Mon, Feb 3, 2025 at 9:58 PM Abe Ratnofsky <a...@aber.io> wrote:
> AFAIK the TCM replay issue you're describing (something is created and 
> dropped during replay, fails if can't create) applies to custom types and a 
> few other things, and one way around it is CMS snapshotting so replay doesn't 
> start at epoch 0; it wouldn't be safe to remove the trigger from the 
> classpath until the trigger drop epoch has been included in a snapshot: 
> https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-21%3A+Transactional+Cluster+Metadata#CEP21:TransactionalClusterMetadata-SnapshottingMetadataLog
> 
> I also think it's reasonable to not include triggers (or other custom fields) 
> in the clone, but if users need to sort out what parts of their original 
> table were copied to their clone it's not as convenient to have a separate 
> command for it.

Reply via email to