Current section
Files
Jump to
Current section
Files
src/erlkaf_error_converter.erl
-module(erlkaf_error_converter).
-export([
get_readable_error/1
]).
-define(ERROR_MAPPING, [
% librdkafka internal errors
{-200, rd_kafka_resp_err_begin},
{-199, rd_kafka_resp_err_bad_msg},
{-198, rd_kafka_resp_err_bad_compression},
{-197, rd_kafka_resp_err_destroy},
{-196, rd_kafka_resp_err_fail},
{-195, rd_kafka_resp_err_transport},
{-194, rd_kafka_resp_err_crit_sys_resource},
{-193, rd_kafka_resp_err_resolve},
{-192, rd_kafka_resp_err_msg_timed_out},
{-191, rd_kafka_resp_err_partition_eof},
{-190, rd_kafka_resp_err_unknown_partition},
{-189, rd_kafka_resp_err_fs},
{-188, rd_kafka_resp_err_unknown_topic},
{-187, rd_kafka_resp_err_all_brokers_down},
{-186, rd_kafka_resp_err_invalid_arg},
{-185, rd_kafka_resp_err_timed_out},
{-184, rd_kafka_resp_err_queue_full},
{-183, rd_kafka_resp_err_isr_insuff},
{-182, rd_kafka_resp_err_node_update},
{-181, rd_kafka_resp_err_ssl},
{-180, rd_kafka_resp_err_wait_coord},
{-179, rd_kafka_resp_err_unknown_group},
{-178, rd_kafka_resp_err_in_progress},
{-177, rd_kafka_resp_err_prev_in_progress},
{-176, rd_kafka_resp_err_existing_subscription},
{-175, rd_kafka_resp_err_assign_partitions},
{-174, rd_kafka_resp_err_revoke_partitions},
{-173, rd_kafka_resp_err_conflict},
{-172, rd_kafka_resp_err_state},
{-171, rd_kafka_resp_err_unknown_protocol},
{-170, rd_kafka_resp_err_not_implemented},
{-169, rd_kafka_resp_err_authentication},
{-168, rd_kafka_resp_err_no_offset},
{-167, rd_kafka_resp_err_outdated},
{-166, rd_kafka_resp_err_timed_out_queue},
{-165, rd_kafka_resp_err_unsupported_feature},
{-164, rd_kafka_resp_err_wait_cache},
{-163, rd_kafka_resp_err_intr},
{-162, rd_kafka_resp_err_key_serialization},
{-161, rd_kafka_resp_err_value_serialization},
{-160, rd_kafka_resp_err_key_deserialization},
{-159, rd_kafka_resp_err_value_deserialization},
{-158, rd_kafka_resp_err_partial},
{-157, rd_kafka_resp_err_read_only},
{-156, rd_kafka_resp_err_noent},
{-155, rd_kafka_resp_err_underflow},
{-154, rd_kafka_resp_err_invalid_type},
{-100, rd_kafka_resp_err_end},
{-1, rd_kafka_resp_err_unknown},
% broker errors
{0, rd_kafka_resp_err_no_error},
{1, rd_kafka_resp_err_offset_out_of_range},
{2, rd_kafka_resp_err_invalid_msg},
{3, rd_kafka_resp_err_unknown_topic_or_part},
{4, rd_kafka_resp_err_invalid_msg_size},
{5, rd_kafka_resp_err_leader_not_available},
{6, rd_kafka_resp_err_not_leader_for_partition},
{7, rd_kafka_resp_err_request_timed_out},
{8, rd_kafka_resp_err_broker_not_available},
{9, rd_kafka_resp_err_replica_not_available},
{10, rd_kafka_resp_err_msg_size_too_large},
{11, rd_kafka_resp_err_stale_ctrl_epoch},
{12, rd_kafka_resp_err_offset_metadata_too_large},
{13, rd_kafka_resp_err_network_exception},
{14, rd_kafka_resp_err_group_load_in_progress},
{15, rd_kafka_resp_err_group_coordinator_not_available},
{16, rd_kafka_resp_err_not_coordinator_for_group},
{17, rd_kafka_resp_err_topic_exception},
{18, rd_kafka_resp_err_record_list_too_large},
{19, rd_kafka_resp_err_not_enough_replicas},
{20, rd_kafka_resp_err_not_enough_replicas_after_append},
{21, rd_kafka_resp_err_invalid_required_acks},
{22, rd_kafka_resp_err_illegal_generation},
{23, rd_kafka_resp_err_inconsistent_group_protocol},
{24, rd_kafka_resp_err_invalid_group_id},
{25, rd_kafka_resp_err_unknown_member_id},
{26, rd_kafka_resp_err_invalid_session_timeout},
{27, rd_kafka_resp_err_rebalance_in_progress},
{28, rd_kafka_resp_err_invalid_commit_offset_size},
{29, rd_kafka_resp_err_topic_authorization_failed},
{30, rd_kafka_resp_err_group_authorization_failed},
{31, rd_kafka_resp_err_cluster_authorization_failed},
{32, rd_kafka_resp_err_invalid_timestamp},
{33, rd_kafka_resp_err_unsupported_sasl_mechanism},
{34, rd_kafka_resp_err_illegal_sasl_state},
{35, rd_kafka_resp_err_unsupported_version},
{36, rd_kafka_resp_err_topic_already_exists},
{37, rd_kafka_resp_err_invalid_partitions},
{38, rd_kafka_resp_err_invalid_replication_factor},
{39, rd_kafka_resp_err_invalid_replica_assignment},
{40, rd_kafka_resp_err_invalid_config},
{41, rd_kafka_resp_err_not_controller},
{42, rd_kafka_resp_err_invalid_request},
{43, rd_kafka_resp_err_unsupported_for_message_format},
{44, rd_kafka_resp_err_policy_violation},
{45, rd_kafka_resp_err_out_of_order_sequence_number},
{46, rd_kafka_resp_err_duplicate_sequence_number},
{47, rd_kafka_resp_err_invalid_producer_epoch},
{48, rd_kafka_resp_err_invalid_txn_state},
{49, rd_kafka_resp_err_invalid_producer_id_mapping},
{50, rd_kafka_resp_err_invalid_transaction_timeout},
{51, rd_kafka_resp_err_concurrent_transactions},
{52, rd_kafka_resp_err_transaction_coordinator_fenced},
{53, rd_kafka_resp_err_transactional_id_authorization_failed},
{54, rd_kafka_resp_err_security_disabled},
{55, rd_kafka_resp_err_operation_not_attempted}
]
).
get_readable_error(Error) ->
erlkaf_utils:lookup(Error, ?ERROR_MAPPING, undefined).