I'm using clickhouse 20.12.3.3 version. 
The execution of sumIf() function is failing on the distributed table
Query:
`SELECT sumIf(pos_sales,isNotNull (pos_sales)) , fin_seg_desc AS SBU　from stores_cost_position_dist　where ((week between 201945 AND 202043)) group by fin_seg_desc;
`

Fails with:
`Code: 42. DB::Exception: Received from localhost:9000. DB::Exception: Aggregate function sum requires single argument: while receiving packet from node-2:9000: While executing Remote. 
`

Data types:
`pos_sales: Nullable(Float64),
week: Int32,
fin_seg_desc: String
`
The same query is working on the local table.

#include <AggregateFunctions/AggregateFunctionIf.h>
#include <AggregateFunctions/AggregateFunctionCombinatorFactory.h>
#include "registerAggregateFunctions.h"
#include "AggregateFunctionNull.h"
namespace DB
{
namespace ErrorCodes
{
    extern const int LOGICAL_ERROR;
    extern const int ILLEGAL_TYPE_OF_ARGUMENT;
    extern const int NUMBER_OF_ARGUMENTS_DOESNT_MATCH;
}
class AggregateFunctionCombinatorIf final : public IAggregateFunctionCombinator
{
public:
    String getName() const override { return "If"; }
    DataTypes transformArguments(const DataTypes & arguments) const override
    {
        if (arguments.empty())
            throw Exception("Incorrect number of arguments for aggregate function with " + getName() + " suffix",
                ErrorCodes::NUMBER_OF_ARGUMENTS_DOESNT_MATCH);
        if (!isUInt8(arguments.back()))
            throw Exception("Illegal type " + arguments.back()->getName() + " of last argument for aggregate function with " + getName() + " suffix",
                ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT);
        return DataTypes(arguments.begin(), std::prev(arguments.end()));
    }
    AggregateFunctionPtr transformAggregateFunction(