В документации для таблицы типа 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 любого из указанных параметров.
void truncate(const ASTPtr &, const StorageMetadataPtr & metadata_snapshot, ContextPtr, TableExclusiveLockHolder &) override;
    
    void checkMutationIsPossible(const MutationCommands & commands, const Settings & settings) const override;
    void mutate(const MutationCommands & commands, ContextPtr context) override;
    
    
    HashJoinPtr getJoinLocked(std::shared_ptr<TableJoin> analyzed_join, ContextPtr context) const;
    
    DataTypePtr joinGetCheckAndGetReturnType(const DataTypes & data_types, const String & column_name, bool or_null) const;
    
    
    
    ColumnWithTypeAndName joinGet(const Block & block, const Block & block_with_columns_to_add, ContextPtr context) const;
    SinkToStoragePtr write(const ASTPtr & query, const StorageMetadataPtr & metadata_snapshot, ContextPtr context) override;
    Pipe read(
        const Names & column_names,
        const StorageMetadataPtr & ,
        SelectQueryInfo & query_info,
        ContextPtr context,
        QueryProcessingStage::Enum processed_stage,
        size_t max_block_size,
        unsigned num_streams) override;
    std::optional<UInt64> totalRows(const Settings & settings) const override;
    std::optional<UInt64> totalBytes(const Settings & settings) const override;
private:
    Block sample_block;
    const Names key_names;
    bool use_nulls;
    SizeLimits limits;
    ASTTableJoin::Kind kind;