Can`t create ack for clickhouse table with RabbitMQ Engine

34 views Asked by At

I am unable to set the acknowledgment parameter directly in ClickHouse's SQL syntax but i need delete messages after getting by this table.

create table MyTable(id Int64)engine = RabbitMQ SETTINGS  rabbitmq_host_port = 'localhost:5672', 
                            rabbitmq_exchange_name ='exchange', 
                            rabbitmq_exchange_type = 'direct', 
                            rabbitmq_routing_key_list = 'serv', 
                            rabbitmq_username = 'user', 
                            rabbitmq_password = 'password', 
                            rabbitmq_format = 'JSONEachRow"

I tried to find ack settings in clickhouse documentation but didn`t find.

1

There are 1 answers

0
jsc0218 On

Rabbitmq engine uses manual acknowledgesments and does not allow to change it to automatic, if that's what you mean, e.g. a message is deleted from the queue only after ack is successfully sent, this behaviour is not changeable. There are options to configure rabbitmq queueu settings - this can be done with engine setting called rabbitmq_queue_settings_list. But consumer behavior is non changeable. May be you are referring to ack options made on the consumer side - we do use flag “multiple” to ack several messages at once.