Tags: kmrgirish/librdkafka
Tags
assignor: fix rd_list destroy callback type mismatch (confluentinc#5195… …) (confluentinc#5278) * assignor: fix rd_list destroy callback type mismatch (confluentinc#5195) Fix the UBSan warning: runtime error: call to function rd_kafka_assignor_destroy through pointer to incorrect function type 'void (*)(void *)' by changing rd_kafka_assignor_destroy to take a void * argument, as expected by rd_list_init() destroy callbacks, and casting internally to rd_kafka_assignor_t *. Removed explicit cast from rd_list_init argument rd_kafka_assignor_destroy as it is exactly the type as expected by rd_list_init. * assignor: fix rd_list destroy callback type mismatch (confluentinc#5195) Fix the UBSan warning: runtime error: call to function rd_kafka_assignor_destroy through pointer to incorrect function type 'void (*)(void *)' by adding two callback functions which are of required type and which call destroy callbacks internally. rd_list_init uses these new callbacks. 1. rd_kafka_assignor_topic_free(void *ptr) - calls rd_kafka_assignor_topic_destroy after typecasting ptr 2. rd_kafka_assignor_free(void *ptr) - calls rd_kafka_assignor_destroy after typecasting ptr These new callbacks are used in rd_list_init calls which are of expected types. These wrappers avoid the function type mismatch reported by UBSan while keeping the original destroy helpers typed to their concrete pointer types. This fixes the UBSan warning about calling the destroy callbacks through pointers with the wrong function type and removes the explicit casts at the rd_list_init() call sites. Tests: - UBSan enabled locally to reproduce and verify the issue - make quick on trivup (./interactive_broker_version.py 3.6.0)
FIX: Improve PRNG seeding on Windows to ensure uniqueness of generate… …d numbers (confluentinc#5265) Fix for the pseudo-random seed on Windows. The function `rand_r` isn't present on Windows and the global seed wasn't based on the current microseconds and thread id. Also it wasn't called on every thread as required on this platform but only once per process. The fix allows on this platform the uniqueness of client side member id generation in next-generation consumer group protocol. Happening since 1.x * Multiple platforms secure random generation * Run KIP-848 tests on MinGW-w64 * Changes to srand per thread on Windows. It's necessary on Windows to avoid using the same jitter values for all clients and avoid a stampede effect on brokers. * Run macOS local quick tests with KIP-848 as well * Run KIP-848 local quick tests on arm64 glibc and alpine * Increase 0153 with a different number of maximum open files
FIX: Improve PRNG seeding on Windows to ensure uniqueness of generate… …d numbers (confluentinc#5265) Fix for the pseudo-random seed on Windows. The function `rand_r` isn't present on Windows and the global seed wasn't based on the current microseconds and thread id. Also it wasn't called on every thread as required on this platform but only once per process. The fix allows on this platform the uniqueness of client side member id generation in next-generation consumer group protocol. Happening since 1.x * Multiple platforms secure random generation * Run KIP-848 tests on MinGW-w64 * Changes to srand per thread on Windows. It's necessary on Windows to avoid using the same jitter values for all clients and avoid a stampede effect on brokers. * Run macOS local quick tests with KIP-848 as well * Run KIP-848 local quick tests on arm64 glibc and alpine * Increase 0153 with a different number of maximum open files
Downgrad min supported OSX version to 13 (confluentinc#5219) * Downgrade min supported OSX version to 13 * Version upgrade to v2.12.1
Changelog changes and some modification to the KIP-848 migration guide ( confluentinc#5214) * Changelog changes and some modification to the KIP-848 migration guide * Add that KIP-848 is not enabled by default and other PR comments
[KIP-848] Added migration guide and removed preview warning (confluen… …tinc#5210)
PreviousNext