В документации для таблицы типа Join есть перечень настроек, которые можно указать при создании, в частности join_any_take_last_row и persistent, при одновременном использовании возникает ошибка создания таблицы.

Ошибка Code: 115. DB::Exception: Unknown setting join_any_take_last_row: for storage Join. (UNKNOWN_SETTING) (version 21.11.4.14 (official build))
>create table internal.lookup (key UInt64, value UInt64) engine = Join(any, left, key)
settings join_any_take_last_row = 1, persistent = 0;

Значения параметров и их очередность не играет роли.

Однако если указать только один любой из этих двух параметр, то все работает.

Комбинации с другими настройками работают, пока не добавишь persistent
>create table internal.lookup (key UInt64, value UInt64) engine = Join(any, left, key)
settings
join_use_nulls = 0,
max_rows_in_join = 0,
max_bytes_in_join = 0,
join_overflow_mode = 'throw',
join_any_take_last_row = 0;

При добавлении persistent начинает ругаться на Unknown setting любого из указанных параметров.
ASTTableJoin::Strictness strictness;        
    bool overwrite;
    std::shared_ptr<TableJoin> table_join;
    HashJoinPtr join;
    
    
    mutable RWLock rwlock = RWLockImpl::create();
    mutable std::mutex mutate_mutex;
    void insertBlock(const Block & block, ContextPtr context) override;
    void finishInsert() override {}
    size_t getSize(ContextPtr context) const override;
    RWLockImpl::LockHolder tryLockTimedWithContext(const RWLock & lock, RWLockImpl::Type type, ContextPtr context) const;
protected:
    StorageJoin(
        DiskPtr disk_,
        const String & relative_path_,
        const StorageID & table_id_,
        const Names & key_names_,
        bool use_nulls_,
        SizeLimits limits_,
        ASTTableJoin::Kind kind_,
        ASTTableJoin::Strictness strictness_,
        const ColumnsDescription & columns_,
        const ConstraintsDescription & constraints_,
        const String & comment,
        bool overwrite,
        bool persistent_);
};
}