This line looks wrong to me, txn->isolation is an enum?
WT_ERR_MSG(session, ret,
"checkpoints cannot be dropped when in-use");
}
WT_ASSERT(session, txn->isolation = TXN_ISO_SNAPSHOT); <<<<<
/*
* Mark the root page dirty to ensure something gets written.