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

Support JRuby and fix travis failures #108

Merged
merged 15 commits into from
Feb 18, 2020
Merged

Commits on Feb 4, 2020

  1. Use *_ptrptr naming of MemoryPointer objects in consumer.rb

    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
    Adithya Pentela committed Feb 4, 2020
    Configuration menu
    Copy the full SHA
    5df8f9b View commit details
    Browse the repository at this point in the history
  2. Ensure the consumer always destroy native TopicPartitionList

    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
    gaffneyc authored and Adithya Pentela committed Feb 4, 2020
    Configuration menu
    Copy the full SHA
    9e66368 View commit details
    Browse the repository at this point in the history
  3. Call AutoPointer#free while closing the producer. Calling rd_kafka_de…

    …stroy will result in a segmentation fault but not #free
    Adithya Pentela committed Feb 4, 2020
    Configuration menu
    Copy the full SHA
    3f1b655 View commit details
    Browse the repository at this point in the history
  4. Using ternary operator to make code climate happy

    Adithya Pentela committed Feb 4, 2020
    Configuration menu
    Copy the full SHA
    db9c75e View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2020

  1. Use read_array_of_int64 as rd_kafka_query_watermark_offsets uses int6…

    …4_t.
    
    Use AutoPointer#free in producer instead of rd_kafka_destroy to close @native_kafka instances if consumer#close is not called.
    Adithya Pentela committed Feb 5, 2020
    Configuration menu
    Copy the full SHA
    caf3f02 View commit details
    Browse the repository at this point in the history
  2. Remove AutoPointer references

    Adithya Pentela committed Feb 5, 2020
    Configuration menu
    Copy the full SHA
    f9732b6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    914faf0 View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2020

  1. Configuration menu
    Copy the full SHA
    0dd1a0d View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2020

  1. Avoid sharing the socket in forked process

    Adithya Pentela committed Feb 16, 2020
    Configuration menu
    Copy the full SHA
    3e5331a View commit details
    Browse the repository at this point in the history
  2. Ensure sockets are closed in specs

    Adithya Pentela committed Feb 16, 2020
    Configuration menu
    Copy the full SHA
    6d7b472 View commit details
    Browse the repository at this point in the history
  3. Trigger travis

    Adithya Pentela committed Feb 16, 2020
    Configuration menu
    Copy the full SHA
    a93f720 View commit details
    Browse the repository at this point in the history
  4. Add a sleep to let the thread that uses Binding#DeliveryCallback to f…

    …inish processing
    Adithya Pentela committed Feb 16, 2020
    Configuration menu
    Copy the full SHA
    c4d4d30 View commit details
    Browse the repository at this point in the history
  5. Trigger travis

    Adithya Pentela committed Feb 16, 2020
    Configuration menu
    Copy the full SHA
    1a49c50 View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2020

  1. Trigger travis

    Adithya Pentela committed Feb 17, 2020
    Configuration menu
    Copy the full SHA
    2e27b7f View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2020

  1. Using Producer#close to eliminate the race with producer thread that …

    …calls the delivery callback
    Adithya Pentela committed Feb 18, 2020
    Configuration menu
    Copy the full SHA
    8e945fc View commit details
    Browse the repository at this point in the history