In recent ClickHouse versions (21.3) Avro format for kafka does not work at all.
In ClickHouse 20.3 one Avro formatted kafka message can read, than stall forever.
Reportedly in ClickHouse prior 20.3 Avro formatted kafka messages work Ok while contain only single record
: type(Skip)
            , skip_fn(skip_fn_) {}
        static Action recordAction(std::vector<Action> field_actions) { return Action(Type::Record, field_actions); }
        static Action unionAction(std::vector<Action> branch_actions) { return Action(Type::Union, branch_actions); }
        void execute(MutableColumns & columns, avro::Decoder & decoder, RowReadExtension & ext) const
        {
            switch (type)
            {
                case Noop:
                    break;
                case Deserialize:
                    deserialize_fn(*columns[target_column_idx], decoder);
                    ext.read_columns[target_column_idx] = true;
                    break;
                case Skip:
                    skip_fn(decoder);
                    break;
                case Record:
                    for (const auto & action : actions)
                        action.execute(columns, decoder, ext);
                    break;
                case Union:
                    actions[decoder.decodeUnionIndex()].execute(columns, decoder, ext);
                    break;
            }
        }
    private:
        Action(Type type_, std::vector<Action> actions_)