@platformatic/rdkafka 4.0.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/README.md +5 -5
  2. package/bench/seed.sh +0 -0
  3. package/binding.gyp +8 -1
  4. package/ci/prepublish.js +0 -1
  5. package/config.d.ts +126 -10
  6. package/configure +0 -0
  7. package/deps/librdkafka/.semaphore/run-all-tests.yml +77 -0
  8. package/deps/librdkafka/.semaphore/semaphore-integration.yml +250 -0
  9. package/deps/librdkafka/.semaphore/semaphore.yml +67 -44
  10. package/deps/librdkafka/.semaphore/verify-linux-packages.yml +41 -0
  11. package/deps/librdkafka/CHANGELOG.md +471 -1
  12. package/deps/librdkafka/CONFIGURATION.md +29 -9
  13. package/deps/librdkafka/INTRODUCTION.md +909 -601
  14. package/deps/librdkafka/LICENSES.txt +592 -1
  15. package/deps/librdkafka/Makefile +2 -1
  16. package/deps/librdkafka/_mkltmpuuWEwa.c +13 -0
  17. package/deps/librdkafka/configure +0 -0
  18. package/deps/librdkafka/debian/rules +0 -0
  19. package/deps/librdkafka/dev-conf.sh +0 -0
  20. package/deps/librdkafka/examples/consumer.c +18 -8
  21. package/deps/librdkafka/examples/describe_consumer_groups.c +25 -6
  22. package/deps/librdkafka/examples/incremental_alter_configs.c +4 -5
  23. package/deps/librdkafka/examples/kafkatest_verifiable_client.cpp +26 -42
  24. package/deps/librdkafka/examples/openssl_engine_example.cpp +3 -4
  25. package/deps/librdkafka/examples/producer.cpp +2 -2
  26. package/deps/librdkafka/examples/user_scram.c +4 -5
  27. package/deps/librdkafka/examples/win_ssl_cert_store.cpp +4 -3
  28. package/deps/librdkafka/lds-gen.py +0 -0
  29. package/deps/librdkafka/mklove/Makefile.base +0 -0
  30. package/deps/librdkafka/packaging/RELEASE.md +8 -0
  31. package/deps/librdkafka/packaging/alpine/build-alpine.sh +0 -0
  32. package/deps/librdkafka/packaging/cp/README.md +4 -1
  33. package/deps/librdkafka/packaging/cp/check_features.c +12 -4
  34. package/deps/librdkafka/packaging/cp/verify-deb.sh +6 -6
  35. package/deps/librdkafka/packaging/cp/verify-packages.sh +52 -31
  36. package/deps/librdkafka/packaging/cp/verify-rpm.sh +6 -13
  37. package/deps/librdkafka/packaging/debian/rules +0 -0
  38. package/deps/librdkafka/packaging/get_version.py +0 -0
  39. package/deps/librdkafka/packaging/homebrew/brew-update-pr.sh +0 -0
  40. package/deps/librdkafka/packaging/mingw-w64/{travis-before-install.sh → export-variables.sh} +0 -7
  41. package/deps/librdkafka/packaging/mingw-w64/semaphoreci-build.sh +1 -1
  42. package/deps/librdkafka/packaging/nuget/artifact.py +0 -0
  43. package/deps/librdkafka/packaging/nuget/cleanup-s3.py +0 -0
  44. package/deps/librdkafka/packaging/nuget/nuget.sh +0 -0
  45. package/deps/librdkafka/packaging/nuget/packaging.py +0 -0
  46. package/deps/librdkafka/packaging/nuget/push-to-nuget.sh +0 -0
  47. package/deps/librdkafka/packaging/nuget/release.py +0 -0
  48. package/deps/librdkafka/packaging/nuget/requirements.txt +3 -3
  49. package/deps/librdkafka/packaging/rpm/mock-on-docker.sh +0 -0
  50. package/deps/librdkafka/packaging/rpm/tests/run-test.sh +0 -0
  51. package/deps/librdkafka/packaging/rpm/tests/test-on-docker.sh +0 -0
  52. package/deps/librdkafka/packaging/tools/build-configurations-checks.sh +3 -1
  53. package/deps/librdkafka/packaging/tools/build-deb-package.sh +0 -0
  54. package/deps/librdkafka/packaging/tools/build-debian.sh +0 -0
  55. package/deps/librdkafka/packaging/tools/build-manylinux.sh +0 -0
  56. package/deps/librdkafka/packaging/tools/build-release-artifacts.sh +0 -0
  57. package/deps/librdkafka/packaging/tools/distro-build.sh +0 -0
  58. package/deps/librdkafka/packaging/tools/gh-release-checksums.py +0 -0
  59. package/deps/librdkafka/packaging/tools/rdutcoverage.sh +0 -0
  60. package/deps/librdkafka/packaging/tools/run-in-docker.sh +28 -0
  61. package/deps/librdkafka/packaging/tools/run-integration-tests.sh +31 -0
  62. package/deps/librdkafka/packaging/tools/run-style-check.sh +4 -0
  63. package/deps/librdkafka/packaging/tools/style-format.sh +6 -5
  64. package/deps/librdkafka/packaging/tools/update_rpcs_max_versions.py +100 -0
  65. package/deps/librdkafka/service.yml +154 -0
  66. package/deps/librdkafka/src/generate_proto.sh +0 -0
  67. package/deps/librdkafka/src/rd.h +145 -2
  68. package/deps/librdkafka/src/rdaddr.h +6 -7
  69. package/deps/librdkafka/src/rdatomic.h +15 -11
  70. package/deps/librdkafka/src/rdavg.h +3 -2
  71. package/deps/librdkafka/src/rdbase64.c +33 -2
  72. package/deps/librdkafka/src/rdbase64.h +2 -0
  73. package/deps/librdkafka/src/rdendian.h +10 -9
  74. package/deps/librdkafka/src/rdhttp.c +418 -100
  75. package/deps/librdkafka/src/rdhttp.h +23 -5
  76. package/deps/librdkafka/src/rdkafka.c +299 -145
  77. package/deps/librdkafka/src/rdkafka.h +89 -6
  78. package/deps/librdkafka/src/rdkafka_admin.c +482 -105
  79. package/deps/librdkafka/src/rdkafka_admin.h +42 -0
  80. package/deps/librdkafka/src/rdkafka_broker.c +463 -312
  81. package/deps/librdkafka/src/rdkafka_broker.h +68 -10
  82. package/deps/librdkafka/src/rdkafka_buf.c +8 -5
  83. package/deps/librdkafka/src/rdkafka_buf.h +4 -3
  84. package/deps/librdkafka/src/rdkafka_cert.c +25 -1
  85. package/deps/librdkafka/src/rdkafka_cert.h +4 -3
  86. package/deps/librdkafka/src/rdkafka_cgrp.c +468 -143
  87. package/deps/librdkafka/src/rdkafka_cgrp.h +36 -2
  88. package/deps/librdkafka/src/rdkafka_conf.c +526 -102
  89. package/deps/librdkafka/src/rdkafka_conf.h +68 -4
  90. package/deps/librdkafka/src/rdkafka_feature.c +472 -35
  91. package/deps/librdkafka/src/rdkafka_feature.h +2 -0
  92. package/deps/librdkafka/src/rdkafka_fetcher.c +22 -2
  93. package/deps/librdkafka/src/rdkafka_fetcher.h +2 -2
  94. package/deps/librdkafka/src/rdkafka_int.h +84 -46
  95. package/deps/librdkafka/src/rdkafka_metadata.c +221 -136
  96. package/deps/librdkafka/src/rdkafka_metadata.h +15 -11
  97. package/deps/librdkafka/src/rdkafka_metadata_cache.c +279 -73
  98. package/deps/librdkafka/src/rdkafka_mock.c +795 -19
  99. package/deps/librdkafka/src/rdkafka_mock.h +119 -0
  100. package/deps/librdkafka/src/rdkafka_mock_cgrp.c +1298 -132
  101. package/deps/librdkafka/src/rdkafka_mock_handlers.c +345 -49
  102. package/deps/librdkafka/src/rdkafka_mock_int.h +180 -61
  103. package/deps/librdkafka/src/rdkafka_msg.c +35 -19
  104. package/deps/librdkafka/src/rdkafka_msg.h +3 -3
  105. package/deps/librdkafka/src/rdkafka_msgset_writer.c +14 -10
  106. package/deps/librdkafka/src/rdkafka_offset.c +33 -5
  107. package/deps/librdkafka/src/rdkafka_op.c +1 -1
  108. package/deps/librdkafka/src/rdkafka_op.h +45 -21
  109. package/deps/librdkafka/src/rdkafka_partition.c +118 -23
  110. package/deps/librdkafka/src/rdkafka_partition.h +16 -7
  111. package/deps/librdkafka/src/rdkafka_proto.h +4 -1
  112. package/deps/librdkafka/src/rdkafka_protocol.h +1 -0
  113. package/deps/librdkafka/src/rdkafka_queue.c +125 -48
  114. package/deps/librdkafka/src/rdkafka_queue.h +19 -0
  115. package/deps/librdkafka/src/rdkafka_range_assignor.c +1 -1
  116. package/deps/librdkafka/src/rdkafka_request.c +336 -64
  117. package/deps/librdkafka/src/rdkafka_request.h +24 -1
  118. package/deps/librdkafka/src/rdkafka_sasl.c +5 -3
  119. package/deps/librdkafka/src/rdkafka_sasl_oauthbearer.c +14 -10
  120. package/deps/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c +1166 -89
  121. package/deps/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.h +13 -3
  122. package/deps/librdkafka/src/rdkafka_sasl_plain.c +3 -3
  123. package/deps/librdkafka/src/rdkafka_sasl_scram.c +4 -3
  124. package/deps/librdkafka/src/rdkafka_ssl.c +306 -81
  125. package/deps/librdkafka/src/rdkafka_ssl.h +22 -0
  126. package/deps/librdkafka/src/rdkafka_sticky_assignor.c +4 -0
  127. package/deps/librdkafka/src/rdkafka_telemetry.c +80 -23
  128. package/deps/librdkafka/src/rdkafka_telemetry_encode.c +5 -1
  129. package/deps/librdkafka/src/rdkafka_telemetry_encode.h +20 -20
  130. package/deps/librdkafka/src/rdkafka_topic.c +220 -137
  131. package/deps/librdkafka/src/rdkafka_topic.h +14 -8
  132. package/deps/librdkafka/src/rdkafka_transport.c +59 -47
  133. package/deps/librdkafka/src/rdkafka_transport.h +5 -0
  134. package/deps/librdkafka/src/rdkafka_txnmgr.c +6 -1
  135. package/deps/librdkafka/src/rdmap.c +6 -1
  136. package/deps/librdkafka/src/rdrand.c +11 -1
  137. package/deps/librdkafka/src/rdtime.h +48 -17
  138. package/deps/librdkafka/src/rdunittest.c +42 -25
  139. package/deps/librdkafka/src/rdunittest.h +2 -0
  140. package/deps/librdkafka/src/rdwin32.h +1 -1
  141. package/deps/librdkafka/src/regexp.c +47 -42
  142. package/deps/librdkafka/src/tinycthread_extra.c +45 -21
  143. package/deps/librdkafka/src/tinycthread_extra.h +7 -3
  144. package/deps/librdkafka/src-cpp/rdkafkacpp.h +28 -2
  145. package/deps/librdkafka/tests/0001-multiobj.c +4 -0
  146. package/deps/librdkafka/tests/0004-conf.c +103 -36
  147. package/deps/librdkafka/tests/0009-mock_cluster.c +1 -0
  148. package/deps/librdkafka/tests/0011-produce_batch.c +2 -1
  149. package/deps/librdkafka/tests/0016-client_swname.c +18 -3
  150. package/deps/librdkafka/tests/0017-compression.c +6 -8
  151. package/deps/librdkafka/tests/0018-cgrp_term.c +8 -3
  152. package/deps/librdkafka/tests/0021-rkt_destroy.c +1 -0
  153. package/deps/librdkafka/tests/0022-consume_batch.c +4 -1
  154. package/deps/librdkafka/tests/0026-consume_pause.c +12 -14
  155. package/deps/librdkafka/tests/0028-long_topicnames.c +1 -1
  156. package/deps/librdkafka/tests/0029-assign_offset.c +6 -8
  157. package/deps/librdkafka/tests/0030-offset_commit.c +2 -2
  158. package/deps/librdkafka/tests/0033-regex_subscribe.c +33 -17
  159. package/deps/librdkafka/tests/0034-offset_reset.c +25 -4
  160. package/deps/librdkafka/tests/0036-partial_fetch.c +1 -0
  161. package/deps/librdkafka/tests/0038-performance.c +1 -0
  162. package/deps/librdkafka/tests/0040-io_event.c +11 -5
  163. package/deps/librdkafka/tests/0041-fetch_max_bytes.c +1 -0
  164. package/deps/librdkafka/tests/0044-partition_cnt.c +3 -2
  165. package/deps/librdkafka/tests/0045-subscribe_update.c +284 -20
  166. package/deps/librdkafka/tests/0047-partial_buf_tmout.c +1 -0
  167. package/deps/librdkafka/tests/0048-partitioner.c +1 -1
  168. package/deps/librdkafka/tests/0050-subscribe_adds.c +1 -0
  169. package/deps/librdkafka/tests/0051-assign_adds.c +1 -0
  170. package/deps/librdkafka/tests/0052-msg_timestamps.c +22 -4
  171. package/deps/librdkafka/tests/0053-stats_cb.cpp +12 -20
  172. package/deps/librdkafka/tests/0055-producer_latency.c +176 -3
  173. package/deps/librdkafka/tests/0056-balanced_group_mt.c +6 -2
  174. package/deps/librdkafka/tests/0058-log.cpp +3 -3
  175. package/deps/librdkafka/tests/0059-bsearch.cpp +8 -4
  176. package/deps/librdkafka/tests/0061-consumer_lag.cpp +25 -5
  177. package/deps/librdkafka/tests/0067-empty_topic.cpp +3 -0
  178. package/deps/librdkafka/tests/0068-produce_timeout.c +21 -23
  179. package/deps/librdkafka/tests/0069-consumer_add_parts.c +3 -7
  180. package/deps/librdkafka/tests/0075-retry.c +38 -1
  181. package/deps/librdkafka/tests/0076-produce_retry.c +2 -0
  182. package/deps/librdkafka/tests/0077-compaction.c +8 -2
  183. package/deps/librdkafka/tests/0080-admin_ut.c +34 -4
  184. package/deps/librdkafka/tests/0081-admin.c +455 -155
  185. package/deps/librdkafka/tests/0082-fetch_max_bytes.cpp +4 -0
  186. package/deps/librdkafka/tests/0083-cb_event.c +8 -3
  187. package/deps/librdkafka/tests/0084-destroy_flags.c +14 -18
  188. package/deps/librdkafka/tests/0085-headers.cpp +4 -0
  189. package/deps/librdkafka/tests/0086-purge.c +40 -7
  190. package/deps/librdkafka/tests/0088-produce_metadata_timeout.c +1 -1
  191. package/deps/librdkafka/tests/0089-max_poll_interval.c +12 -7
  192. package/deps/librdkafka/tests/0090-idempotence.c +1 -2
  193. package/deps/librdkafka/tests/0091-max_poll_interval_timeout.c +5 -7
  194. package/deps/librdkafka/tests/0092-mixed_msgver.c +6 -0
  195. package/deps/librdkafka/tests/0093-holb.c +8 -5
  196. package/deps/librdkafka/tests/0094-idempotence_msg_timeout.c +1 -0
  197. package/deps/librdkafka/tests/0097-ssl_verify.cpp +262 -70
  198. package/deps/librdkafka/tests/0098-consumer-txn.cpp +16 -16
  199. package/deps/librdkafka/tests/0099-commit_metadata.c +1 -1
  200. package/deps/librdkafka/tests/0101-fetch-from-follower.cpp +1 -1
  201. package/deps/librdkafka/tests/0102-static_group_rebalance.c +317 -16
  202. package/deps/librdkafka/tests/0103-transactions.c +7 -7
  203. package/deps/librdkafka/tests/0104-fetch_from_follower_mock.c +1 -0
  204. package/deps/librdkafka/tests/0105-transactions_mock.c +18 -11
  205. package/deps/librdkafka/tests/0106-cgrp_sess_timeout.c +35 -14
  206. package/deps/librdkafka/tests/0107-topic_recreate.c +2 -2
  207. package/deps/librdkafka/tests/0109-auto_create_topics.cpp +86 -26
  208. package/deps/librdkafka/tests/0110-batch_size.cpp +1 -2
  209. package/deps/librdkafka/tests/0112-assign_unknown_part.c +3 -14
  210. package/deps/librdkafka/tests/0113-cooperative_rebalance.cpp +248 -104
  211. package/deps/librdkafka/tests/0114-sticky_partitioning.cpp +3 -3
  212. package/deps/librdkafka/tests/0115-producer_auth.cpp +4 -1
  213. package/deps/librdkafka/tests/0116-kafkaconsumer_close.cpp +7 -5
  214. package/deps/librdkafka/tests/0117-mock_errors.c +15 -5
  215. package/deps/librdkafka/tests/0118-commit_rebalance.c +41 -8
  216. package/deps/librdkafka/tests/0119-consumer_auth.cpp +20 -1
  217. package/deps/librdkafka/tests/0120-asymmetric_subscription.c +8 -3
  218. package/deps/librdkafka/tests/0125-immediate_flush.c +1 -1
  219. package/deps/librdkafka/tests/0126-oauthbearer_oidc.c +323 -8
  220. package/deps/librdkafka/tests/0129-fetch_aborted_msgs.c +1 -0
  221. package/deps/librdkafka/tests/0132-strategy_ordering.c +12 -4
  222. package/deps/librdkafka/tests/0133-ssl_keys.c +28 -6
  223. package/deps/librdkafka/tests/0137-barrier_batch_consume.c +24 -14
  224. package/deps/librdkafka/tests/0139-offset_validation_mock.c +510 -2
  225. package/deps/librdkafka/tests/0140-commit_metadata.cpp +1 -1
  226. package/deps/librdkafka/tests/0142-reauthentication.c +37 -17
  227. package/deps/librdkafka/tests/0143-exponential_backoff_mock.c +39 -40
  228. package/deps/librdkafka/tests/0146-metadata_mock.c +76 -15
  229. package/deps/librdkafka/tests/0147-consumer_group_consumer_mock.c +952 -0
  230. package/deps/librdkafka/tests/0148-offset_fetch_commit_error_mock.c +563 -0
  231. package/deps/librdkafka/tests/0149-broker-same-host-port.c +140 -0
  232. package/deps/librdkafka/tests/0150-telemetry_mock.c +9 -6
  233. package/deps/librdkafka/tests/0151-purge-brokers.c +566 -0
  234. package/deps/librdkafka/tests/0152-rebootstrap.c +59 -0
  235. package/deps/librdkafka/tests/0153-memberid.c +128 -0
  236. package/deps/librdkafka/tests/CMakeLists.txt +6 -0
  237. package/deps/librdkafka/tests/LibrdkafkaTestApp.py +34 -9
  238. package/deps/librdkafka/tests/autotest.sh +0 -0
  239. package/deps/librdkafka/tests/broker_version_tests.py +0 -0
  240. package/deps/librdkafka/tests/buildbox.sh +0 -0
  241. package/deps/librdkafka/tests/cleanup-checker-tests.sh +0 -0
  242. package/deps/librdkafka/tests/cluster_testing.py +0 -0
  243. package/deps/librdkafka/tests/delete-test-topics.sh +0 -0
  244. package/deps/librdkafka/tests/fixtures/oauthbearer/jwt_assertion_template.json +10 -0
  245. package/deps/librdkafka/tests/fixtures/ssl/client.keystore.intermediate.p12 +0 -0
  246. package/deps/librdkafka/tests/fixtures/ssl/client.keystore.p12 +0 -0
  247. package/deps/librdkafka/tests/fixtures/ssl/client2.certificate.intermediate.pem +72 -0
  248. package/deps/librdkafka/tests/fixtures/ssl/client2.certificate.pem +42 -101
  249. package/deps/librdkafka/tests/fixtures/ssl/client2.intermediate.key +46 -0
  250. package/deps/librdkafka/tests/fixtures/ssl/client2.key +41 -29
  251. package/deps/librdkafka/tests/fixtures/ssl/create_keys.sh +112 -37
  252. package/deps/librdkafka/tests/gen-ssl-certs.sh +0 -0
  253. package/deps/librdkafka/tests/interactive_broker_version.py +0 -0
  254. package/deps/librdkafka/tests/java/Makefile +2 -1
  255. package/deps/librdkafka/tests/java/run-class.sh +0 -0
  256. package/deps/librdkafka/tests/lz4_manual_test.sh +0 -0
  257. package/deps/librdkafka/tests/multi-broker-version-test.sh +0 -0
  258. package/deps/librdkafka/tests/parse-refcnt.sh +0 -0
  259. package/deps/librdkafka/tests/performance_plot.py +0 -0
  260. package/deps/librdkafka/tests/requirements.txt +1 -1
  261. package/deps/librdkafka/tests/run-all-tests.sh +79 -0
  262. package/deps/librdkafka/tests/run-consumer-tests.sh +0 -0
  263. package/deps/librdkafka/tests/run-producer-tests.sh +0 -0
  264. package/deps/librdkafka/tests/run-test-batches.py +157 -0
  265. package/deps/librdkafka/tests/run-test.sh +0 -0
  266. package/deps/librdkafka/tests/sasl_test.py +0 -0
  267. package/deps/librdkafka/tests/test.c +478 -18
  268. package/deps/librdkafka/tests/test.h +62 -13
  269. package/deps/librdkafka/tests/testcpp.cpp +6 -1
  270. package/deps/librdkafka/tests/testcpp.h +30 -2
  271. package/deps/librdkafka/tests/testshared.h +16 -2
  272. package/deps/librdkafka/tests/tools/stats/graph.py +0 -0
  273. package/deps/librdkafka/tests/tools/stats/to_csv.py +1 -1
  274. package/deps/librdkafka/tests/trivup/trivup-0.14.0.tar.gz +0 -0
  275. package/deps/librdkafka/tests/until-fail.sh +0 -0
  276. package/deps/librdkafka/tests/xxxx-metadata.cpp +1 -1
  277. package/deps/librdkafka/vcpkg.json +1 -1
  278. package/deps/librdkafka/win32/setup-msys2.ps1 +24 -8
  279. package/deps/librdkafka/win32/setup-vcpkg.ps1 +28 -6
  280. package/deps/librdkafka/win32/tests/tests.vcxproj +6 -0
  281. package/deps/librdkafka/win32/wingetopt.h +5 -4
  282. package/errors.d.ts +27 -1
  283. package/lib/error.js +29 -3
  284. package/make_docs.sh +0 -0
  285. package/package.json +11 -11
  286. package/run_docker.sh +0 -0
  287. package/src/callbacks.cc +6 -9
  288. package/src/callbacks.h +1 -5
  289. package/test/kafka-consumer-worker.js +10 -7
  290. package/test/kafka-consumer.spec.js +32 -21
  291. package/ci/update-version.js +0 -123
  292. package/deps/librdkafka/.semaphore/project.yml +0 -43
  293. package/deps/librdkafka/.semaphore/project_public.yml +0 -20
  294. package/deps/librdkafka/win32/install-openssl.ps1 +0 -33
