@platformatic/kafka 2.1.0 → 2.2.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.
- package/README.md +4 -1
- package/dist/apis/admin/alter-client-quotas-v0.d.ts +40 -0
- package/dist/apis/admin/alter-client-quotas-v0.js +60 -0
- package/dist/apis/admin/alter-client-quotas-v1.d.ts +6 -5
- package/dist/apis/admin/alter-client-quotas-v1.js +3 -1
- package/dist/apis/admin/alter-configs-v0.d.ts +7 -0
- package/dist/apis/admin/alter-configs-v0.js +10 -0
- package/dist/apis/admin/alter-configs-v1.d.ts +2 -0
- package/dist/apis/admin/alter-configs-v1.js +5 -0
- package/dist/apis/admin/alter-configs-v2.js +3 -1
- package/dist/apis/admin/alter-partition-reassignments-v0.d.ts +3 -2
- package/dist/apis/admin/alter-partition-reassignments-v0.js +4 -1
- package/dist/apis/admin/alter-partition-reassignments-v1.d.ts +6 -4
- package/dist/apis/admin/alter-partition-reassignments-v1.js +7 -3
- package/dist/apis/admin/alter-partition-v0.d.ts +40 -0
- package/dist/apis/admin/alter-partition-v0.js +81 -0
- package/dist/apis/admin/alter-partition-v1.d.ts +37 -0
- package/dist/apis/admin/alter-partition-v1.js +84 -0
- package/dist/apis/admin/alter-partition-v2.d.ts +36 -0
- package/dist/apis/admin/alter-partition-v2.js +83 -0
- package/dist/apis/admin/alter-partition-v3.d.ts +6 -35
- package/dist/apis/admin/alter-partition-v3.js +10 -8
- package/dist/apis/admin/alter-replica-log-dirs-v0.d.ts +23 -0
- package/dist/apis/admin/alter-replica-log-dirs-v0.js +29 -0
- package/dist/apis/admin/alter-replica-log-dirs-v1.d.ts +4 -0
- package/dist/apis/admin/alter-replica-log-dirs-v1.js +8 -0
- package/dist/apis/admin/alter-replica-log-dirs-v2.d.ts +1 -1
- package/dist/apis/admin/alter-replica-log-dirs-v2.js +1 -0
- package/dist/apis/admin/alter-user-scram-credentials-v0.js +1 -1
- package/dist/apis/admin/client-quotas.d.ts +2 -0
- package/dist/apis/admin/client-quotas.js +1 -0
- package/dist/apis/admin/consumer-group-describe-v0.d.ts +2 -1
- package/dist/apis/admin/consumer-group-describe-v0.js +51 -30
- package/dist/apis/admin/create-acls-v0.d.ts +16 -0
- package/dist/apis/admin/create-acls-v0.js +10 -0
- package/dist/apis/admin/create-acls-v1.d.ts +15 -0
- package/dist/apis/admin/create-acls-v1.js +10 -0
- package/dist/apis/admin/create-acls-v2.js +1 -0
- package/dist/apis/admin/create-acls-v3.js +1 -0
- package/dist/apis/admin/create-delegation-token-v0.d.ts +24 -0
- package/dist/apis/admin/create-delegation-token-v0.js +47 -0
- package/dist/apis/admin/create-delegation-token-v1.d.ts +4 -0
- package/dist/apis/admin/create-delegation-token-v1.js +8 -0
- package/dist/apis/admin/create-delegation-token-v2.d.ts +9 -0
- package/dist/apis/admin/create-delegation-token-v2.js +30 -0
- package/dist/apis/admin/create-delegation-token-v3.js +1 -0
- package/dist/apis/admin/create-partitions-v0.d.ts +2 -0
- package/dist/apis/admin/create-partitions-v0.js +5 -0
- package/dist/apis/admin/create-partitions-v1.d.ts +2 -2
- package/dist/apis/admin/create-partitions-v1.js +5 -5
- package/dist/apis/admin/create-partitions-v2.d.ts +2 -2
- package/dist/apis/admin/create-partitions-v2.js +1 -0
- package/dist/apis/admin/create-partitions-v3.js +1 -0
- package/dist/apis/admin/create-topics-v0.d.ts +42 -0
- package/dist/apis/admin/create-topics-v0.js +63 -0
- package/dist/apis/admin/create-topics-v1.d.ts +42 -0
- package/dist/apis/admin/create-topics-v1.js +65 -0
- package/dist/apis/admin/create-topics-v2.d.ts +42 -0
- package/dist/apis/admin/create-topics-v2.js +66 -0
- package/dist/apis/admin/create-topics-v3.d.ts +42 -0
- package/dist/apis/admin/create-topics-v3.js +66 -0
- package/dist/apis/admin/create-topics-v4.d.ts +42 -0
- package/dist/apis/admin/create-topics-v4.js +66 -0
- package/dist/apis/admin/create-topics-v5.d.ts +42 -0
- package/dist/apis/admin/create-topics-v5.js +88 -0
- package/dist/apis/admin/create-topics-v6.d.ts +42 -0
- package/dist/apis/admin/create-topics-v6.js +88 -0
- package/dist/apis/admin/create-topics-v7.d.ts +2 -1
- package/dist/apis/admin/create-topics-v7.js +20 -5
- package/dist/apis/admin/delete-acls-v0.d.ts +28 -0
- package/dist/apis/admin/delete-acls-v0.js +12 -0
- package/dist/apis/admin/delete-acls-v1.d.ts +27 -0
- package/dist/apis/admin/delete-acls-v1.js +11 -0
- package/dist/apis/admin/delete-acls-v2.js +5 -2
- package/dist/apis/admin/delete-acls-v3.js +1 -0
- package/dist/apis/admin/delete-groups-v0.d.ts +14 -0
- package/dist/apis/admin/delete-groups-v0.js +38 -0
- package/dist/apis/admin/delete-groups-v1.d.ts +14 -0
- package/dist/apis/admin/delete-groups-v1.js +38 -0
- package/dist/apis/admin/delete-groups-v2.js +1 -0
- package/dist/apis/admin/delete-records-v0.d.ts +27 -0
- package/dist/apis/admin/delete-records-v0.js +50 -0
- package/dist/apis/admin/delete-records-v1.d.ts +27 -0
- package/dist/apis/admin/delete-records-v1.js +50 -0
- package/dist/apis/admin/delete-records-v2.js +1 -0
- package/dist/apis/admin/delete-topics-v0.d.ts +19 -0
- package/dist/apis/admin/delete-topics-v0.js +39 -0
- package/dist/apis/admin/delete-topics-v1.d.ts +19 -0
- package/dist/apis/admin/delete-topics-v1.js +37 -0
- package/dist/apis/admin/delete-topics-v2.d.ts +19 -0
- package/dist/apis/admin/delete-topics-v2.js +37 -0
- package/dist/apis/admin/delete-topics-v3.d.ts +19 -0
- package/dist/apis/admin/delete-topics-v3.js +37 -0
- package/dist/apis/admin/delete-topics-v4.d.ts +19 -0
- package/dist/apis/admin/delete-topics-v4.js +41 -0
- package/dist/apis/admin/delete-topics-v5.d.ts +19 -0
- package/dist/apis/admin/delete-topics-v5.js +45 -0
- package/dist/apis/admin/delete-topics-v6.d.ts +1 -1
- package/dist/apis/admin/delete-topics-v6.js +5 -1
- package/dist/apis/admin/describe-acls-v0.d.ts +21 -0
- package/dist/apis/admin/describe-acls-v0.js +19 -0
- package/dist/apis/admin/describe-acls-v1.d.ts +21 -0
- package/dist/apis/admin/describe-acls-v1.js +18 -0
- package/dist/apis/admin/describe-acls-v2.js +1 -0
- package/dist/apis/admin/describe-acls-v3.js +1 -0
- package/dist/apis/admin/describe-client-quotas-v0.d.ts +8 -7
- package/dist/apis/admin/describe-client-quotas-v0.js +28 -25
- package/dist/apis/admin/describe-client-quotas-v1.d.ts +9 -0
- package/dist/apis/admin/describe-client-quotas-v1.js +34 -0
- package/dist/apis/admin/describe-cluster-v0.d.ts +4 -3
- package/dist/apis/admin/describe-cluster-v0.js +3 -1
- package/dist/apis/admin/describe-cluster-v1.d.ts +4 -3
- package/dist/apis/admin/describe-cluster-v1.js +1 -0
- package/dist/apis/admin/describe-configs-v0.d.ts +41 -0
- package/dist/apis/admin/describe-configs-v0.js +72 -0
- package/dist/apis/admin/describe-configs-v1.d.ts +39 -0
- package/dist/apis/admin/describe-configs-v1.js +81 -0
- package/dist/apis/admin/describe-configs-v2.d.ts +9 -8
- package/dist/apis/admin/describe-configs-v2.js +10 -14
- package/dist/apis/admin/describe-configs-v3.d.ts +9 -8
- package/dist/apis/admin/describe-configs-v3.js +7 -7
- package/dist/apis/admin/describe-configs-v4.d.ts +2 -2
- package/dist/apis/admin/describe-configs-v4.js +14 -7
- package/dist/apis/admin/describe-delegation-token-v0.d.ts +31 -0
- package/dist/apis/admin/describe-delegation-token-v0.js +51 -0
- package/dist/apis/admin/describe-delegation-token-v1.d.ts +4 -0
- package/dist/apis/admin/describe-delegation-token-v1.js +8 -0
- package/dist/apis/admin/describe-delegation-token-v2.d.ts +8 -0
- package/dist/apis/admin/describe-delegation-token-v2.js +32 -0
- package/dist/apis/admin/describe-delegation-token-v3.d.ts +4 -27
- package/dist/apis/admin/describe-delegation-token-v3.js +1 -0
- package/dist/apis/admin/describe-groups-v0.d.ts +28 -0
- package/dist/apis/admin/describe-groups-v0.js +60 -0
- package/dist/apis/admin/describe-groups-v1.d.ts +28 -0
- package/dist/apis/admin/describe-groups-v1.js +62 -0
- package/dist/apis/admin/describe-groups-v2.d.ts +28 -0
- package/dist/apis/admin/describe-groups-v2.js +62 -0
- package/dist/apis/admin/describe-groups-v3.d.ts +28 -0
- package/dist/apis/admin/describe-groups-v3.js +64 -0
- package/dist/apis/admin/describe-groups-v4.d.ts +28 -0
- package/dist/apis/admin/describe-groups-v4.js +64 -0
- package/dist/apis/admin/describe-groups-v5.js +1 -0
- package/dist/apis/admin/describe-log-dirs-v0.d.ts +30 -0
- package/dist/apis/admin/describe-log-dirs-v0.js +39 -0
- package/dist/apis/admin/describe-log-dirs-v1.d.ts +4 -0
- package/dist/apis/admin/describe-log-dirs-v1.js +8 -0
- package/dist/apis/admin/describe-log-dirs-v2.d.ts +3 -2
- package/dist/apis/admin/describe-log-dirs-v2.js +9 -5
- package/dist/apis/admin/describe-log-dirs-v3.d.ts +3 -2
- package/dist/apis/admin/describe-log-dirs-v3.js +3 -2
- package/dist/apis/admin/describe-log-dirs-v4.d.ts +3 -2
- package/dist/apis/admin/describe-log-dirs-v4.js +1 -0
- package/dist/apis/admin/describe-producers-v0.js +1 -0
- package/dist/apis/admin/describe-quorum-v0.d.ts +13 -0
- package/dist/apis/admin/describe-quorum-v0.js +85 -0
- package/dist/apis/admin/describe-quorum-v1.d.ts +13 -0
- package/dist/apis/admin/describe-quorum-v1.js +84 -0
- package/dist/apis/admin/describe-quorum-v2.js +1 -0
- package/dist/apis/admin/describe-topic-partitions-v0.d.ts +3 -3
- package/dist/apis/admin/describe-topic-partitions-v0.js +5 -2
- package/dist/apis/admin/describe-transactions-v0.js +1 -0
- package/dist/apis/admin/describe-user-scram-credentials-v0.d.ts +4 -3
- package/dist/apis/admin/describe-user-scram-credentials-v0.js +1 -0
- package/dist/apis/admin/envelope-v0.js +1 -0
- package/dist/apis/admin/expire-delegation-token-v0.d.ts +11 -0
- package/dist/apis/admin/expire-delegation-token-v0.js +29 -0
- package/dist/apis/admin/expire-delegation-token-v1.d.ts +4 -0
- package/dist/apis/admin/expire-delegation-token-v1.js +8 -0
- package/dist/apis/admin/expire-delegation-token-v2.js +1 -0
- package/dist/apis/admin/incremental-alter-configs-v0.d.ts +26 -0
- package/dist/apis/admin/incremental-alter-configs-v0.js +10 -0
- package/dist/apis/admin/incremental-alter-configs-v1.js +1 -0
- package/dist/apis/admin/index.d.ts +60 -0
- package/dist/apis/admin/index.js +60 -0
- package/dist/apis/admin/list-groups-v0.d.ts +18 -0
- package/dist/apis/admin/list-groups-v0.js +30 -0
- package/dist/apis/admin/list-groups-v1.d.ts +18 -0
- package/dist/apis/admin/list-groups-v1.js +37 -0
- package/dist/apis/admin/list-groups-v2.d.ts +18 -0
- package/dist/apis/admin/list-groups-v2.js +37 -0
- package/dist/apis/admin/list-groups-v3.d.ts +18 -0
- package/dist/apis/admin/list-groups-v3.js +38 -0
- package/dist/apis/admin/list-groups-v4.d.ts +4 -3
- package/dist/apis/admin/list-groups-v4.js +15 -4
- package/dist/apis/admin/list-groups-v5.d.ts +3 -3
- package/dist/apis/admin/list-groups-v5.js +25 -3
- package/dist/apis/admin/list-partition-reassignments-v0.d.ts +3 -3
- package/dist/apis/admin/list-partition-reassignments-v0.js +1 -0
- package/dist/apis/admin/list-transactions-v0.d.ts +5 -3
- package/dist/apis/admin/list-transactions-v0.js +23 -1
- package/dist/apis/admin/list-transactions-v1.d.ts +5 -3
- package/dist/apis/admin/list-transactions-v1.js +15 -1
- package/dist/apis/admin/list-transactions-v2.d.ts +5 -4
- package/dist/apis/admin/list-transactions-v2.js +17 -5
- package/dist/apis/admin/renew-delegation-token-v0.d.ts +11 -0
- package/dist/apis/admin/renew-delegation-token-v0.js +29 -0
- package/dist/apis/admin/renew-delegation-token-v1.d.ts +4 -0
- package/dist/apis/admin/renew-delegation-token-v1.js +8 -0
- package/dist/apis/admin/renew-delegation-token-v2.js +1 -0
- package/dist/apis/admin/unregister-broker-v0.js +1 -0
- package/dist/apis/admin/update-features-v0.d.ts +24 -0
- package/dist/apis/admin/update-features-v0.js +59 -0
- package/dist/apis/admin/update-features-v1.d.ts +2 -1
- package/dist/apis/admin/update-features-v1.js +1 -0
- package/dist/apis/callbacks.d.ts +1 -3
- package/dist/apis/callbacks.js +26 -11
- package/dist/apis/consumer/consumer-group-heartbeat-v0.d.ts +2 -2
- package/dist/apis/consumer/consumer-group-heartbeat-v0.js +17 -10
- package/dist/apis/consumer/consumer-group-heartbeat-v1.d.ts +2 -2
- package/dist/apis/consumer/consumer-group-heartbeat-v1.js +17 -10
- package/dist/apis/consumer/fetch-v10.d.ts +51 -0
- package/dist/apis/consumer/fetch-v10.js +122 -0
- package/dist/apis/consumer/fetch-v11.d.ts +51 -0
- package/dist/apis/consumer/fetch-v11.js +125 -0
- package/dist/apis/consumer/fetch-v12.d.ts +20 -4
- package/dist/apis/consumer/fetch-v12.js +29 -12
- package/dist/apis/consumer/fetch-v13.d.ts +20 -4
- package/dist/apis/consumer/fetch-v13.js +25 -7
- package/dist/apis/consumer/fetch-v14.d.ts +20 -4
- package/dist/apis/consumer/fetch-v14.js +25 -7
- package/dist/apis/consumer/fetch-v15.d.ts +20 -4
- package/dist/apis/consumer/fetch-v15.js +25 -7
- package/dist/apis/consumer/fetch-v16.d.ts +27 -4
- package/dist/apis/consumer/fetch-v16.js +36 -8
- package/dist/apis/consumer/fetch-v17.d.ts +28 -4
- package/dist/apis/consumer/fetch-v17.js +43 -9
- package/dist/apis/consumer/fetch-v4.d.ts +51 -0
- package/dist/apis/consumer/fetch-v4.js +87 -0
- package/dist/apis/consumer/fetch-v5.d.ts +51 -0
- package/dist/apis/consumer/fetch-v5.js +89 -0
- package/dist/apis/consumer/fetch-v6.d.ts +51 -0
- package/dist/apis/consumer/fetch-v6.js +99 -0
- package/dist/apis/consumer/fetch-v7.d.ts +51 -0
- package/dist/apis/consumer/fetch-v7.js +117 -0
- package/dist/apis/consumer/fetch-v8.d.ts +51 -0
- package/dist/apis/consumer/fetch-v8.js +117 -0
- package/dist/apis/consumer/fetch-v9.d.ts +51 -0
- package/dist/apis/consumer/fetch-v9.js +122 -0
- package/dist/apis/consumer/heartbeat-v0.d.ts +11 -0
- package/dist/apis/consumer/heartbeat-v0.js +24 -0
- package/dist/apis/consumer/heartbeat-v1.d.ts +11 -0
- package/dist/apis/consumer/heartbeat-v1.js +31 -0
- package/dist/apis/consumer/heartbeat-v2.d.ts +11 -0
- package/dist/apis/consumer/heartbeat-v2.js +31 -0
- package/dist/apis/consumer/heartbeat-v3.d.ts +11 -0
- package/dist/apis/consumer/heartbeat-v3.js +33 -0
- package/dist/apis/consumer/heartbeat-v4.js +1 -0
- package/dist/apis/consumer/index.d.ts +51 -0
- package/dist/apis/consumer/index.js +51 -0
- package/dist/apis/consumer/join-group-v0.d.ts +27 -0
- package/dist/apis/consumer/join-group-v0.js +51 -0
- package/dist/apis/consumer/join-group-v1.d.ts +8 -0
- package/dist/apis/consumer/join-group-v1.js +43 -0
- package/dist/apis/consumer/join-group-v2.d.ts +27 -0
- package/dist/apis/consumer/join-group-v2.js +60 -0
- package/dist/apis/consumer/join-group-v3.d.ts +27 -0
- package/dist/apis/consumer/join-group-v3.js +60 -0
- package/dist/apis/consumer/join-group-v4.d.ts +27 -0
- package/dist/apis/consumer/join-group-v4.js +60 -0
- package/dist/apis/consumer/join-group-v5.d.ts +27 -0
- package/dist/apis/consumer/join-group-v5.js +63 -0
- package/dist/apis/consumer/join-group-v6.d.ts +2 -2
- package/dist/apis/consumer/join-group-v6.js +10 -7
- package/dist/apis/consumer/join-group-v7.d.ts +2 -2
- package/dist/apis/consumer/join-group-v7.js +5 -3
- package/dist/apis/consumer/join-group-v8.d.ts +2 -2
- package/dist/apis/consumer/join-group-v8.js +5 -3
- package/dist/apis/consumer/join-group-v9.d.ts +2 -2
- package/dist/apis/consumer/join-group-v9.js +5 -3
- package/dist/apis/consumer/leave-group-v0.d.ts +22 -0
- package/dist/apis/consumer/leave-group-v0.js +23 -0
- package/dist/apis/consumer/leave-group-v1.d.ts +22 -0
- package/dist/apis/consumer/leave-group-v1.js +30 -0
- package/dist/apis/consumer/leave-group-v2.d.ts +22 -0
- package/dist/apis/consumer/leave-group-v2.js +30 -0
- package/dist/apis/consumer/leave-group-v3.d.ts +22 -0
- package/dist/apis/consumer/leave-group-v3.js +54 -0
- package/dist/apis/consumer/leave-group-v4.d.ts +1 -1
- package/dist/apis/consumer/leave-group-v4.js +4 -2
- package/dist/apis/consumer/leave-group-v5.d.ts +1 -1
- package/dist/apis/consumer/leave-group-v5.js +4 -2
- package/dist/apis/consumer/list-offsets-v0.d.ts +30 -0
- package/dist/apis/consumer/list-offsets-v0.js +50 -0
- package/dist/apis/consumer/list-offsets-v1.d.ts +12 -0
- package/dist/apis/consumer/list-offsets-v1.js +52 -0
- package/dist/apis/consumer/list-offsets-v2.d.ts +30 -0
- package/dist/apis/consumer/list-offsets-v2.js +64 -0
- package/dist/apis/consumer/list-offsets-v3.d.ts +30 -0
- package/dist/apis/consumer/list-offsets-v3.js +64 -0
- package/dist/apis/consumer/list-offsets-v4.d.ts +30 -0
- package/dist/apis/consumer/list-offsets-v4.js +67 -0
- package/dist/apis/consumer/list-offsets-v6.js +6 -3
- package/dist/apis/consumer/list-offsets-v7.js +6 -3
- package/dist/apis/consumer/list-offsets-v8.js +6 -3
- package/dist/apis/consumer/list-offsets-v9.js +6 -3
- package/dist/apis/consumer/offset-commit-v0.d.ts +29 -0
- package/dist/apis/consumer/offset-commit-v0.js +52 -0
- package/dist/apis/consumer/offset-commit-v1.d.ts +7 -0
- package/dist/apis/consumer/offset-commit-v1.js +30 -0
- package/dist/apis/consumer/offset-commit-v2.d.ts +8 -0
- package/dist/apis/consumer/offset-commit-v2.js +31 -0
- package/dist/apis/consumer/offset-commit-v3.d.ts +29 -0
- package/dist/apis/consumer/offset-commit-v3.js +58 -0
- package/dist/apis/consumer/offset-commit-v4.d.ts +29 -0
- package/dist/apis/consumer/offset-commit-v4.js +58 -0
- package/dist/apis/consumer/offset-commit-v5.d.ts +29 -0
- package/dist/apis/consumer/offset-commit-v5.js +56 -0
- package/dist/apis/consumer/offset-commit-v6.d.ts +29 -0
- package/dist/apis/consumer/offset-commit-v6.js +60 -0
- package/dist/apis/consumer/offset-commit-v7.d.ts +29 -0
- package/dist/apis/consumer/offset-commit-v7.js +62 -0
- package/dist/apis/consumer/offset-commit-v8.d.ts +2 -2
- package/dist/apis/consumer/offset-commit-v8.js +6 -3
- package/dist/apis/consumer/offset-commit-v9.d.ts +2 -2
- package/dist/apis/consumer/offset-commit-v9.js +6 -3
- package/dist/apis/consumer/offset-fetch-v0.d.ts +40 -0
- package/dist/apis/consumer/offset-fetch-v0.js +62 -0
- package/dist/apis/consumer/offset-fetch-v1.d.ts +6 -0
- package/dist/apis/consumer/offset-fetch-v1.js +41 -0
- package/dist/apis/consumer/offset-fetch-v2.d.ts +7 -0
- package/dist/apis/consumer/offset-fetch-v2.js +48 -0
- package/dist/apis/consumer/offset-fetch-v3.d.ts +39 -0
- package/dist/apis/consumer/offset-fetch-v3.js +64 -0
- package/dist/apis/consumer/offset-fetch-v4.d.ts +39 -0
- package/dist/apis/consumer/offset-fetch-v4.js +64 -0
- package/dist/apis/consumer/offset-fetch-v5.d.ts +39 -0
- package/dist/apis/consumer/offset-fetch-v5.js +65 -0
- package/dist/apis/consumer/offset-fetch-v6.d.ts +39 -0
- package/dist/apis/consumer/offset-fetch-v6.js +68 -0
- package/dist/apis/consumer/offset-fetch-v7.d.ts +39 -0
- package/dist/apis/consumer/offset-fetch-v7.js +70 -0
- package/dist/apis/consumer/offset-fetch-v8.js +5 -2
- package/dist/apis/consumer/offset-fetch-v9.js +5 -2
- package/dist/apis/consumer/offset-for-leader-epoch-v0.d.ts +29 -0
- package/dist/apis/consumer/offset-for-leader-epoch-v0.js +48 -0
- package/dist/apis/consumer/offset-for-leader-epoch-v1.d.ts +29 -0
- package/dist/apis/consumer/offset-for-leader-epoch-v1.js +54 -0
- package/dist/apis/consumer/offset-for-leader-epoch-v2.d.ts +29 -0
- package/dist/apis/consumer/offset-for-leader-epoch-v2.js +58 -0
- package/dist/apis/consumer/offset-for-leader-epoch-v3.d.ts +29 -0
- package/dist/apis/consumer/offset-for-leader-epoch-v3.js +59 -0
- package/dist/apis/consumer/offset-for-leader-epoch-v4.d.ts +1 -1
- package/dist/apis/consumer/offset-for-leader-epoch-v4.js +11 -8
- package/dist/apis/consumer/sync-group-v0.d.ts +18 -0
- package/dist/apis/consumer/sync-group-v0.js +38 -0
- package/dist/apis/consumer/sync-group-v1.d.ts +18 -0
- package/dist/apis/consumer/sync-group-v1.js +39 -0
- package/dist/apis/consumer/sync-group-v2.d.ts +18 -0
- package/dist/apis/consumer/sync-group-v2.js +39 -0
- package/dist/apis/consumer/sync-group-v3.d.ts +18 -0
- package/dist/apis/consumer/sync-group-v3.js +41 -0
- package/dist/apis/consumer/sync-group-v4.js +1 -0
- package/dist/apis/consumer/sync-group-v5.js +1 -0
- package/dist/apis/enumerations.d.ts +21 -6
- package/dist/apis/enumerations.js +57 -5
- package/dist/apis/index.d.ts +1 -0
- package/dist/apis/index.js +1 -0
- package/dist/apis/metadata/api-versions-v0.d.ts +17 -0
- package/dist/apis/metadata/api-versions-v0.js +24 -0
- package/dist/apis/metadata/api-versions-v1.d.ts +17 -0
- package/dist/apis/metadata/api-versions-v1.js +39 -0
- package/dist/apis/metadata/api-versions-v2.d.ts +17 -0
- package/dist/apis/metadata/api-versions-v2.js +39 -0
- package/dist/apis/metadata/api-versions-v3.d.ts +16 -2
- package/dist/apis/metadata/api-versions-v3.js +43 -4
- package/dist/apis/metadata/api-versions-v4.d.ts +16 -2
- package/dist/apis/metadata/api-versions-v4.js +35 -3
- package/dist/apis/metadata/find-coordinator-v0.d.ts +18 -0
- package/dist/apis/metadata/find-coordinator-v0.js +24 -0
- package/dist/apis/metadata/find-coordinator-v1.d.ts +18 -0
- package/dist/apis/metadata/find-coordinator-v1.js +41 -0
- package/dist/apis/metadata/find-coordinator-v2.d.ts +18 -0
- package/dist/apis/metadata/find-coordinator-v2.js +41 -0
- package/dist/apis/metadata/find-coordinator-v3.d.ts +18 -0
- package/dist/apis/metadata/find-coordinator-v3.js +44 -0
- package/dist/apis/metadata/find-coordinator-v4.js +3 -1
- package/dist/apis/metadata/find-coordinator-v5.js +3 -1
- package/dist/apis/metadata/find-coordinator-v6.js +3 -1
- package/dist/apis/metadata/index.d.ts +16 -0
- package/dist/apis/metadata/index.js +16 -0
- package/dist/apis/metadata/metadata-v0.d.ts +38 -0
- package/dist/apis/metadata/metadata-v0.js +47 -0
- package/dist/apis/metadata/metadata-v1.d.ts +38 -0
- package/dist/apis/metadata/metadata-v1.js +52 -0
- package/dist/apis/metadata/metadata-v10.d.ts +4 -2
- package/dist/apis/metadata/metadata-v10.js +29 -16
- package/dist/apis/metadata/metadata-v11.d.ts +3 -2
- package/dist/apis/metadata/metadata-v11.js +23 -15
- package/dist/apis/metadata/metadata-v12.d.ts +9 -2
- package/dist/apis/metadata/metadata-v12.js +21 -9
- package/dist/apis/metadata/metadata-v2.d.ts +38 -0
- package/dist/apis/metadata/metadata-v2.js +52 -0
- package/dist/apis/metadata/metadata-v3.d.ts +38 -0
- package/dist/apis/metadata/metadata-v3.js +52 -0
- package/dist/apis/metadata/metadata-v4.d.ts +38 -0
- package/dist/apis/metadata/metadata-v4.js +54 -0
- package/dist/apis/metadata/metadata-v5.d.ts +38 -0
- package/dist/apis/metadata/metadata-v5.js +85 -0
- package/dist/apis/metadata/metadata-v6.d.ts +38 -0
- package/dist/apis/metadata/metadata-v6.js +85 -0
- package/dist/apis/metadata/metadata-v7.d.ts +38 -0
- package/dist/apis/metadata/metadata-v7.js +86 -0
- package/dist/apis/metadata/metadata-v8.d.ts +39 -0
- package/dist/apis/metadata/metadata-v8.js +94 -0
- package/dist/apis/metadata/metadata-v9.d.ts +5 -3
- package/dist/apis/metadata/metadata-v9.js +28 -21
- package/dist/apis/producer/add-offsets-to-txn-v0.d.ts +10 -0
- package/dist/apis/producer/add-offsets-to-txn-v0.js +30 -0
- package/dist/apis/producer/add-offsets-to-txn-v3.js +1 -0
- package/dist/apis/producer/add-offsets-to-txn-v4.js +1 -0
- package/dist/apis/producer/add-partitions-to-txn-v0.d.ts +34 -0
- package/dist/apis/producer/add-partitions-to-txn-v0.js +62 -0
- package/dist/apis/producer/add-partitions-to-txn-v1.d.ts +5 -0
- package/dist/apis/producer/add-partitions-to-txn-v1.js +9 -0
- package/dist/apis/producer/add-partitions-to-txn-v2.d.ts +5 -0
- package/dist/apis/producer/add-partitions-to-txn-v2.js +9 -0
- package/dist/apis/producer/add-partitions-to-txn-v3.js +13 -8
- package/dist/apis/producer/add-partitions-to-txn-v4.js +11 -5
- package/dist/apis/producer/add-partitions-to-txn-v5.js +11 -5
- package/dist/apis/producer/end-txn-v0.d.ts +10 -0
- package/dist/apis/producer/end-txn-v0.js +30 -0
- package/dist/apis/producer/end-txn-v1.d.ts +5 -0
- package/dist/apis/producer/end-txn-v1.js +9 -0
- package/dist/apis/producer/end-txn-v2.d.ts +5 -0
- package/dist/apis/producer/end-txn-v2.js +9 -0
- package/dist/apis/producer/end-txn-v3.js +1 -0
- package/dist/apis/producer/end-txn-v4.js +1 -0
- package/dist/apis/producer/index.d.ts +17 -0
- package/dist/apis/producer/index.js +17 -0
- package/dist/apis/producer/init-producer-id-v0.d.ts +13 -0
- package/dist/apis/producer/init-producer-id-v0.js +31 -0
- package/dist/apis/producer/init-producer-id-v1.d.ts +5 -0
- package/dist/apis/producer/init-producer-id-v1.js +9 -0
- package/dist/apis/producer/init-producer-id-v2.d.ts +13 -0
- package/dist/apis/producer/init-producer-id-v2.js +24 -0
- package/dist/apis/producer/init-producer-id-v3.d.ts +2 -2
- package/dist/apis/producer/init-producer-id-v3.js +9 -1
- package/dist/apis/producer/init-producer-id-v4.d.ts +2 -2
- package/dist/apis/producer/init-producer-id-v4.js +9 -1
- package/dist/apis/producer/init-producer-id-v5.d.ts +2 -2
- package/dist/apis/producer/init-producer-id-v5.js +9 -1
- package/dist/apis/producer/produce-v10.d.ts +12 -0
- package/dist/apis/producer/produce-v10.js +42 -5
- package/dist/apis/producer/produce-v11.d.ts +12 -0
- package/dist/apis/producer/produce-v11.js +42 -5
- package/dist/apis/producer/produce-v3.d.ts +29 -0
- package/dist/apis/producer/produce-v3.js +88 -0
- package/dist/apis/producer/produce-v4.d.ts +29 -0
- package/dist/apis/producer/produce-v4.js +88 -0
- package/dist/apis/producer/produce-v5.d.ts +29 -0
- package/dist/apis/producer/produce-v5.js +88 -0
- package/dist/apis/producer/produce-v6.d.ts +29 -0
- package/dist/apis/producer/produce-v6.js +88 -0
- package/dist/apis/producer/produce-v7.js +1 -1
- package/dist/apis/producer/produce-v9.js +7 -3
- package/dist/apis/producer/txn-offset-commit-v0.d.ts +29 -0
- package/dist/apis/producer/txn-offset-commit-v0.js +60 -0
- package/dist/apis/producer/txn-offset-commit-v1.d.ts +29 -0
- package/dist/apis/producer/txn-offset-commit-v1.js +60 -0
- package/dist/apis/producer/txn-offset-commit-v2.d.ts +29 -0
- package/dist/apis/producer/txn-offset-commit-v2.js +62 -0
- package/dist/apis/producer/txn-offset-commit-v3.js +7 -3
- package/dist/apis/producer/txn-offset-commit-v4.js +7 -3
- package/dist/apis/security/index.d.ts +3 -0
- package/dist/apis/security/index.js +3 -0
- package/dist/apis/security/sasl-authenticate-v0.d.ts +15 -0
- package/dist/apis/security/sasl-authenticate-v0.js +30 -0
- package/dist/apis/security/sasl-authenticate-v1.d.ts +15 -0
- package/dist/apis/security/sasl-authenticate-v1.js +30 -0
- package/dist/apis/security/sasl-authenticate-v2.js +1 -0
- package/dist/apis/security/sasl-handshake-v0.d.ts +10 -0
- package/dist/apis/security/sasl-handshake-v0.js +28 -0
- package/dist/apis/tagged-fields.d.ts +7 -0
- package/dist/apis/tagged-fields.js +27 -0
- package/dist/apis/telemetry/compression-types.d.ts +8 -0
- package/dist/apis/telemetry/compression-types.js +7 -0
- package/dist/apis/telemetry/get-telemetry-subscriptions-v0.d.ts +2 -1
- package/dist/apis/telemetry/get-telemetry-subscriptions-v0.js +1 -0
- package/dist/apis/telemetry/index.d.ts +3 -0
- package/dist/apis/telemetry/index.js +3 -0
- package/dist/apis/telemetry/list-client-metrics-resources-v0.d.ts +6 -4
- package/dist/apis/telemetry/list-client-metrics-resources-v0.js +13 -8
- package/dist/apis/telemetry/list-config-resources-v1.d.ts +16 -0
- package/dist/apis/telemetry/list-config-resources-v1.js +38 -0
- package/dist/apis/telemetry/push-telemetry-v0.d.ts +3 -2
- package/dist/apis/telemetry/push-telemetry-v0.js +1 -0
- package/dist/clients/admin/admin.js +428 -378
- package/dist/clients/admin/options.d.ts +62 -6
- package/dist/clients/admin/options.js +41 -10
- package/dist/clients/admin/types.d.ts +8 -2
- package/dist/clients/base/base.d.ts +3 -3
- package/dist/clients/base/base.js +77 -20
- package/dist/clients/consumer/consumer.d.ts +2 -1
- package/dist/clients/consumer/consumer.js +386 -77
- package/dist/clients/consumer/messages-stream.js +228 -43
- package/dist/clients/consumer/options.d.ts +38 -0
- package/dist/clients/consumer/options.js +3 -0
- package/dist/clients/consumer/types.d.ts +40 -2
- package/dist/clients/consumer/types.js +5 -0
- package/dist/clients/consumer/utils.d.ts +1 -0
- package/dist/clients/consumer/utils.js +6 -0
- package/dist/clients/producer/producer.js +112 -54
- package/dist/clients/serde.d.ts +1 -1
- package/dist/errors.d.ts +4 -0
- package/dist/errors.js +22 -0
- package/dist/network/connection-pool.js +12 -2
- package/dist/network/connection.js +100 -22
- package/dist/network/utils.js +26 -8
- package/dist/protocol/definitions.js +1 -1
- package/dist/protocol/reader.js +11 -6
- package/dist/protocol/records.d.ts +4 -0
- package/dist/protocol/writer.js +17 -4
- package/dist/registries/abstract.d.ts +2 -2
- package/dist/registries/abstract.js +27 -8
- package/dist/registries/confluent-schema-registry.d.ts +57 -4
- package/dist/registries/confluent-schema-registry.js +253 -41
- package/dist/symbols.d.ts +1 -0
- package/dist/symbols.js +1 -0
- package/dist/typescript-4/dist/apis/admin/alter-client-quotas-v0.d.ts +40 -0
- package/dist/typescript-4/dist/apis/admin/alter-client-quotas-v1.d.ts +6 -5
- package/dist/typescript-4/dist/apis/admin/alter-configs-v0.d.ts +7 -0
- package/dist/typescript-4/dist/apis/admin/alter-configs-v1.d.ts +2 -0
- package/dist/typescript-4/dist/apis/admin/alter-partition-reassignments-v0.d.ts +3 -2
- package/dist/typescript-4/dist/apis/admin/alter-partition-reassignments-v1.d.ts +6 -4
- package/dist/typescript-4/dist/apis/admin/alter-partition-v0.d.ts +40 -0
- package/dist/typescript-4/dist/apis/admin/alter-partition-v1.d.ts +37 -0
- package/dist/typescript-4/dist/apis/admin/alter-partition-v2.d.ts +36 -0
- package/dist/typescript-4/dist/apis/admin/alter-partition-v3.d.ts +6 -35
- package/dist/typescript-4/dist/apis/admin/alter-replica-log-dirs-v0.d.ts +23 -0
- package/dist/typescript-4/dist/apis/admin/alter-replica-log-dirs-v1.d.ts +4 -0
- package/dist/typescript-4/dist/apis/admin/alter-replica-log-dirs-v2.d.ts +1 -1
- package/dist/typescript-4/dist/apis/admin/client-quotas.d.ts +2 -0
- package/dist/typescript-4/dist/apis/admin/consumer-group-describe-v0.d.ts +2 -1
- package/dist/typescript-4/dist/apis/admin/create-acls-v0.d.ts +16 -0
- package/dist/typescript-4/dist/apis/admin/create-acls-v1.d.ts +15 -0
- package/dist/typescript-4/dist/apis/admin/create-delegation-token-v0.d.ts +24 -0
- package/dist/typescript-4/dist/apis/admin/create-delegation-token-v1.d.ts +4 -0
- package/dist/typescript-4/dist/apis/admin/create-delegation-token-v2.d.ts +9 -0
- package/dist/typescript-4/dist/apis/admin/create-partitions-v0.d.ts +2 -0
- package/dist/typescript-4/dist/apis/admin/create-partitions-v1.d.ts +2 -2
- package/dist/typescript-4/dist/apis/admin/create-partitions-v2.d.ts +2 -2
- package/dist/typescript-4/dist/apis/admin/create-topics-v0.d.ts +42 -0
- package/dist/typescript-4/dist/apis/admin/create-topics-v1.d.ts +42 -0
- package/dist/typescript-4/dist/apis/admin/create-topics-v2.d.ts +42 -0
- package/dist/typescript-4/dist/apis/admin/create-topics-v3.d.ts +42 -0
- package/dist/typescript-4/dist/apis/admin/create-topics-v4.d.ts +42 -0
- package/dist/typescript-4/dist/apis/admin/create-topics-v5.d.ts +42 -0
- package/dist/typescript-4/dist/apis/admin/create-topics-v6.d.ts +42 -0
- package/dist/typescript-4/dist/apis/admin/create-topics-v7.d.ts +2 -1
- package/dist/typescript-4/dist/apis/admin/delete-acls-v0.d.ts +28 -0
- package/dist/typescript-4/dist/apis/admin/delete-acls-v1.d.ts +27 -0
- package/dist/typescript-4/dist/apis/admin/delete-groups-v0.d.ts +14 -0
- package/dist/typescript-4/dist/apis/admin/delete-groups-v1.d.ts +14 -0
- package/dist/typescript-4/dist/apis/admin/delete-records-v0.d.ts +27 -0
- package/dist/typescript-4/dist/apis/admin/delete-records-v1.d.ts +27 -0
- package/dist/typescript-4/dist/apis/admin/delete-topics-v0.d.ts +19 -0
- package/dist/typescript-4/dist/apis/admin/delete-topics-v1.d.ts +19 -0
- package/dist/typescript-4/dist/apis/admin/delete-topics-v2.d.ts +19 -0
- package/dist/typescript-4/dist/apis/admin/delete-topics-v3.d.ts +19 -0
- package/dist/typescript-4/dist/apis/admin/delete-topics-v4.d.ts +19 -0
- package/dist/typescript-4/dist/apis/admin/delete-topics-v5.d.ts +19 -0
- package/dist/typescript-4/dist/apis/admin/delete-topics-v6.d.ts +1 -1
- package/dist/typescript-4/dist/apis/admin/describe-acls-v0.d.ts +21 -0
- package/dist/typescript-4/dist/apis/admin/describe-acls-v1.d.ts +21 -0
- package/dist/typescript-4/dist/apis/admin/describe-client-quotas-v0.d.ts +8 -7
- package/dist/typescript-4/dist/apis/admin/describe-client-quotas-v1.d.ts +9 -0
- package/dist/typescript-4/dist/apis/admin/describe-cluster-v0.d.ts +4 -3
- package/dist/typescript-4/dist/apis/admin/describe-cluster-v1.d.ts +4 -3
- package/dist/typescript-4/dist/apis/admin/describe-configs-v0.d.ts +41 -0
- package/dist/typescript-4/dist/apis/admin/describe-configs-v1.d.ts +39 -0
- package/dist/typescript-4/dist/apis/admin/describe-configs-v2.d.ts +9 -8
- package/dist/typescript-4/dist/apis/admin/describe-configs-v3.d.ts +9 -8
- package/dist/typescript-4/dist/apis/admin/describe-configs-v4.d.ts +2 -2
- package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v0.d.ts +31 -0
- package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v1.d.ts +4 -0
- package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v2.d.ts +8 -0
- package/dist/typescript-4/dist/apis/admin/describe-delegation-token-v3.d.ts +4 -27
- package/dist/typescript-4/dist/apis/admin/describe-groups-v0.d.ts +28 -0
- package/dist/typescript-4/dist/apis/admin/describe-groups-v1.d.ts +28 -0
- package/dist/typescript-4/dist/apis/admin/describe-groups-v2.d.ts +28 -0
- package/dist/typescript-4/dist/apis/admin/describe-groups-v3.d.ts +28 -0
- package/dist/typescript-4/dist/apis/admin/describe-groups-v4.d.ts +28 -0
- package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v0.d.ts +30 -0
- package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v1.d.ts +4 -0
- package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v2.d.ts +3 -2
- package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v3.d.ts +3 -2
- package/dist/typescript-4/dist/apis/admin/describe-log-dirs-v4.d.ts +3 -2
- package/dist/typescript-4/dist/apis/admin/describe-quorum-v0.d.ts +13 -0
- package/dist/typescript-4/dist/apis/admin/describe-quorum-v1.d.ts +13 -0
- package/dist/typescript-4/dist/apis/admin/describe-topic-partitions-v0.d.ts +3 -3
- package/dist/typescript-4/dist/apis/admin/describe-user-scram-credentials-v0.d.ts +4 -3
- package/dist/typescript-4/dist/apis/admin/expire-delegation-token-v0.d.ts +11 -0
- package/dist/typescript-4/dist/apis/admin/expire-delegation-token-v1.d.ts +4 -0
- package/dist/typescript-4/dist/apis/admin/incremental-alter-configs-v0.d.ts +26 -0
- package/dist/typescript-4/dist/apis/admin/index.d.ts +60 -0
- package/dist/typescript-4/dist/apis/admin/list-groups-v0.d.ts +18 -0
- package/dist/typescript-4/dist/apis/admin/list-groups-v1.d.ts +18 -0
- package/dist/typescript-4/dist/apis/admin/list-groups-v2.d.ts +18 -0
- package/dist/typescript-4/dist/apis/admin/list-groups-v3.d.ts +18 -0
- package/dist/typescript-4/dist/apis/admin/list-groups-v4.d.ts +4 -3
- package/dist/typescript-4/dist/apis/admin/list-groups-v5.d.ts +3 -3
- package/dist/typescript-4/dist/apis/admin/list-partition-reassignments-v0.d.ts +3 -3
- package/dist/typescript-4/dist/apis/admin/list-transactions-v0.d.ts +5 -3
- package/dist/typescript-4/dist/apis/admin/list-transactions-v1.d.ts +5 -3
- package/dist/typescript-4/dist/apis/admin/list-transactions-v2.d.ts +5 -4
- package/dist/typescript-4/dist/apis/admin/renew-delegation-token-v0.d.ts +11 -0
- package/dist/typescript-4/dist/apis/admin/renew-delegation-token-v1.d.ts +4 -0
- package/dist/typescript-4/dist/apis/admin/update-features-v0.d.ts +24 -0
- package/dist/typescript-4/dist/apis/admin/update-features-v1.d.ts +2 -1
- package/dist/typescript-4/dist/apis/callbacks.d.ts +1 -3
- package/dist/typescript-4/dist/apis/consumer/consumer-group-heartbeat-v0.d.ts +2 -2
- package/dist/typescript-4/dist/apis/consumer/consumer-group-heartbeat-v1.d.ts +2 -2
- package/dist/typescript-4/dist/apis/consumer/fetch-v10.d.ts +51 -0
- package/dist/typescript-4/dist/apis/consumer/fetch-v11.d.ts +51 -0
- package/dist/typescript-4/dist/apis/consumer/fetch-v12.d.ts +20 -4
- package/dist/typescript-4/dist/apis/consumer/fetch-v13.d.ts +20 -4
- package/dist/typescript-4/dist/apis/consumer/fetch-v14.d.ts +20 -4
- package/dist/typescript-4/dist/apis/consumer/fetch-v15.d.ts +20 -4
- package/dist/typescript-4/dist/apis/consumer/fetch-v16.d.ts +27 -4
- package/dist/typescript-4/dist/apis/consumer/fetch-v17.d.ts +28 -4
- package/dist/typescript-4/dist/apis/consumer/fetch-v4.d.ts +51 -0
- package/dist/typescript-4/dist/apis/consumer/fetch-v5.d.ts +51 -0
- package/dist/typescript-4/dist/apis/consumer/fetch-v6.d.ts +51 -0
- package/dist/typescript-4/dist/apis/consumer/fetch-v7.d.ts +51 -0
- package/dist/typescript-4/dist/apis/consumer/fetch-v8.d.ts +51 -0
- package/dist/typescript-4/dist/apis/consumer/fetch-v9.d.ts +51 -0
- package/dist/typescript-4/dist/apis/consumer/heartbeat-v0.d.ts +11 -0
- package/dist/typescript-4/dist/apis/consumer/heartbeat-v1.d.ts +11 -0
- package/dist/typescript-4/dist/apis/consumer/heartbeat-v2.d.ts +11 -0
- package/dist/typescript-4/dist/apis/consumer/heartbeat-v3.d.ts +11 -0
- package/dist/typescript-4/dist/apis/consumer/index.d.ts +51 -0
- package/dist/typescript-4/dist/apis/consumer/join-group-v0.d.ts +27 -0
- package/dist/typescript-4/dist/apis/consumer/join-group-v1.d.ts +8 -0
- package/dist/typescript-4/dist/apis/consumer/join-group-v2.d.ts +27 -0
- package/dist/typescript-4/dist/apis/consumer/join-group-v3.d.ts +27 -0
- package/dist/typescript-4/dist/apis/consumer/join-group-v4.d.ts +27 -0
- package/dist/typescript-4/dist/apis/consumer/join-group-v5.d.ts +27 -0
- package/dist/typescript-4/dist/apis/consumer/join-group-v6.d.ts +2 -2
- package/dist/typescript-4/dist/apis/consumer/join-group-v7.d.ts +2 -2
- package/dist/typescript-4/dist/apis/consumer/join-group-v8.d.ts +2 -2
- package/dist/typescript-4/dist/apis/consumer/join-group-v9.d.ts +2 -2
- package/dist/typescript-4/dist/apis/consumer/leave-group-v0.d.ts +22 -0
- package/dist/typescript-4/dist/apis/consumer/leave-group-v1.d.ts +22 -0
- package/dist/typescript-4/dist/apis/consumer/leave-group-v2.d.ts +22 -0
- package/dist/typescript-4/dist/apis/consumer/leave-group-v3.d.ts +22 -0
- package/dist/typescript-4/dist/apis/consumer/leave-group-v4.d.ts +1 -1
- package/dist/typescript-4/dist/apis/consumer/leave-group-v5.d.ts +1 -1
- package/dist/typescript-4/dist/apis/consumer/list-offsets-v0.d.ts +30 -0
- package/dist/typescript-4/dist/apis/consumer/list-offsets-v1.d.ts +12 -0
- package/dist/typescript-4/dist/apis/consumer/list-offsets-v2.d.ts +30 -0
- package/dist/typescript-4/dist/apis/consumer/list-offsets-v3.d.ts +30 -0
- package/dist/typescript-4/dist/apis/consumer/list-offsets-v4.d.ts +30 -0
- package/dist/typescript-4/dist/apis/consumer/offset-commit-v0.d.ts +29 -0
- package/dist/typescript-4/dist/apis/consumer/offset-commit-v1.d.ts +7 -0
- package/dist/typescript-4/dist/apis/consumer/offset-commit-v2.d.ts +8 -0
- package/dist/typescript-4/dist/apis/consumer/offset-commit-v3.d.ts +29 -0
- package/dist/typescript-4/dist/apis/consumer/offset-commit-v4.d.ts +29 -0
- package/dist/typescript-4/dist/apis/consumer/offset-commit-v5.d.ts +29 -0
- package/dist/typescript-4/dist/apis/consumer/offset-commit-v6.d.ts +29 -0
- package/dist/typescript-4/dist/apis/consumer/offset-commit-v7.d.ts +29 -0
- package/dist/typescript-4/dist/apis/consumer/offset-commit-v8.d.ts +2 -2
- package/dist/typescript-4/dist/apis/consumer/offset-commit-v9.d.ts +2 -2
- package/dist/typescript-4/dist/apis/consumer/offset-fetch-v0.d.ts +40 -0
- package/dist/typescript-4/dist/apis/consumer/offset-fetch-v1.d.ts +6 -0
- package/dist/typescript-4/dist/apis/consumer/offset-fetch-v2.d.ts +7 -0
- package/dist/typescript-4/dist/apis/consumer/offset-fetch-v3.d.ts +39 -0
- package/dist/typescript-4/dist/apis/consumer/offset-fetch-v4.d.ts +39 -0
- package/dist/typescript-4/dist/apis/consumer/offset-fetch-v5.d.ts +39 -0
- package/dist/typescript-4/dist/apis/consumer/offset-fetch-v6.d.ts +39 -0
- package/dist/typescript-4/dist/apis/consumer/offset-fetch-v7.d.ts +39 -0
- package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v0.d.ts +29 -0
- package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v1.d.ts +29 -0
- package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v2.d.ts +29 -0
- package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v3.d.ts +29 -0
- package/dist/typescript-4/dist/apis/consumer/offset-for-leader-epoch-v4.d.ts +1 -1
- package/dist/typescript-4/dist/apis/consumer/sync-group-v0.d.ts +18 -0
- package/dist/typescript-4/dist/apis/consumer/sync-group-v1.d.ts +18 -0
- package/dist/typescript-4/dist/apis/consumer/sync-group-v2.d.ts +18 -0
- package/dist/typescript-4/dist/apis/consumer/sync-group-v3.d.ts +18 -0
- package/dist/typescript-4/dist/apis/enumerations.d.ts +21 -6
- package/dist/typescript-4/dist/apis/index.d.ts +1 -0
- package/dist/typescript-4/dist/apis/metadata/api-versions-v0.d.ts +17 -0
- package/dist/typescript-4/dist/apis/metadata/api-versions-v1.d.ts +17 -0
- package/dist/typescript-4/dist/apis/metadata/api-versions-v2.d.ts +17 -0
- package/dist/typescript-4/dist/apis/metadata/api-versions-v3.d.ts +16 -2
- package/dist/typescript-4/dist/apis/metadata/api-versions-v4.d.ts +16 -2
- package/dist/typescript-4/dist/apis/metadata/find-coordinator-v0.d.ts +18 -0
- package/dist/typescript-4/dist/apis/metadata/find-coordinator-v1.d.ts +18 -0
- package/dist/typescript-4/dist/apis/metadata/find-coordinator-v2.d.ts +18 -0
- package/dist/typescript-4/dist/apis/metadata/find-coordinator-v3.d.ts +18 -0
- package/dist/typescript-4/dist/apis/metadata/index.d.ts +16 -0
- package/dist/typescript-4/dist/apis/metadata/metadata-v0.d.ts +38 -0
- package/dist/typescript-4/dist/apis/metadata/metadata-v1.d.ts +38 -0
- package/dist/typescript-4/dist/apis/metadata/metadata-v10.d.ts +4 -2
- package/dist/typescript-4/dist/apis/metadata/metadata-v11.d.ts +3 -2
- package/dist/typescript-4/dist/apis/metadata/metadata-v12.d.ts +9 -2
- package/dist/typescript-4/dist/apis/metadata/metadata-v2.d.ts +38 -0
- package/dist/typescript-4/dist/apis/metadata/metadata-v3.d.ts +38 -0
- package/dist/typescript-4/dist/apis/metadata/metadata-v4.d.ts +38 -0
- package/dist/typescript-4/dist/apis/metadata/metadata-v5.d.ts +38 -0
- package/dist/typescript-4/dist/apis/metadata/metadata-v6.d.ts +38 -0
- package/dist/typescript-4/dist/apis/metadata/metadata-v7.d.ts +38 -0
- package/dist/typescript-4/dist/apis/metadata/metadata-v8.d.ts +39 -0
- package/dist/typescript-4/dist/apis/metadata/metadata-v9.d.ts +5 -3
- package/dist/typescript-4/dist/apis/producer/add-offsets-to-txn-v0.d.ts +10 -0
- package/dist/typescript-4/dist/apis/producer/add-partitions-to-txn-v0.d.ts +34 -0
- package/dist/typescript-4/dist/apis/producer/add-partitions-to-txn-v1.d.ts +5 -0
- package/dist/typescript-4/dist/apis/producer/add-partitions-to-txn-v2.d.ts +5 -0
- package/dist/typescript-4/dist/apis/producer/end-txn-v0.d.ts +10 -0
- package/dist/typescript-4/dist/apis/producer/end-txn-v1.d.ts +5 -0
- package/dist/typescript-4/dist/apis/producer/end-txn-v2.d.ts +5 -0
- package/dist/typescript-4/dist/apis/producer/index.d.ts +17 -0
- package/dist/typescript-4/dist/apis/producer/init-producer-id-v0.d.ts +13 -0
- package/dist/typescript-4/dist/apis/producer/init-producer-id-v1.d.ts +5 -0
- package/dist/typescript-4/dist/apis/producer/init-producer-id-v2.d.ts +13 -0
- package/dist/typescript-4/dist/apis/producer/init-producer-id-v3.d.ts +2 -2
- package/dist/typescript-4/dist/apis/producer/init-producer-id-v4.d.ts +2 -2
- package/dist/typescript-4/dist/apis/producer/init-producer-id-v5.d.ts +2 -2
- package/dist/typescript-4/dist/apis/producer/produce-v10.d.ts +12 -0
- package/dist/typescript-4/dist/apis/producer/produce-v11.d.ts +12 -0
- package/dist/typescript-4/dist/apis/producer/produce-v3.d.ts +29 -0
- package/dist/typescript-4/dist/apis/producer/produce-v4.d.ts +29 -0
- package/dist/typescript-4/dist/apis/producer/produce-v5.d.ts +29 -0
- package/dist/typescript-4/dist/apis/producer/produce-v6.d.ts +29 -0
- package/dist/typescript-4/dist/apis/producer/txn-offset-commit-v0.d.ts +29 -0
- package/dist/typescript-4/dist/apis/producer/txn-offset-commit-v1.d.ts +29 -0
- package/dist/typescript-4/dist/apis/producer/txn-offset-commit-v2.d.ts +29 -0
- package/dist/typescript-4/dist/apis/security/index.d.ts +3 -0
- package/dist/typescript-4/dist/apis/security/sasl-authenticate-v0.d.ts +15 -0
- package/dist/typescript-4/dist/apis/security/sasl-authenticate-v1.d.ts +15 -0
- package/dist/typescript-4/dist/apis/security/sasl-handshake-v0.d.ts +10 -0
- package/dist/typescript-4/dist/apis/tagged-fields.d.ts +7 -0
- package/dist/typescript-4/dist/apis/telemetry/compression-types.d.ts +8 -0
- package/dist/typescript-4/dist/apis/telemetry/get-telemetry-subscriptions-v0.d.ts +2 -1
- package/dist/typescript-4/dist/apis/telemetry/index.d.ts +3 -0
- package/dist/typescript-4/dist/apis/telemetry/list-client-metrics-resources-v0.d.ts +6 -4
- package/dist/typescript-4/dist/apis/telemetry/list-config-resources-v1.d.ts +16 -0
- package/dist/typescript-4/dist/apis/telemetry/push-telemetry-v0.d.ts +3 -2
- package/dist/typescript-4/dist/clients/admin/options.d.ts +62 -6
- package/dist/typescript-4/dist/clients/admin/types.d.ts +8 -2
- package/dist/typescript-4/dist/clients/base/base.d.ts +3 -3
- package/dist/typescript-4/dist/clients/consumer/consumer.d.ts +2 -1
- package/dist/typescript-4/dist/clients/consumer/options.d.ts +38 -0
- package/dist/typescript-4/dist/clients/consumer/types.d.ts +40 -2
- package/dist/typescript-4/dist/clients/consumer/utils.d.ts +2 -1
- package/dist/typescript-4/dist/clients/serde.d.ts +1 -1
- package/dist/typescript-4/dist/errors.d.ts +4 -0
- package/dist/typescript-4/dist/protocol/records.d.ts +4 -0
- package/dist/typescript-4/dist/registries/abstract.d.ts +2 -2
- package/dist/typescript-4/dist/registries/confluent-schema-registry.d.ts +57 -4
- package/dist/typescript-4/dist/symbols.d.ts +1 -0
- package/dist/version.js +1 -1
- package/package.json +4 -2
|
@@ -2,7 +2,7 @@ import { randomUUID } from 'crypto';
|
|
|
2
2
|
import { createPromisifiedCallback, kCallbackPromise, runConcurrentCallbacks } from "../../apis/callbacks.js";
|
|
3
3
|
import { FindCoordinatorKeyTypes, ProduceAcks } from "../../apis/enumerations.js";
|
|
4
4
|
import { createDiagnosticContext, producerInitIdempotentChannel, producerSendsChannel, producerTransactionsChannel } from "../../diagnostic.js";
|
|
5
|
-
import {
|
|
5
|
+
import { findErrorBy, NetworkError, UserError } from "../../errors.js";
|
|
6
6
|
import { runAsyncSeries } from "../../registries/abstract.js";
|
|
7
7
|
import { kInstance, kTransaction, kTransactionAddOffsets, kTransactionAddPartitions, kTransactionCancel, kTransactionCommitOffset, kTransactionEnd, kTransactionFindCoordinator, kTransactionPrepare } from "../../symbols.js";
|
|
8
8
|
import { emitExperimentalApiWarning, NumericMap } from "../../utils.js";
|
|
@@ -342,7 +342,7 @@ export class Producer extends Base {
|
|
|
342
342
|
}
|
|
343
343
|
const transactionalId = this.#transaction.id;
|
|
344
344
|
this[kPerformDeduplicated]('findCoordinator', deduplicateCallback => {
|
|
345
|
-
this[kPerformWithRetry]('findCoordinator', retryCallback => {
|
|
345
|
+
this[kPerformWithRetry]('findCoordinator', (retryCallback, attempt) => {
|
|
346
346
|
this[kGetBootstrapConnection]((error, connection) => {
|
|
347
347
|
if (error) {
|
|
348
348
|
retryCallback(error);
|
|
@@ -353,9 +353,14 @@ export class Producer extends Base {
|
|
|
353
353
|
retryCallback(error);
|
|
354
354
|
return;
|
|
355
355
|
}
|
|
356
|
-
api(connection, FindCoordinatorKeyTypes.TRANSACTION, [transactionalId],
|
|
356
|
+
api(connection, FindCoordinatorKeyTypes.TRANSACTION, [transactionalId], (error, response) => {
|
|
357
|
+
if (response && api.version < 4) {
|
|
358
|
+
response.coordinators[0].key = transactionalId;
|
|
359
|
+
}
|
|
360
|
+
retryCallback(error, response);
|
|
361
|
+
});
|
|
357
362
|
});
|
|
358
|
-
});
|
|
363
|
+
}, attempt);
|
|
359
364
|
}, (error, response) => {
|
|
360
365
|
if (error) {
|
|
361
366
|
deduplicateCallback(error);
|
|
@@ -531,11 +536,8 @@ export class Producer extends Base {
|
|
|
531
536
|
#initIdempotentProducer(options, callback) {
|
|
532
537
|
const transactionalId = this.#transaction?.id;
|
|
533
538
|
this[kPerformDeduplicated]('initProducerId', deduplicateCallback => {
|
|
534
|
-
this[kPerformWithRetry]('initProducerId', retryCallback => {
|
|
535
|
-
const
|
|
536
|
-
? this.#getCoordinatorConnection.bind(this)
|
|
537
|
-
: this[kGetBootstrapConnection].bind(this);
|
|
538
|
-
connector((error, connection) => {
|
|
539
|
+
this[kPerformWithRetry]('initProducerId', (retryCallback, attempt) => {
|
|
540
|
+
const onConnection = (error, connection) => {
|
|
539
541
|
if (error) {
|
|
540
542
|
retryCallback(error);
|
|
541
543
|
return;
|
|
@@ -549,7 +551,16 @@ export class Producer extends Base {
|
|
|
549
551
|
retryCallback(this.#handleError(error), response);
|
|
550
552
|
});
|
|
551
553
|
});
|
|
552
|
-
}
|
|
554
|
+
};
|
|
555
|
+
// The transactional path fails over inside #getCoordinatorConnection (via
|
|
556
|
+
// #findCoordinator -> kGetBootstrapConnection). The idempotent path must thread
|
|
557
|
+
// `attempt` so kGetBootstrapConnection rotates past a reachable-but-hung broker.
|
|
558
|
+
if (transactionalId) {
|
|
559
|
+
this.#getCoordinatorConnection(onConnection);
|
|
560
|
+
}
|
|
561
|
+
else {
|
|
562
|
+
this[kGetBootstrapConnection](onConnection, attempt);
|
|
563
|
+
}
|
|
553
564
|
}, (error, response) => {
|
|
554
565
|
if (error) {
|
|
555
566
|
this.#handleFencingError(error);
|
|
@@ -685,9 +696,16 @@ export class Producer extends Base {
|
|
|
685
696
|
}
|
|
686
697
|
// Track nodes so that we can get their ID for delayed write reporting
|
|
687
698
|
const nodes = [];
|
|
699
|
+
const sequenceSnapshot = produceOptions.sequences ? new NumericMap() : undefined;
|
|
700
|
+
if (sequenceSnapshot) {
|
|
701
|
+
for (const [partitionKey, messagesCount] of messagesPerPartition) {
|
|
702
|
+
sequenceSnapshot.set(partitionKey, this.#sequences.postIncrement(partitionKey, messagesCount, 0));
|
|
703
|
+
}
|
|
704
|
+
produceOptions = { ...produceOptions, sequences: sequenceSnapshot };
|
|
705
|
+
}
|
|
688
706
|
runConcurrentCallbacks('Producing messages failed.', messagesByDestination, ([destination, destinationMessages], concurrentCallback) => {
|
|
689
707
|
nodes.push(destination);
|
|
690
|
-
this.#performSingleDestinationSend(topics, destinationMessages, this[kOptions].timeout, sendOptions.acks, sendOptions.autocreateTopics, sendOptions.repeatOnStaleMetadata, produceOptions, concurrentCallback);
|
|
708
|
+
this.#performSingleDestinationSend(topics, destinationMessages, this[kOptions].timeout, sendOptions.acks, sendOptions.autocreateTopics, sendOptions.repeatOnStaleMetadata, produceOptions, true, concurrentCallback);
|
|
691
709
|
}, (error, apiResults) => {
|
|
692
710
|
this.#metricsProducedMessages?.inc(messages.length);
|
|
693
711
|
const results = {};
|
|
@@ -710,14 +728,16 @@ export class Producer extends Base {
|
|
|
710
728
|
partition: partitionResponse.index,
|
|
711
729
|
offset: partitionResponse.baseOffset
|
|
712
730
|
});
|
|
713
|
-
const partitionKey = `${name}:${partitionResponse.index}`;
|
|
714
|
-
this.#sequences.postIncrement(partitionKey, messagesPerPartition.get(partitionKey), 0);
|
|
715
731
|
}
|
|
716
732
|
}
|
|
717
733
|
results.offsets = topics;
|
|
718
734
|
}
|
|
719
735
|
}
|
|
720
736
|
if (error) {
|
|
737
|
+
if (sendOptions.idempotent && !this.#transaction) {
|
|
738
|
+
this.#producerInfo = undefined;
|
|
739
|
+
this.#sequences.clear();
|
|
740
|
+
}
|
|
721
741
|
;
|
|
722
742
|
error.produced = results;
|
|
723
743
|
callback(error);
|
|
@@ -728,53 +748,94 @@ export class Producer extends Base {
|
|
|
728
748
|
});
|
|
729
749
|
});
|
|
730
750
|
}
|
|
731
|
-
#performSingleDestinationSend(topics, messages, timeout, acks, autocreateTopics, repeatOnStaleMetadata, produceOptions, callback) {
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
751
|
+
#performSingleDestinationSend(topics, messages, timeout, acks, autocreateTopics, repeatOnStaleMetadata, produceOptions, recoverOnProducerStateLoss, callback) {
|
|
752
|
+
const { topic, partition } = messages[0];
|
|
753
|
+
let refreshMetadata = false;
|
|
754
|
+
this[kPerformWithRetry]('produce', retryCallback => {
|
|
755
|
+
this[kMetadata]({ topics, autocreateTopics, forceUpdate: refreshMetadata }, (error, metadata) => {
|
|
756
|
+
if (error) {
|
|
757
|
+
refreshMetadata = NetworkError.isRetryable(error);
|
|
758
|
+
retryCallback(error);
|
|
759
|
+
return;
|
|
760
|
+
}
|
|
761
|
+
refreshMetadata = false;
|
|
762
|
+
const leader = metadata.topics.get(topic).partitions[partition].leader;
|
|
741
763
|
this[kGetConnection](metadata.brokers.get(leader), (error, connection) => {
|
|
742
764
|
if (error) {
|
|
765
|
+
refreshMetadata = NetworkError.isRetryable(error);
|
|
743
766
|
retryCallback(error);
|
|
744
767
|
return;
|
|
745
768
|
}
|
|
746
769
|
this[kGetApi]('Produce', (error, api) => {
|
|
747
770
|
if (error) {
|
|
771
|
+
refreshMetadata = NetworkError.isRetryable(error);
|
|
748
772
|
retryCallback(error);
|
|
749
773
|
return;
|
|
750
774
|
}
|
|
751
|
-
api(connection, acks, timeout, messages, produceOptions,
|
|
775
|
+
api(connection, acks, timeout, messages, produceOptions, (error, response) => {
|
|
776
|
+
refreshMetadata = NetworkError.isRetryable(error);
|
|
777
|
+
retryCallback(error, response);
|
|
778
|
+
});
|
|
752
779
|
});
|
|
753
780
|
});
|
|
754
|
-
}
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
this.clearMetadata();
|
|
765
|
-
this.#performSingleDestinationSend(topics, messages, timeout, acks, autocreateTopics, false, produceOptions, callback);
|
|
766
|
-
return;
|
|
767
|
-
}
|
|
768
|
-
callback(error, results);
|
|
781
|
+
});
|
|
782
|
+
}, (error, results) => {
|
|
783
|
+
if (error) {
|
|
784
|
+
// If the last error was due to stale metadata, we retry the operation with this set of messages
|
|
785
|
+
// since the partition is already set, it should attempt on the new destination
|
|
786
|
+
/* c8 ignore next - Hard to test */
|
|
787
|
+
const hasStaleMetadata = findErrorBy(error, 'hasStaleMetadata', true);
|
|
788
|
+
if (hasStaleMetadata && repeatOnStaleMetadata) {
|
|
789
|
+
this.clearMetadata();
|
|
790
|
+
this.#performSingleDestinationSend(topics, messages, timeout, acks, autocreateTopics, false, produceOptions, recoverOnProducerStateLoss, callback);
|
|
769
791
|
return;
|
|
770
792
|
}
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
793
|
+
if (recoverOnProducerStateLoss && !this.#transaction && this.#isProducerStateLost(error)) {
|
|
794
|
+
this.#recoverIdempotentProducer(messages, produceOptions, (error, recoveredProduceOptions) => {
|
|
795
|
+
if (error) {
|
|
796
|
+
callback(error);
|
|
797
|
+
return;
|
|
798
|
+
}
|
|
799
|
+
this.#performSingleDestinationSend(topics, messages, timeout, acks, autocreateTopics, repeatOnStaleMetadata, recoveredProduceOptions, false, callback);
|
|
800
|
+
});
|
|
801
|
+
return;
|
|
776
802
|
}
|
|
777
|
-
|
|
803
|
+
callback(error, results);
|
|
804
|
+
return;
|
|
805
|
+
}
|
|
806
|
+
callback(error, results);
|
|
807
|
+
}, 0, [], error => {
|
|
808
|
+
/* c8 ignore next 3 - Hard to test */
|
|
809
|
+
if (!repeatOnStaleMetadata) {
|
|
810
|
+
return false;
|
|
811
|
+
}
|
|
812
|
+
return !!findErrorBy(error, 'hasStaleMetadata', true);
|
|
813
|
+
});
|
|
814
|
+
}
|
|
815
|
+
#isProducerStateLost(error) {
|
|
816
|
+
return !!(findErrorBy(error, 'apiId', 'UNKNOWN_PRODUCER_ID') || findErrorBy(error, 'apiId', 'OUT_OF_ORDER_SEQUENCE_NUMBER'));
|
|
817
|
+
}
|
|
818
|
+
#recoverIdempotentProducer(messages, produceOptions, callback) {
|
|
819
|
+
this.#producerInfo = undefined;
|
|
820
|
+
this.#sequences.clear();
|
|
821
|
+
this.initIdempotentProducer({}, (error, producerInfo) => {
|
|
822
|
+
if (error) {
|
|
823
|
+
callback(error);
|
|
824
|
+
return;
|
|
825
|
+
}
|
|
826
|
+
const sequences = new NumericMap();
|
|
827
|
+
const messagesPerPartition = new NumericMap();
|
|
828
|
+
for (const { topic, partition } of messages) {
|
|
829
|
+
messagesPerPartition.postIncrement(`${topic}:${partition}`, 1, 0);
|
|
830
|
+
}
|
|
831
|
+
for (const [partitionKey, messagesCount] of messagesPerPartition) {
|
|
832
|
+
sequences.set(partitionKey, this.#sequences.postIncrement(partitionKey, messagesCount, 0));
|
|
833
|
+
}
|
|
834
|
+
callback(null, {
|
|
835
|
+
...produceOptions,
|
|
836
|
+
producerId: producerInfo.producerId,
|
|
837
|
+
producerEpoch: producerInfo.producerEpoch,
|
|
838
|
+
sequences
|
|
778
839
|
});
|
|
779
840
|
});
|
|
780
841
|
}
|
|
@@ -805,20 +866,17 @@ export class Producer extends Base {
|
|
|
805
866
|
});
|
|
806
867
|
}
|
|
807
868
|
#handleFencingError(error) {
|
|
808
|
-
if (error
|
|
869
|
+
if (findErrorBy(error, 'producerFenced', true)) {
|
|
809
870
|
this.#producerInfo = undefined;
|
|
810
871
|
this.#transaction = undefined;
|
|
811
872
|
}
|
|
812
873
|
}
|
|
813
874
|
#handleError(error) {
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
kafkaError.findBy('apiId', 'NOT_COORDINATOR')) {
|
|
820
|
-
this.#coordinatorId = undefined;
|
|
821
|
-
}
|
|
875
|
+
if (findErrorBy(error, 'code', 'PLT_KFK_NETWORK') ||
|
|
876
|
+
findErrorBy(error, 'apiId', 'COORDINATOR_LOAD_IN_PROGRESS') ||
|
|
877
|
+
findErrorBy(error, 'apiId', 'COORDINATOR_NOT_AVAILABLE') ||
|
|
878
|
+
findErrorBy(error, 'apiId', 'NOT_COORDINATOR')) {
|
|
879
|
+
this.#coordinatorId = undefined;
|
|
822
880
|
}
|
|
823
881
|
return error;
|
|
824
882
|
}
|
package/dist/clients/serde.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export interface Deserializers<Key, Value, HeaderKey, HeaderValue> {
|
|
|
17
17
|
headerValue: Deserializer<HeaderValue>;
|
|
18
18
|
}
|
|
19
19
|
export type BeforeHookPayloadType = 'key' | 'value' | 'headerKey' | 'headerValue';
|
|
20
|
-
export type BeforeDeserializationHook = (payload: Buffer, type: BeforeHookPayloadType, message: MessageToConsume, callback: Callback<void>) => void | Promise<void>;
|
|
20
|
+
export type BeforeDeserializationHook = (payload: Buffer | null, type: BeforeHookPayloadType, message: MessageToConsume, callback: Callback<void>) => void | Promise<void>;
|
|
21
21
|
export type BeforeSerializationHook<Key, Value, HeaderKey, HeaderValue> = (payload: unknown, type: BeforeHookPayloadType, message: MessageToProduce<Key, Value, HeaderKey, HeaderValue>, callback: Callback<void>) => void | Promise<void>;
|
|
22
22
|
export declare function stringSerializer(data?: string): Buffer | undefined;
|
|
23
23
|
export declare function stringDeserializer(data?: string | Buffer): string | undefined;
|
package/dist/errors.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export declare class GenericError extends Error {
|
|
|
14
14
|
static isGenericError(error: Error): error is GenericError | MultipleErrors;
|
|
15
15
|
constructor(code: ErrorCode, message: string, { cause, ...rest }?: ErrorProperties);
|
|
16
16
|
findBy<ErrorType extends GenericError = GenericError>(property: string, value: unknown): ErrorType | null;
|
|
17
|
+
toString(): string;
|
|
17
18
|
}
|
|
18
19
|
export declare class MultipleErrors extends AggregateError {
|
|
19
20
|
code: string;
|
|
@@ -25,7 +26,9 @@ export declare class MultipleErrors extends AggregateError {
|
|
|
25
26
|
static isMultipleErrors(error: Error): error is MultipleErrors;
|
|
26
27
|
constructor(message: string, errors: Error[], { cause, ...rest }?: ErrorProperties);
|
|
27
28
|
findBy<ErrorType extends GenericError | MultipleErrors = MultipleErrors>(property: string, value: unknown): ErrorType | null;
|
|
29
|
+
toString(): string;
|
|
28
30
|
}
|
|
31
|
+
export declare function findErrorBy<ErrorType extends GenericError = GenericError>(error: Error | null | undefined, property: string, value: unknown): ErrorType | null;
|
|
29
32
|
export * from './protocol/errors.ts';
|
|
30
33
|
export declare class AuthenticationError extends GenericError {
|
|
31
34
|
static code: ErrorCode;
|
|
@@ -33,6 +36,7 @@ export declare class AuthenticationError extends GenericError {
|
|
|
33
36
|
}
|
|
34
37
|
export declare class NetworkError extends GenericError {
|
|
35
38
|
static code: ErrorCode;
|
|
39
|
+
static isRetryable(error: Error | null | undefined): boolean;
|
|
36
40
|
constructor(message: string, properties?: ErrorProperties);
|
|
37
41
|
}
|
|
38
42
|
export declare class ProtocolError extends GenericError {
|
package/dist/errors.js
CHANGED
|
@@ -45,6 +45,9 @@ export class GenericError extends Error {
|
|
|
45
45
|
}
|
|
46
46
|
return null;
|
|
47
47
|
}
|
|
48
|
+
toString() {
|
|
49
|
+
return `Error ${this.code}: ${this.message}`;
|
|
50
|
+
}
|
|
48
51
|
}
|
|
49
52
|
export class MultipleErrors extends AggregateError {
|
|
50
53
|
code;
|
|
@@ -91,6 +94,21 @@ export class MultipleErrors extends AggregateError {
|
|
|
91
94
|
}
|
|
92
95
|
return null;
|
|
93
96
|
}
|
|
97
|
+
toString() {
|
|
98
|
+
return `Error ${this.code}: ${this.message} (caused by: ${this.errors.map(error => error.toString()).join(', ')})`;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// findBy only exists on the library's own error classes, but errors also come from user code, Node
|
|
102
|
+
// internals and third parties. This brand checks first, so classification is total: an error that
|
|
103
|
+
// cannot be classified reports no match instead of throwing. Use it for any error whose origin is
|
|
104
|
+
// not statically known.
|
|
105
|
+
export function findErrorBy(error, property, value) {
|
|
106
|
+
if (!error || !GenericError.isGenericError(error)) {
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
// GenericError and MultipleErrors declare findBy with different generic defaults, so the union is
|
|
110
|
+
// not callable. The brand check above guarantees the call is safe either way.
|
|
111
|
+
return error.findBy(property, value);
|
|
94
112
|
}
|
|
95
113
|
export * from "./protocol/errors.js";
|
|
96
114
|
export class AuthenticationError extends GenericError {
|
|
@@ -101,6 +119,10 @@ export class AuthenticationError extends GenericError {
|
|
|
101
119
|
}
|
|
102
120
|
export class NetworkError extends GenericError {
|
|
103
121
|
static code = 'PLT_KFK_NETWORK';
|
|
122
|
+
static isRetryable(error) {
|
|
123
|
+
const networkError = findErrorBy(error, 'code', NetworkError.code);
|
|
124
|
+
return networkError?.canRetry === true;
|
|
125
|
+
}
|
|
104
126
|
constructor(message, properties = {}) {
|
|
105
127
|
super(NetworkError.code, message, { canRetry: true, ...properties });
|
|
106
128
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createPromisifiedCallback, kCallbackPromise, runConcurrentCallbacks } from "../apis/callbacks.js";
|
|
2
2
|
import { connectionsPoolGetsChannel, createDiagnosticContext, notifyCreation } from "../diagnostic.js";
|
|
3
|
-
import { MultipleErrors } from "../errors.js";
|
|
3
|
+
import { MultipleErrors, NetworkError } from "../errors.js";
|
|
4
4
|
import { TypedEventEmitter } from "../events.js";
|
|
5
5
|
import { Connection, ConnectionStatuses } from "./connection.js";
|
|
6
6
|
let currentInstance = 0;
|
|
@@ -92,7 +92,17 @@ export class ConnectionPool extends TypedEventEmitter {
|
|
|
92
92
|
}
|
|
93
93
|
#get(broker, callback) {
|
|
94
94
|
if (this.#closed) {
|
|
95
|
-
|
|
95
|
+
// A closed pool never reopens, so this must not be retried. It also has to be a library error:
|
|
96
|
+
// clients classify errors via findBy, which only exists on GenericError subclasses.
|
|
97
|
+
callback(new NetworkError('Connection pool is closed.', { canRetry: false, closed: true, broker }));
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (broker == null || broker.host == null || broker.port == null) {
|
|
101
|
+
callback(new NetworkError('Cannot get a connection: the broker is not available in the current cluster metadata.', {
|
|
102
|
+
canRetry: true,
|
|
103
|
+
hasStaleMetadata: true,
|
|
104
|
+
broker
|
|
105
|
+
}));
|
|
96
106
|
return;
|
|
97
107
|
}
|
|
98
108
|
const key = `${broker.host}:${broker.port}`;
|
|
@@ -4,7 +4,8 @@ import { createConnection } from 'node:net';
|
|
|
4
4
|
import { connect as createTLSConnection } from 'node:tls';
|
|
5
5
|
import { createPromisifiedCallback, kCallbackPromise } from "../apis/callbacks.js";
|
|
6
6
|
import { allowedSASLMechanisms, SASLMechanisms } from "../apis/enumerations.js";
|
|
7
|
-
import {
|
|
7
|
+
import { clientSoftwareName, clientSoftwareVersion } from "../clients/base/options.js";
|
|
8
|
+
import { apiVersionsV1, saslAuthenticateV0, saslAuthenticateV1, saslAuthenticateV2, saslHandshakeV1 } from "../apis/index.js";
|
|
8
9
|
import { connectionsApiChannel, connectionsConnectsChannel, createDiagnosticContext, notifyCreation } from "../diagnostic.js";
|
|
9
10
|
import { AuthenticationError, NetworkError, TimeoutError, UnexpectedCorrelationIdError, UserError } from "../errors.js";
|
|
10
11
|
import { TypedEventEmitter } from "../events.js";
|
|
@@ -50,7 +51,10 @@ export class Connection extends TypedEventEmitter {
|
|
|
50
51
|
#responseReader;
|
|
51
52
|
#socket;
|
|
52
53
|
#socketMustBeDrained;
|
|
54
|
+
#detectMissingTLS;
|
|
53
55
|
#reauthenticationTimeout;
|
|
56
|
+
// Negotiated once per connection: reauthentication runs the same path again.
|
|
57
|
+
#saslAuthenticateApi;
|
|
54
58
|
constructor(clientId, options = {}) {
|
|
55
59
|
super();
|
|
56
60
|
this.setMaxListeners(0);
|
|
@@ -75,6 +79,7 @@ export class Connection extends TypedEventEmitter {
|
|
|
75
79
|
this.#responseBuffer = new DynamicBuffer();
|
|
76
80
|
this.#responseReader = new Reader(this.#responseBuffer);
|
|
77
81
|
this.#socketMustBeDrained = false;
|
|
82
|
+
this.#detectMissingTLS = !this.#options.tls;
|
|
78
83
|
notifyCreation('connection', this);
|
|
79
84
|
}
|
|
80
85
|
/* c8 ignore next 3 - Simple getter */
|
|
@@ -120,6 +125,7 @@ export class Connection extends TypedEventEmitter {
|
|
|
120
125
|
return callback[kCallbackPromise];
|
|
121
126
|
}
|
|
122
127
|
this.#status = ConnectionStatuses.CONNECTING;
|
|
128
|
+
this.#detectMissingTLS = !this.#options.tls;
|
|
123
129
|
const connectionOptions = {
|
|
124
130
|
timeout: this.#options.connectTimeout
|
|
125
131
|
};
|
|
@@ -129,7 +135,7 @@ export class Connection extends TypedEventEmitter {
|
|
|
129
135
|
}
|
|
130
136
|
/* c8 ignore next 13 - Hard to test */
|
|
131
137
|
const connectingSocketTimeoutHandler = () => {
|
|
132
|
-
const error = new TimeoutError(`Connection to ${host}:${port} timed out
|
|
138
|
+
const error = new TimeoutError(`Connection to ${host}:${port} timed out.`, { canRetry: true });
|
|
133
139
|
diagnosticContext.error = error;
|
|
134
140
|
this.#socket.destroy();
|
|
135
141
|
this.#status = ConnectionStatuses.ERROR;
|
|
@@ -219,7 +225,7 @@ export class Connection extends TypedEventEmitter {
|
|
|
219
225
|
this.#socket?.destroy();
|
|
220
226
|
callback(new TimeoutError(this.#host
|
|
221
227
|
? `Connection to ${this.#host}:${this.#port} timed out.`
|
|
222
|
-
: `Connection ready timed out after ${this.#options.connectTimeout}ms
|
|
228
|
+
: `Connection ready timed out after ${this.#options.connectTimeout}ms.`, { canRetry: true }));
|
|
223
229
|
}, this.#options.connectTimeout);
|
|
224
230
|
this.once('connect', onConnect);
|
|
225
231
|
this.once('error', onError);
|
|
@@ -258,7 +264,9 @@ export class Connection extends TypedEventEmitter {
|
|
|
258
264
|
return callback[kCallbackPromise];
|
|
259
265
|
}
|
|
260
266
|
send(apiKey, apiVersion, createPayload, responseParser, hasRequestHeaderTaggedFields, hasResponseHeaderTaggedFields, callback) {
|
|
261
|
-
|
|
267
|
+
// Correlation ID is a 32-bit integer in the protocol, so we need to wrap around after 2^31 - 1
|
|
268
|
+
const correlationId = (this.#correlationId + 1) & 0x7fffffff;
|
|
269
|
+
this.#correlationId = correlationId;
|
|
262
270
|
const diagnostic = createDiagnosticContext({
|
|
263
271
|
connection: this,
|
|
264
272
|
operation: 'send',
|
|
@@ -335,28 +343,71 @@ export class Connection extends TypedEventEmitter {
|
|
|
335
343
|
this.#onConnectionError(host, port, diagnosticContext, new UserError(`SASL mechanism ${mechanism} not supported.`));
|
|
336
344
|
return;
|
|
337
345
|
}
|
|
338
|
-
|
|
346
|
+
this.#negotiateSaslAuthenticate(saslAuthenticate => {
|
|
347
|
+
saslHandshakeV1.api(this, mechanism, (error, response) => {
|
|
348
|
+
if (error) {
|
|
349
|
+
this.#onConnectionError(host, port, diagnosticContext, new AuthenticationError('Cannot find a suitable SASL mechanism.', { cause: error }));
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
352
|
+
this.emit('sasl:handshake', response.mechanisms);
|
|
353
|
+
const callback = this.#onSaslAuthenticate.bind(this, host, port, diagnosticContext);
|
|
354
|
+
if (authenticate) {
|
|
355
|
+
authenticate(mechanism, this, saslAuthenticate, username, password, token, callback);
|
|
356
|
+
}
|
|
357
|
+
else if (mechanism === SASLMechanisms.PLAIN) {
|
|
358
|
+
saslPlain.authenticate(saslAuthenticate, this, username, password, callback);
|
|
359
|
+
}
|
|
360
|
+
else if (mechanism === SASLMechanisms.OAUTHBEARER) {
|
|
361
|
+
saslOAuthBearer.authenticate(saslAuthenticate, this, token, oauthBearerExtensions, callback);
|
|
362
|
+
}
|
|
363
|
+
else if (mechanism === SASLMechanisms.GSSAPI) {
|
|
364
|
+
callback(new UserError('No custom SASL/GSSAPI authenticator provided.'));
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
saslScramSha.authenticate(saslAuthenticate, this, mechanism.substring(6), username, password, defaultCrypto, callback);
|
|
368
|
+
}
|
|
369
|
+
});
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Chooses the SaslAuthenticate version to authenticate with.
|
|
374
|
+
*
|
|
375
|
+
* The version cannot be assumed: v1 arrived in Apache Kafka 2.0 and v2 in 2.4, so pinning the
|
|
376
|
+
* newest makes authentication fail outright on older brokers, which answer an unparseable request
|
|
377
|
+
* with InvalidRequestException and drop the connection.
|
|
378
|
+
*
|
|
379
|
+
* Brokers accept ApiVersions before authentication precisely so that clients can ask, and it has
|
|
380
|
+
* to happen before SaslHandshake: once the handshake is sent the connection only accepts
|
|
381
|
+
* SaslAuthenticate. The result is cached because reauthentication runs this path again.
|
|
382
|
+
*
|
|
383
|
+
* SaslHandshake itself stays at v1. v0 signals the pre-1.0 flow, where the SASL tokens are written
|
|
384
|
+
* raw on the wire rather than wrapped in SaslAuthenticate requests, which this package does not
|
|
385
|
+
* implement.
|
|
386
|
+
*/
|
|
387
|
+
#negotiateSaslAuthenticate(callback) {
|
|
388
|
+
if (this.#saslAuthenticateApi) {
|
|
389
|
+
callback(this.#saslAuthenticateApi);
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
const candidates = [
|
|
393
|
+
[2, saslAuthenticateV2.api],
|
|
394
|
+
[1, saslAuthenticateV1.api],
|
|
395
|
+
[0, saslAuthenticateV0.api]
|
|
396
|
+
];
|
|
397
|
+
apiVersionsV1.api(this, clientSoftwareName, clientSoftwareVersion, (error, response) => {
|
|
398
|
+
let selected;
|
|
399
|
+
/* c8 ignore next 3 - Only reachable against a broker which refuses ApiVersions before authentication */
|
|
339
400
|
if (error) {
|
|
340
|
-
|
|
341
|
-
return;
|
|
342
|
-
}
|
|
343
|
-
this.emit('sasl:handshake', response.mechanisms);
|
|
344
|
-
const callback = this.#onSaslAuthenticate.bind(this, host, port, diagnosticContext);
|
|
345
|
-
if (authenticate) {
|
|
346
|
-
authenticate(mechanism, this, saslAuthenticateV2.api, username, password, token, callback);
|
|
347
|
-
}
|
|
348
|
-
else if (mechanism === SASLMechanisms.PLAIN) {
|
|
349
|
-
saslPlain.authenticate(saslAuthenticateV2.api, this, username, password, callback);
|
|
350
|
-
}
|
|
351
|
-
else if (mechanism === SASLMechanisms.OAUTHBEARER) {
|
|
352
|
-
saslOAuthBearer.authenticate(saslAuthenticateV2.api, this, token, oauthBearerExtensions, callback);
|
|
353
|
-
}
|
|
354
|
-
else if (mechanism === SASLMechanisms.GSSAPI) {
|
|
355
|
-
callback(new UserError('No custom SASL/GSSAPI authenticator provided.'));
|
|
401
|
+
selected = undefined;
|
|
356
402
|
}
|
|
357
403
|
else {
|
|
358
|
-
|
|
404
|
+
const advertised = response.apiKeys.find(api => api.apiKey === saslAuthenticateV2.api.key);
|
|
405
|
+
selected = candidates.find(([version]) => advertised && version >= advertised.minVersion && version <= advertised.maxVersion)?.[1];
|
|
359
406
|
}
|
|
407
|
+
// Falling back to the newest version keeps the previous behaviour for brokers which do not
|
|
408
|
+
// answer the probe, rather than failing a connection which would otherwise have worked.
|
|
409
|
+
this.#saslAuthenticateApi = selected ?? saslAuthenticateV2.api;
|
|
410
|
+
callback(this.#saslAuthenticateApi);
|
|
360
411
|
});
|
|
361
412
|
}
|
|
362
413
|
/*
|
|
@@ -465,6 +516,27 @@ export class Connection extends TypedEventEmitter {
|
|
|
465
516
|
correlation_id => INT32
|
|
466
517
|
*/
|
|
467
518
|
#onData(chunk) {
|
|
519
|
+
if (this.#detectMissingTLS) {
|
|
520
|
+
this.#detectMissingTLS = false;
|
|
521
|
+
if (this.#isTLSRecord(chunk)) {
|
|
522
|
+
const error = new UserError('Broker requires TLS.');
|
|
523
|
+
this.#status = ConnectionStatuses.ERROR;
|
|
524
|
+
for (const request of this.#afterDrainRequests) {
|
|
525
|
+
if (!request.noResponse) {
|
|
526
|
+
clearTimeout(request.timeoutHandle);
|
|
527
|
+
request.callback(error, undefined);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
this.#afterDrainRequests = [];
|
|
531
|
+
for (const request of this.#inflightRequests.values()) {
|
|
532
|
+
clearTimeout(request.timeoutHandle);
|
|
533
|
+
request.callback(error, undefined);
|
|
534
|
+
}
|
|
535
|
+
this.#inflightRequests.clear();
|
|
536
|
+
this.#socket.destroy();
|
|
537
|
+
return;
|
|
538
|
+
}
|
|
539
|
+
}
|
|
468
540
|
this.#responseBuffer.append(chunk);
|
|
469
541
|
// There is at least one message size to add
|
|
470
542
|
// Note that here the initial position is always 0
|
|
@@ -545,6 +617,12 @@ export class Connection extends TypedEventEmitter {
|
|
|
545
617
|
this.#socketMustBeDrained = false;
|
|
546
618
|
this.emit('drain');
|
|
547
619
|
}
|
|
620
|
+
#isTLSRecord(chunk) {
|
|
621
|
+
return (chunk.length >= 3 &&
|
|
622
|
+
(chunk[0] === 0x14 || chunk[0] === 0x15 || chunk[0] === 0x16 || chunk[0] === 0x17) &&
|
|
623
|
+
chunk[1] === 0x03 &&
|
|
624
|
+
chunk[2] <= 0x04);
|
|
625
|
+
}
|
|
548
626
|
#onClose() {
|
|
549
627
|
this.#status = ConnectionStatuses.CLOSED;
|
|
550
628
|
this.emit('close');
|
package/dist/network/utils.js
CHANGED
|
@@ -1,12 +1,30 @@
|
|
|
1
|
+
const BRACKETED_BROKER_RE = /^\[([^\]]+)](?::(\d*))?$/;
|
|
1
2
|
export function parseBroker(broker, defaultPort = 9092) {
|
|
2
|
-
if (typeof broker
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
return
|
|
6
|
-
}
|
|
7
|
-
else {
|
|
8
|
-
return { host: broker, port: defaultPort };
|
|
3
|
+
if (typeof broker !== 'string') {
|
|
4
|
+
const host = stripBrackets(broker.host);
|
|
5
|
+
if (host === broker.host) {
|
|
6
|
+
return broker;
|
|
9
7
|
}
|
|
8
|
+
return { ...broker, host };
|
|
9
|
+
}
|
|
10
|
+
const bracketed = BRACKETED_BROKER_RE.exec(broker);
|
|
11
|
+
if (bracketed) {
|
|
12
|
+
return { host: bracketed[1], port: parsePort(bracketed[2], defaultPort) };
|
|
13
|
+
}
|
|
14
|
+
const separator = broker.lastIndexOf(':');
|
|
15
|
+
// Bare IPv6 addresses contain multiple colons and no port. The host:port form
|
|
16
|
+
// is unambiguous only with a single colon, or with brackets around the host.
|
|
17
|
+
if (separator === -1 || broker.indexOf(':') !== separator) {
|
|
18
|
+
return { host: broker, port: defaultPort };
|
|
19
|
+
}
|
|
20
|
+
return { host: broker.slice(0, separator), port: parsePort(broker.slice(separator + 1), defaultPort) };
|
|
21
|
+
}
|
|
22
|
+
function parsePort(port, defaultPort) {
|
|
23
|
+
return port === undefined || port.length === 0 ? defaultPort : Number(port);
|
|
24
|
+
}
|
|
25
|
+
function stripBrackets(host) {
|
|
26
|
+
if (host.startsWith('[') && host.endsWith(']')) {
|
|
27
|
+
return host.slice(1, -1);
|
|
10
28
|
}
|
|
11
|
-
return
|
|
29
|
+
return host;
|
|
12
30
|
}
|
|
@@ -7,5 +7,5 @@ export const EMPTY_BUFFER = Buffer.alloc(0);
|
|
|
7
7
|
export const EMPTY_UUID = Buffer.alloc(UUID_SIZE);
|
|
8
8
|
// Since it is serialized at either 0 (for nullable) or 1 (since length is stored as length + 1), it always uses a single byte
|
|
9
9
|
export const EMPTY_OR_SINGLE_COMPACT_LENGTH_SIZE = INT8_SIZE;
|
|
10
|
-
//
|
|
10
|
+
// Flexible-version messages use this zero-length tagged-field section.
|
|
11
11
|
export const EMPTY_TAGGED_FIELDS_BUFFER = Buffer.from([0]);
|
package/dist/protocol/reader.js
CHANGED
|
@@ -187,9 +187,13 @@ export class Reader {
|
|
|
187
187
|
return this.readNullableString(compact, encoding) || '';
|
|
188
188
|
}
|
|
189
189
|
readUUID() {
|
|
190
|
-
const
|
|
190
|
+
const hex = this.peekUUID();
|
|
191
191
|
this.position += UUID_SIZE;
|
|
192
|
-
|
|
192
|
+
// Hyphenated by slicing rather than by a capture group regex. This runs once per topic per
|
|
193
|
+
// Fetch response from v13 up, and the regex form measured about fourteen times the cost, which
|
|
194
|
+
// made the newest Fetch versions measurably slower to decode than the ones identifying topics
|
|
195
|
+
// by name.
|
|
196
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
193
197
|
}
|
|
194
198
|
readNullableBytes(compact = true) {
|
|
195
199
|
let length;
|
|
@@ -300,11 +304,12 @@ export class Reader {
|
|
|
300
304
|
}
|
|
301
305
|
return reader();
|
|
302
306
|
}
|
|
303
|
-
//
|
|
307
|
+
// Skip unknown tagged fields because codecs do not expose them to callers.
|
|
304
308
|
readTaggedFields() {
|
|
305
|
-
const length = this.
|
|
306
|
-
|
|
307
|
-
this.
|
|
309
|
+
const length = this.readUnsignedVarInt();
|
|
310
|
+
for (let i = 0; i < length; i++) {
|
|
311
|
+
this.readUnsignedVarInt();
|
|
312
|
+
this.skip(this.readUnsignedVarInt());
|
|
308
313
|
}
|
|
309
314
|
}
|
|
310
315
|
}
|