Open derekperkins opened 6 years ago
time_acked
field to non-null. We could introduce a new state
column, but that would break backward compatibility. An alternate approach would be to set a time_next
far away into the future and a huge epoch
, which will amount to the same thing because the message will never be resent. As for scanning for these rows, the queries should be infrequent enough that a full table scan may be acceptable.
Currently Messaging supports subsetting based on name, keyspace, shard and/or keyrange. I propose adding another standard field that would support subsetting based on arbitrary labels. The most flexible would be to allow for a list of key/value labels, but I think even just supporting an array of string labels would be sufficient.
Use Cases
Alternate Solutions
Without digging into the internals, it's hard to say whether or not general label filtering would be feasible from a technical standpoint.
MessageAck
, calledMessageFailed
or something, that would set a timestamp in the table. Requeuing messages would be left to the user, similar to running an update on thenext_time
column to reschedule.@sougou What are your thoughts?