@@ -21,28 +21,31 @@ if (WorkerThreads.isMainThread) {
21
21
  return;
22
22
  }
23
23
 
24
- const interval = setInterval(() => {
24
+ var interval = setInterval(function() {
25
25
  process._rawDebug('waiting for parent');
26
26
  }, 1000);
27
27
 
28
28
  var stream = Kafka.KafkaConsumer.createReadStream({
29
29
  'metadata.broker.list': 'localhost:9092',
30
30
  'client.id': 'kafka-mocha-consumer',
31
- 'group.id': 'kafka-mocha-grp',
32
- 'allow.auto.create.topics': true,
31
+ 'group.id': WorkerThreads.workerData.groupId,
33
32
  'enable.auto.commit': false,
34
33
  'rebalance_cb': true,
35
- }, {}, {
36
- topics: ['topic']
34
+ }, {
35
+ 'auto.offset.reset': 'earliest'
36
+ }, {
37
+ topics: [WorkerThreads.workerData.topic]
37
38
  });
38
39
 
39
40
  stream.on('data', function(message) {
40
41
  process._rawDebug('received message', message);
41
- WorkerThreads.parentPort?.postMessage({ message });
42
+ if (WorkerThreads.parentPort) {
43
+ WorkerThreads.parentPort.postMessage({ message: message });
44
+ }
42
45
  stream.consumer.commitMessage(message);
43
46
  stream.consumer.disconnect();
44
47
  stream.close(function () {
45
- setTimeout(() => {
48
+ setTimeout(function() {
46
49
  process._rawDebug('exiting');
47
50
  clearInterval(interval);
48
51
  process.exit(0);
@@ -31,7 +31,7 @@ module.exports = {
31
31
  client.disconnect(cb);
32
32
  client = null;
33
33
  } else {
34
- cb()
34
+ cb();
35
35
  }
36
36
  },
37
37
  'does not modify config and clones it': function () {
@@ -54,30 +54,41 @@ module.exports = {
54
54
  },
55
55
  'does not crash in a worker': function (cb) {
56
56
  this.timeout(30000);
57
- var consumer = new worker_threads.Worker(
58
- path.join(__dirname, 'kafka-consumer-worker.js')
59
- );
60
-
61
- consumer.on('message', function(msg) {
62
- process._rawDebug('got message');
63
- t.strictEqual(Buffer.from(msg.message.value).toString(), 'my message');
64
- });
65
-
66
- let stream
67
-
68
- consumer.on('exit', function(code) {
69
- process._rawDebug('exiting');
70
- stream.end();
71
- t.strictEqual(code, 0);
72
- cb();
73
- });
74
-
75
- stream = KafkaProducer.createWriteStream({
57
+ var topic = 'node-rdkafka-worker-' + Date.now();
58
+ var stream = KafkaProducer.createWriteStream({
76
59
  'metadata.broker.list': 'localhost:9092',
77
60
  'client.id': 'kafka-mocha-producer',
78
61
  'dr_cb': true
79
62
  }, {}, {
80
- topic: 'topic'
63
+ topic: topic
64
+ });
65
+
66
+ stream.producer.once('delivery-report', function(err) {
67
+ if (err) {
68
+ cb(err);
69
+ return;
70
+ }
71
+
72
+ var consumer = new worker_threads.Worker(
73
+ path.join(__dirname, 'kafka-consumer-worker.js'),
74
+ { workerData: { topic: topic, groupId: topic } }
75
+ );
76
+ var timeout = setTimeout(function() {
77
+ consumer.terminate();
78
+ }, 25000);
79
+
80
+ consumer.on('message', function(msg) {
81
+ process._rawDebug('got message');
82
+ t.strictEqual(Buffer.from(msg.message.value).toString(), 'my message');
83
+ });
84
+
85
+ consumer.on('exit', function(code) {
86
+ process._rawDebug('exiting');
87
+ clearTimeout(timeout);
88
+ stream.end();
89
+ t.strictEqual(code, 0);
90
+ cb();
91
+ });
81
92
  });
82
93
 
83
94
  stream.write(Buffer.from('my message'));
@@ -1,123 +0,0 @@
1
- const path = require('path');
2
- const semver = require('semver');
3
- const { spawn } = require('child_process');
4
- const fs = require('fs');
5
-
6
- const root = path.resolve(__dirname, '..');
7
- const pjsPath = path.resolve(root, 'package.json');
8
- const pjs = require(pjsPath);
9
-
10
- function parseVersion(tag) {
11
- const { major, minor, prerelease, patch } = semver.parse(tag);
12
-
13
- // Describe will give is commits since last tag
14
- const [commitsSinceTag, hash] = prerelease[0] ? prerelease[0].split('-') : [
15
- 1,
16
- process.env.TRAVIS_COMMIT || ''
17
- ];
18
-
19
- return {
20
- major,
21
- minor,
22
- prerelease,
23
- patch,
24
- commit: commitsSinceTag - 1,
25
- hash
26
- };
27
- }
28
-
29
- function getCommandOutput(command, args, cb) {
30
- let output = '';
31
-
32
- const cmd = spawn(command, args);
33
-
34
- cmd.stdout.on('data', (data) => {
35
- output += data;
36
- });
37
-
38
- cmd.on('close', (code) => {
39
- if (code != 0) {
40
- cb(new Error(`Command returned unsuccessful code: ${code}`));
41
- return;
42
- }
43
-
44
- cb(null, output.trim());
45
- });
46
- }
47
-
48
- function getVersion(cb) {
49
- // https://docs.travis-ci.com/user/environment-variables/
50
- if (process.env.TRAVIS_TAG) {
51
- setImmediate(() => cb(null, parseVersion(process.env.TRAVIS_TAG.trim())));
52
- return;
53
- }
54
-
55
- getCommandOutput('git', ['describe', '--tags'], (err, result) => {
56
- if (err) {
57
- cb(err);
58
- return;
59
- }
60
-
61
- cb(null, parseVersion(result.trim()));
62
- });
63
- }
64
-
65
- function getBranch(cb) {
66
- if (process.env.TRAVIS_TAG) {
67
- // TRAVIS_BRANCH matches TRAVIS_TAG when TRAVIS_TAG is set
68
- // "git branch --contains tags/TRAVIS_TAG" doesn't work on travis so we have to assume 'master'
69
- setImmediate(() => cb(null, 'master'));
70
- return;
71
- } else if (process.env.TRAVIS_BRANCH) {
72
- setImmediate(() => cb(null, process.env.TRAVIS_BRANCH.trim()));
73
- return;
74
- }
75
-
76
- getCommandOutput('git', ['rev-parse', '--abbrev-ref', 'HEAD'], (err, result) => {
77
- if (err) {
78
- cb(err);
79
- return;
80
- }
81
-
82
- cb(null, result.trim());
83
- });
84
- }
85
-
86
- function getPackageVersion(tag, branch) {
87
- const baseVersion = `v${tag.major}.${tag.minor}.${tag.patch}`;
88
-
89
- console.log(`Package version is "${baseVersion}"`);
90
-
91
- // never publish with an suffix
92
- // fixes https://github.com/Blizzard/node-rdkafka/issues/981
93
- // baseVersion += '-';
94
-
95
- // if (tag.commit === 0 && branch === 'master') {
96
- // return baseVersion;
97
- // }
98
-
99
- // if (branch !== 'master') {
100
- // baseVersion += (tag.commit + 1 + '.' + branch);
101
- // } else {
102
- // baseVersion += (tag.commit + 1);
103
- // }
104
-
105
- return baseVersion;
106
- }
107
-
108
- getVersion((err, tag) => {
109
- if (err) {
110
- throw err;
111
- }
112
-
113
- getBranch((err, branch) => {
114
- if (err) {
115
- throw err;
116
- }
117
-
118
- pjs.version = getPackageVersion(tag, branch);
119
-
120
- fs.writeFileSync(pjsPath, JSON.stringify(pjs, null, 2));
121
- })
122
-
123
- });
@@ -1,43 +0,0 @@
1
- # This file is managed by ServiceBot plugin - Semaphore. The content in this file is created using a common
2
- # template and configurations in service.yml.
3
- # Modifications in this file will be overwritten by generated content in the nightly run.
4
- # For more information, please refer to the page:
5
- # https://confluentinc.atlassian.net/wiki/spaces/Foundations/pages/2871296194/Add+SemaphoreCI
6
- apiVersion: v1alpha
7
- kind: Project
8
- metadata:
9
- name: librdkafka
10
- description: ""
11
- spec:
12
- visibility: private
13
- repository:
14
- url: git@github.com:confluentinc/librdkafka.git
15
- run_on:
16
- - tags
17
- - branches
18
- pipeline_file: .semaphore/semaphore.yml
19
- integration_type: github_app
20
- status:
21
- pipeline_files:
22
- - path: .semaphore/semaphore.yml
23
- level: pipeline
24
- whitelist:
25
- branches:
26
- - master
27
- - /semaphore.*/
28
- - /dev_.*/
29
- - /feature\/.*/
30
- custom_permissions: true
31
- debug_permissions:
32
- - empty
33
- - default_branch
34
- - non_default_branch
35
- - pull_request
36
- - forked_pull_request
37
- - tag
38
- attach_permissions:
39
- - default_branch
40
- - non_default_branch
41
- - pull_request
42
- - forked_pull_request
43
- - tag
@@ -1,20 +0,0 @@
1
- # This file is managed by ServiceBot plugin - Semaphore. The content in this file is created using a common
2
- # template and configurations in service.yml.
3
- # Modifications in this file will be overwritten by generated content in the nightly run.
4
- # For more information, please refer to the page:
5
- # https://confluentinc.atlassian.net/wiki/spaces/Foundations/pages/2871296194/Add+SemaphoreCI
6
- apiVersion: v1alpha
7
- kind: Project
8
- metadata:
9
- name: librdkafka
10
- description: ""
11
- spec:
12
- visibility: private
13
- repository:
14
- url: git@github.com:confluentinc/librdkafka.git
15
- pipeline_file: .semaphore/semaphore.yml
16
- integration_type: github_app
17
- status:
18
- pipeline_files:
19
- - path: .semaphore/semaphore.yml
20
- level: pipeline
@@ -1,33 +0,0 @@
1
- $OpenSSLVersion = "1_1_1k"
2
- $OpenSSLExe = "OpenSSL-$OpenSSLVersion.exe"
3
-
4
- if (!(Test-Path("C:\OpenSSL-Win32"))) {
5
- instDir = "C:\OpenSSL-Win32"
6
- $exeFull = "Win32$OpenSSLExe"
7
- $exePath = "$($env:USERPROFILE)\$exeFull"
8
-
9
- Write-Host "Downloading and installing OpenSSL v1.1 32-bit ..." -ForegroundColor Cyan
10
- (New-Object Net.WebClient).DownloadFile('https://slproweb.com/download/$exeFull', $exePath)
11
-
12
- Write-Host "Installing to $instDir..."
13
- cmd /c start /wait $exePath /silent /verysilent /sp- /suppressmsgboxes /DIR=$instDir
14
- Write-Host "Installed" -ForegroundColor Green
15
- } else {
16
- echo "OpenSSL-Win32 already exists: not downloading"
17
- }
18
-
19
-
20
- if (!(Test-Path("C:\OpenSSL-Win64"))) {
21
- instDir = "C:\OpenSSL-Win64"
22
- $exeFull = "Win64$OpenSSLExe"
23
- $exePath = "$($env:USERPROFILE)\$exeFull"
24
-
25
- Write-Host "Downloading and installing OpenSSL v1.1 64-bit ..." -ForegroundColor Cyan
26
- (New-Object Net.WebClient).DownloadFile('https://slproweb.com/download/$exeFull', $exePath)
27
-
28
- Write-Host "Installing to $instDir..."
29
- cmd /c start /wait $exePath /silent /verysilent /sp- /suppressmsgboxes /DIR=$instDir
30
- Write-Host "Installed" -ForegroundColor Green
31
- } else {
32
- echo "OpenSSL-Win64 already exists: not downloading"
33
- }