Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump librdkafka to 1.3.0 #109

Closed
wants to merge 16 commits into from

Conversation

Adithya-copart
Copy link
Contributor

Includes changes from #108 and 0bf8909 to run the specs against librdkafka v1.3.0.

Adithya Pentela and others added 16 commits February 3, 2020 19:22
Free ptr objects in ensure blocks and add workaround for lack of read(:pointer), read_string_to_null and read_int64 ffi methods in JRuby

Add JRuby 9.2.9.0 to travis

WIP: Debugging.
Modify error_spec and skip the spec using fork in JRuby.
Use RbConfig to check for MacOS.

WIP: Free @native_kafka in the consumer/producer during close

Manually free the AutoPointer using ruby instead of a C call

Switch to confluence docker images

ProducerSpec: Closing the IO in forked process

Avoiding AutoPointer instances being copied into forked process

Alter the consumer spec to test for the  message produced

Remove consumer commit after assertions and increase the handle wait for JRuby for reason still unknown

Rely on GC to call the finalizer to close @native_kafka socket

Revert "Rely on GC to call the finalizer to close @native_kafka socket"

This reverts commit 38ea6d6.

Skip AutoPointer for consumer class

Remove rd_kafka_consumer_close as rd_kafka_destroy takes care of it for consumers

Adding rd_kafka_consumer_close and ensure it is only called once

Skip fork spec

Revert "Skip fork spec"

This reverts commit d4cfb58.

Remove autorelease and free pointers accessed using read_pointer
When converting a Rdkafka::TopicPartitionList to a native type, Rdkafka
was depending on AutoPointer to eventually free them. There are a couple
cases where a Client handle returns a pointer to the application that
the application is then required to free, which could be leading to test
instability.

This takes a pass at ensuring all uses of native TopicPartitionList
instances (even those return) are deterministically freed.

Ensure poll returns nil after a consumer is closed

Add the read_array_of_uint64 workaround for JRuby
…stroy will result in a segmentation fault but not #free
…4_t.

Use AutoPointer#free in producer instead of rd_kafka_destroy to close @native_kafka instances if consumer#close is not called.
@thijsc
Copy link
Collaborator

thijsc commented Feb 18, 2020

The bump to 1.3.0 was done in #108

@thijsc thijsc closed this Feb 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants