consistent qconsumer and qproducer