Skip to content

Resolve issues with close and __gc methods

Compare
Choose a tag to compare
@RepentantGopher RepentantGopher released this 10 Dec 09:03
· 108 commits to master since this release
44c01aa

Fixed issues:

  • consumer and producer yields in lua __gc meta methods which leads to crash for whole tarantool (?) - fixed by removing lua __gc meta methods and moving it's logic into separate destroy C functions which will be called from lua close methods of Consumer / Producer
  • consumer:close sometimes hangs forever - fixed byfollowing changes:
    • now we instantly destroying librdkafka messages on consume in poll thread which prevents rd_kafka_close and rd_kafka_destroy C functions hangs cause of busy resources
    • now lua Consumer stops polling fibers only after librdkafka consumer was closed which prevents non handeled callbacks from closing operation
  • producer sometimes hangs forever - updated librdkafka to 1.5.2