76 entry.SerializeToString( & binary );
81 RdKafka::ErrorCode err =
m_producer -> produce( topic,
82 RdKafka::Topic::PARTITION_UA,
83 RdKafka::Producer::RK_MSG_COPY,
84 const_cast<char *
>(binary.c_str()), binary.size(),
85 key.c_str(), key.size(),
90 if ( err == RdKafka::ERR_NO_ERROR ) return ;
92 std::string err_cause;
95 case RdKafka::ERR__QUEUE_FULL :
96 err_cause =
"maximum number of outstanding messages reached";
98 case RdKafka::ERR_MSG_SIZE_TOO_LARGE :
99 err_cause =
"message too large";
101 case RdKafka::ERR__UNKNOWN_PARTITION :
102 err_cause =
"Unknown partition";
104 case RdKafka::ERR__UNKNOWN_TOPIC :
105 err_cause =
"Unknown topic (" ;
110 err_cause =
"unknown";
114 throw FailedProduce(
ERS_HERE, key, err_cause) ;