This is to track the regression introduced in master, which needs fixing for 0.14. See #9240, #9371, etc.
if (pool.exists(hash))
        return state.Invalid(false, REJECT_ALREADY_KNOWN, "txn-already-in-mempool");
    
    set<uint256> setConflicts;
    {
    LOCK(pool.cs); 
    BOOST_FOREACH(const CTxIn &txin, tx.vin)
    {
        auto itConflicting = pool.mapNextTx.find(txin.prevout);
        if (itConflicting != pool.mapNextTx.end())
        {
            const CTransaction *ptxConflicting = itConflicting->second;
            if (!setConflicts.count(ptxConflicting->GetHash()))
            {
                
                
                
                
                
                
                
                
                
                
                
                
                bool fReplacementOptOut = true;
                if (fEnableReplacement)
                {
                    BOOST_FOREACH(const CTxIn &_txin, ptxConflicting->vin)