kafka-ts 0.0.1-beta
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/.prettierrc +7 -0
- package/LICENSE +24 -0
- package/README.md +88 -0
- package/certs/ca.crt +29 -0
- package/certs/ca.key +52 -0
- package/certs/ca.srl +1 -0
- package/certs/kafka.crt +29 -0
- package/certs/kafka.csr +26 -0
- package/certs/kafka.key +52 -0
- package/certs/kafka.keystore.jks +0 -0
- package/certs/kafka.truststore.jks +0 -0
- package/dist/api/api-versions.d.ts +9 -0
- package/dist/api/api-versions.js +24 -0
- package/dist/api/create-topics.d.ts +38 -0
- package/dist/api/create-topics.js +53 -0
- package/dist/api/delete-topics.d.ts +18 -0
- package/dist/api/delete-topics.js +33 -0
- package/dist/api/fetch.d.ts +77 -0
- package/dist/api/fetch.js +106 -0
- package/dist/api/find-coordinator.d.ts +21 -0
- package/dist/api/find-coordinator.js +39 -0
- package/dist/api/heartbeat.d.ts +11 -0
- package/dist/api/heartbeat.js +27 -0
- package/dist/api/index.d.ts +573 -0
- package/dist/api/index.js +164 -0
- package/dist/api/init-producer-id.d.ts +13 -0
- package/dist/api/init-producer-id.js +29 -0
- package/dist/api/join-group.d.ts +34 -0
- package/dist/api/join-group.js +51 -0
- package/dist/api/leave-group.d.ts +19 -0
- package/dist/api/leave-group.js +39 -0
- package/dist/api/list-offsets.d.ts +29 -0
- package/dist/api/list-offsets.js +48 -0
- package/dist/api/metadata.d.ts +40 -0
- package/dist/api/metadata.js +58 -0
- package/dist/api/offset-commit.d.ts +28 -0
- package/dist/api/offset-commit.js +48 -0
- package/dist/api/offset-fetch.d.ts +33 -0
- package/dist/api/offset-fetch.js +57 -0
- package/dist/api/produce.d.ts +53 -0
- package/dist/api/produce.js +129 -0
- package/dist/api/sasl-authenticate.d.ts +11 -0
- package/dist/api/sasl-authenticate.js +23 -0
- package/dist/api/sasl-handshake.d.ts +6 -0
- package/dist/api/sasl-handshake.js +19 -0
- package/dist/api/sync-group.d.ts +24 -0
- package/dist/api/sync-group.js +36 -0
- package/dist/broker.d.ts +29 -0
- package/dist/broker.js +60 -0
- package/dist/client.d.ts +23 -0
- package/dist/client.js +36 -0
- package/dist/cluster.d.ts +24 -0
- package/dist/cluster.js +72 -0
- package/dist/connection.d.ts +25 -0
- package/dist/connection.js +155 -0
- package/dist/consumer/consumer-group.d.ts +36 -0
- package/dist/consumer/consumer-group.js +182 -0
- package/dist/consumer/consumer-metadata.d.ts +7 -0
- package/dist/consumer/consumer-metadata.js +14 -0
- package/dist/consumer/consumer.d.ts +37 -0
- package/dist/consumer/consumer.js +178 -0
- package/dist/consumer/metadata.d.ts +24 -0
- package/dist/consumer/metadata.js +64 -0
- package/dist/consumer/offset-manager.d.ts +22 -0
- package/dist/consumer/offset-manager.js +56 -0
- package/dist/distributors/assignments-to-replicas.d.ts +17 -0
- package/dist/distributors/assignments-to-replicas.js +60 -0
- package/dist/distributors/assignments-to-replicas.test.d.ts +1 -0
- package/dist/distributors/assignments-to-replicas.test.js +40 -0
- package/dist/distributors/messages-to-topic-partition-leaders.d.ts +17 -0
- package/dist/distributors/messages-to-topic-partition-leaders.js +15 -0
- package/dist/distributors/messages-to-topic-partition-leaders.test.d.ts +1 -0
- package/dist/distributors/messages-to-topic-partition-leaders.test.js +30 -0
- package/dist/examples/src/replicator.js +34 -0
- package/dist/examples/src/utils/json.js +5 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +19 -0
- package/dist/metadata.d.ts +24 -0
- package/dist/metadata.js +89 -0
- package/dist/producer/producer.d.ts +19 -0
- package/dist/producer/producer.js +111 -0
- package/dist/request-handler.d.ts +16 -0
- package/dist/request-handler.js +67 -0
- package/dist/request-handler.test.d.ts +1 -0
- package/dist/request-handler.test.js +340 -0
- package/dist/src/api/api-versions.js +18 -0
- package/dist/src/api/create-topics.js +46 -0
- package/dist/src/api/delete-topics.js +26 -0
- package/dist/src/api/fetch.js +95 -0
- package/dist/src/api/find-coordinator.js +34 -0
- package/dist/src/api/heartbeat.js +22 -0
- package/dist/src/api/index.js +38 -0
- package/dist/src/api/init-producer-id.js +24 -0
- package/dist/src/api/join-group.js +48 -0
- package/dist/src/api/leave-group.js +30 -0
- package/dist/src/api/list-offsets.js +39 -0
- package/dist/src/api/metadata.js +47 -0
- package/dist/src/api/offset-commit.js +39 -0
- package/dist/src/api/offset-fetch.js +44 -0
- package/dist/src/api/produce.js +119 -0
- package/dist/src/api/sync-group.js +31 -0
- package/dist/src/broker.js +35 -0
- package/dist/src/connection.js +21 -0
- package/dist/src/consumer/consumer-group.js +131 -0
- package/dist/src/consumer/consumer.js +103 -0
- package/dist/src/consumer/metadata.js +52 -0
- package/dist/src/consumer/offset-manager.js +23 -0
- package/dist/src/index.js +19 -0
- package/dist/src/producer/producer.js +84 -0
- package/dist/src/request-handler.js +57 -0
- package/dist/src/request-handler.test.js +321 -0
- package/dist/src/types.js +2 -0
- package/dist/src/utils/api.js +5 -0
- package/dist/src/utils/decoder.js +161 -0
- package/dist/src/utils/encoder.js +137 -0
- package/dist/src/utils/error.js +10 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.js +2 -0
- package/dist/utils/api.d.ts +9 -0
- package/dist/utils/api.js +5 -0
- package/dist/utils/debug.d.ts +2 -0
- package/dist/utils/debug.js +11 -0
- package/dist/utils/decoder.d.ts +29 -0
- package/dist/utils/decoder.js +147 -0
- package/dist/utils/delay.d.ts +1 -0
- package/dist/utils/delay.js +5 -0
- package/dist/utils/encoder.d.ts +28 -0
- package/dist/utils/encoder.js +122 -0
- package/dist/utils/error.d.ts +11 -0
- package/dist/utils/error.js +27 -0
- package/dist/utils/memo.d.ts +1 -0
- package/dist/utils/memo.js +16 -0
- package/dist/utils/retrier.d.ts +10 -0
- package/dist/utils/retrier.js +22 -0
- package/dist/utils/tracer.d.ts +1 -0
- package/dist/utils/tracer.js +26 -0
- package/docker-compose.yml +104 -0
- package/examples/node_modules/.package-lock.json +22 -0
- package/examples/package-lock.json +30 -0
- package/examples/package.json +14 -0
- package/examples/src/client.ts +9 -0
- package/examples/src/consumer.ts +17 -0
- package/examples/src/create-topic.ts +37 -0
- package/examples/src/producer.ts +24 -0
- package/examples/src/replicator.ts +25 -0
- package/examples/src/utils/json.ts +1 -0
- package/examples/tsconfig.json +7 -0
- package/log4j.properties +95 -0
- package/package.json +17 -0
- package/scripts/generate-certs.sh +24 -0
- package/src/__snapshots__/request-handler.test.ts.snap +1687 -0
- package/src/api/api-versions.ts +21 -0
- package/src/api/create-topics.ts +78 -0
- package/src/api/delete-topics.ts +42 -0
- package/src/api/fetch.ts +143 -0
- package/src/api/find-coordinator.ts +39 -0
- package/src/api/heartbeat.ts +33 -0
- package/src/api/index.ts +164 -0
- package/src/api/init-producer-id.ts +35 -0
- package/src/api/join-group.ts +67 -0
- package/src/api/leave-group.ts +48 -0
- package/src/api/list-offsets.ts +65 -0
- package/src/api/metadata.ts +66 -0
- package/src/api/offset-commit.ts +67 -0
- package/src/api/offset-fetch.ts +74 -0
- package/src/api/produce.ts +173 -0
- package/src/api/sasl-authenticate.ts +21 -0
- package/src/api/sasl-handshake.ts +16 -0
- package/src/api/sync-group.ts +54 -0
- package/src/broker.ts +74 -0
- package/src/client.ts +47 -0
- package/src/cluster.ts +87 -0
- package/src/connection.ts +141 -0
- package/src/consumer/consumer-group.ts +209 -0
- package/src/consumer/consumer-metadata.ts +14 -0
- package/src/consumer/consumer.ts +229 -0
- package/src/consumer/offset-manager.ts +93 -0
- package/src/distributors/assignments-to-replicas.test.ts +43 -0
- package/src/distributors/assignments-to-replicas.ts +85 -0
- package/src/distributors/messages-to-topic-partition-leaders.test.ts +32 -0
- package/src/distributors/messages-to-topic-partition-leaders.ts +19 -0
- package/src/index.ts +3 -0
- package/src/metadata.ts +122 -0
- package/src/producer/producer.ts +132 -0
- package/src/request-handler.test.ts +366 -0
- package/src/types.ts +9 -0
- package/src/utils/api.ts +11 -0
- package/src/utils/debug.ts +9 -0
- package/src/utils/decoder.ts +168 -0
- package/src/utils/delay.ts +1 -0
- package/src/utils/encoder.ts +141 -0
- package/src/utils/error.ts +21 -0
- package/src/utils/memo.ts +12 -0
- package/src/utils/retrier.ts +39 -0
- package/src/utils/tracer.ts +28 -0
- package/tsconfig.json +17 -0
package/.prettierrc
ADDED
package/LICENSE
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
The MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2018 Túlio Ornelas (ornelas.tulio@gmail.com)
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge,
|
|
6
|
+
to any person obtaining a copy of this software and
|
|
7
|
+
associated documentation files (the "Software"), to
|
|
8
|
+
deal in the Software without restriction, including
|
|
9
|
+
without limitation the rights to use, copy, modify,
|
|
10
|
+
merge, publish, distribute, sublicense, and/or sell
|
|
11
|
+
copies of the Software, and to permit persons to whom
|
|
12
|
+
the Software is furnished to do so,
|
|
13
|
+
subject to the following conditions:
|
|
14
|
+
|
|
15
|
+
The above copyright notice and this permission notice
|
|
16
|
+
shall be included in all copies or substantial portions of the Software.
|
|
17
|
+
|
|
18
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
19
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
20
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
21
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
|
|
22
|
+
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
23
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
24
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# KafkaTS
|
|
2
|
+
|
|
3
|
+
**Please note that this project is still in early development and is not yet ready for production use. The interface before stable release is subject to change.**
|
|
4
|
+
|
|
5
|
+
**KafkaTS** is a Apache Kafka client library for Node.js. It provides both a low-level API for communicating directly with the Apache Kafka cluster and high-level APIs for publishing and subscribing to Kafka topics.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install kafkats
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Quick start
|
|
14
|
+
|
|
15
|
+
### Create kafka client
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
export const kafka = createKafkaClient({
|
|
19
|
+
clientId: "my-app",
|
|
20
|
+
bootstrapServers: [{ host: "localhost", port: 9092 }],
|
|
21
|
+
});
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
#### Consuming messages
|
|
25
|
+
|
|
26
|
+
```typescript
|
|
27
|
+
const consumer = await kafka.startConsumer({
|
|
28
|
+
groupId: 'my-consumer-group'.
|
|
29
|
+
topics: ["my-topic"],
|
|
30
|
+
onMessage: (message) => {
|
|
31
|
+
console.log(message);
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
#### Producing messages
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
export const producer = kafka.createProcucer();
|
|
40
|
+
|
|
41
|
+
await producer.send([{ topic: "example-topic-f", partition: 0, key: null, value: line }]);
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
#### Low-level API
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
const cluster = kafka.createCluster();
|
|
48
|
+
await cluster.connect();
|
|
49
|
+
|
|
50
|
+
const { controllerId } = await cluster.sendRequest(API.METADATA, {
|
|
51
|
+
allowTopicAutoCreation: false,
|
|
52
|
+
includeTopicAuthorizedOperations: false,
|
|
53
|
+
topics: [],
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
await cluster.sendRequestToNode(controllerId)(API.CREATE_TOPICS, {
|
|
57
|
+
validateOnly: false,
|
|
58
|
+
timeoutMs: 10_000,
|
|
59
|
+
topics: [
|
|
60
|
+
{
|
|
61
|
+
name: "my-topic",
|
|
62
|
+
numPartitions: 10,
|
|
63
|
+
replicationFactor: 3,
|
|
64
|
+
assignments: [],
|
|
65
|
+
configs: [],
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
});
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
See the [examples](./examples) for more detailed examples.
|
|
72
|
+
|
|
73
|
+
## Motivation
|
|
74
|
+
|
|
75
|
+
The existing low-level libraries (e.g. node-rdkafka) are bindings on librdkafka, which doesn't give enough control over the consumer logic.
|
|
76
|
+
The existing high-level libraries (e.g. kafkajs) are missing a few crucial features.
|
|
77
|
+
|
|
78
|
+
### New features compared to kafkajs
|
|
79
|
+
|
|
80
|
+
* **Static consumer membership** - Rebalancing during rolling deployments cause delays. Using `groupInstanceId` in addition to `groupId` can avoid rebalancing and continue processing based on the existing assignment.
|
|
81
|
+
* **Consuming messages without consumer groups** - When you don't need for the consumer to track the partition offsets, you can simply create a consumer without groupId and always either start consuming messages from the beginning or from the latest partition offset.
|
|
82
|
+
|
|
83
|
+
## Backlog
|
|
84
|
+
|
|
85
|
+
- [ ] Consumer concurrency control
|
|
86
|
+
- [ ] Partitioner
|
|
87
|
+
- [ ] API versioning
|
|
88
|
+
- [ ] SCRAM support
|
package/certs/ca.crt
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
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
|
|
29
|
+
-----END CERTIFICATE-----
|
package/certs/ca.key
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
|
2
|
+
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
|
|
51
|
+
CMLta4NyYC40J7EPwXKyrXSz8qhq
|
|
52
|
+
-----END PRIVATE KEY-----
|
package/certs/ca.srl
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0FB74CE1593C67E32AD89ADE70018EF63CB9C537
|
package/certs/kafka.crt
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
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
|
|
29
|
+
-----END CERTIFICATE-----
|
package/certs/kafka.csr
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE REQUEST-----
|
|
2
|
+
MIIEVTCCAj0CAQAwEDEOMAwGA1UEAwwFa2Fma2EwggIiMA0GCSqGSIb3DQEBAQUA
|
|
3
|
+
A4ICDwAwggIKAoICAQDPMfQ6rqXKOj51/MTiujAGpXgRzi82JdUKCa3Vl3ReDv2P
|
|
4
|
+
ceFpVl/fi0uJvEDUzipkgB7wTycuRIOC8/AiHy6co/VoCf4/j97sTOHeV4kwV8+o
|
|
5
|
+
//s5UApy3HC34o00ZwcP1yHJkN7Cnn1ZcA/Txulv1RfNqjhWaVzsxcs5rsb8C3+W
|
|
6
|
+
n4NbttBo7YXMf1wDPHYNzRTk2agiE3vHGqMrNAvrGmYmWhf+2a+LghG8EdBatXV0
|
|
7
|
+
GnhHA+QhqWCq84CyzfOecFndq6niZx6V3yj4yHDCjG+TefGV2SMuYgWSxAlV1g7l
|
|
8
|
+
rzV63H910rhzLEjTbfET6n6LhCDZUCZXU1JaOO+B186+7AUN75sVYHwKjHCFgivN
|
|
9
|
+
mpnwGy4FiDfhs2V+3CoFGQEYDgU3PaYDs0BFrDPnGeJtb/4bAaO8dzwaYjbb+rrk
|
|
10
|
+
s7YxzlHYJO51kAxCEZgU7OfL2vh3CdWK7nBFy+rYjQGHM5hSI2pF+xQttRlA7qvY
|
|
11
|
+
cPD+OIGy92D34QLlSnn97zZ9h+2lateKbMOH915lQd1Ac280+ZEEwp2kEB3TFyH3
|
|
12
|
+
e+iQnXwcaqmQGJsD4Kue3hn0sG6LksMMzZstvVxAoWk9Mrp8s1+UG919Zc3p7/8Z
|
|
13
|
+
ovXtN+h1VG7NdKop4ZYretzyY50OY4vyao58GhPMO+O5n7d8I1YFTTfQzR2ZlwID
|
|
14
|
+
AQABoAAwDQYJKoZIhvcNAQELBQADggIBAK4iQDBi/IQ5ef6HgExBXv9UTwX4HZGv
|
|
15
|
+
AJ16p3fNcldLLmz+r11llNNFL+QHn2iJNf3SJ3ULGrD108n2a0t2oLvXx1sNXhVc
|
|
16
|
+
vLHR2hkaQHqyh/jak63d8ngb2v0VT6GJ1zj3oGWGp3H5492Si+Ynu3Wx7lDe61fG
|
|
17
|
+
v02JdixlHYUH6FQZmGWYW1qWNsHcXP6YYTFXkCNJPnCJFRM5nYTrm0DH6bXgT4FG
|
|
18
|
+
jwHc4WbAs8dwsddueoHmV2P7CtiK5qH8r4v75hC5U3nMLStFP4upNzvB7q93JV0b
|
|
19
|
+
CogY+2MSpkf2+VfGGeaKUbHh09Gv05m6f1jQGcurYnvRem5K/OHoqpa2dUWbfIxC
|
|
20
|
+
7iIqEYNL4LALYFPBVnZPKss5/KP35bLt9LLho+YbLNpgy/5GRonvRQ3ZZvD3Le2O
|
|
21
|
+
1fXBOAf97M3r2NqhSLF/IMGay2cuooikgG8MExUzAgXlfOzVlnQ3WqxrOxn54Jep
|
|
22
|
+
pLfxi9k9020ZvnrrD6hCdnrszLbJwhWnhOy4xaJ6ZS132GaOGefmKkd/vy/2jBlz
|
|
23
|
+
McRWy9LQm1F8HMp4uuGVhaJntqPH3CFjHIgHT/Ro8hZIvCAY8LUCjsD2dhI7M3N7
|
|
24
|
+
+MSQchNA7Ty0wGGEX/5OUN4mH0RZh+mGinNe9n3NFKuBgJeWgOlwtL5kvh9rXkGq
|
|
25
|
+
aMwyvRORw3HH
|
|
26
|
+
-----END CERTIFICATE REQUEST-----
|
package/certs/kafka.key
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
|
2
|
+
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
|
|
51
|
+
0EaZY4cBQwWFep18Shu5QuXvsTbHmQ==
|
|
52
|
+
-----END PRIVATE KEY-----
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.API_VERSIONS = void 0;
|
|
4
|
+
const api_js_1 = require("../utils/api.js");
|
|
5
|
+
const error_js_1 = require("../utils/error.js");
|
|
6
|
+
exports.API_VERSIONS = (0, api_js_1.createApi)({
|
|
7
|
+
apiKey: 18,
|
|
8
|
+
apiVersion: 2,
|
|
9
|
+
request: (encoder) => encoder,
|
|
10
|
+
response: (decoder) => {
|
|
11
|
+
const result = {
|
|
12
|
+
errorCode: decoder.readInt16(),
|
|
13
|
+
versions: decoder.readArray((version) => ({
|
|
14
|
+
apiKey: version.readInt16(),
|
|
15
|
+
minVersion: version.readInt16(),
|
|
16
|
+
maxVersion: version.readInt16(),
|
|
17
|
+
})),
|
|
18
|
+
throttleTimeMs: decoder.readInt32(),
|
|
19
|
+
};
|
|
20
|
+
if (result.errorCode)
|
|
21
|
+
throw new error_js_1.KafkaTSApiError(result.errorCode, null, result);
|
|
22
|
+
return result;
|
|
23
|
+
},
|
|
24
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare const CREATE_TOPICS: import("../utils/api").Api<{
|
|
2
|
+
topics: {
|
|
3
|
+
name: string;
|
|
4
|
+
numPartitions: number;
|
|
5
|
+
replicationFactor: number;
|
|
6
|
+
assignments: {
|
|
7
|
+
partitionIndex: number;
|
|
8
|
+
brokerIds: number[];
|
|
9
|
+
}[];
|
|
10
|
+
configs: {
|
|
11
|
+
name: string;
|
|
12
|
+
value: string | null;
|
|
13
|
+
}[];
|
|
14
|
+
}[];
|
|
15
|
+
timeoutMs: number;
|
|
16
|
+
validateOnly: boolean;
|
|
17
|
+
}, {
|
|
18
|
+
_tag: void;
|
|
19
|
+
throttleTimeMs: number;
|
|
20
|
+
topics: {
|
|
21
|
+
name: string | null;
|
|
22
|
+
topicId: string;
|
|
23
|
+
errorCode: number;
|
|
24
|
+
errorMessage: string | null;
|
|
25
|
+
numPartitions: number;
|
|
26
|
+
replicationFactor: number;
|
|
27
|
+
configs: {
|
|
28
|
+
name: string | null;
|
|
29
|
+
value: string | null;
|
|
30
|
+
readOnly: boolean;
|
|
31
|
+
configSource: number;
|
|
32
|
+
isSensitive: boolean;
|
|
33
|
+
_tag: void;
|
|
34
|
+
}[];
|
|
35
|
+
_tag: void;
|
|
36
|
+
}[];
|
|
37
|
+
_tag2: void;
|
|
38
|
+
}>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CREATE_TOPICS = void 0;
|
|
4
|
+
const api_1 = require("../utils/api");
|
|
5
|
+
const error_1 = require("../utils/error");
|
|
6
|
+
exports.CREATE_TOPICS = (0, api_1.createApi)({
|
|
7
|
+
apiKey: 19,
|
|
8
|
+
apiVersion: 7,
|
|
9
|
+
request: (encoder, data) => encoder
|
|
10
|
+
.writeUVarInt(0)
|
|
11
|
+
.writeCompactArray(data.topics, (encoder, topic) => encoder
|
|
12
|
+
.writeCompactString(topic.name)
|
|
13
|
+
.writeInt32(topic.numPartitions)
|
|
14
|
+
.writeInt16(topic.replicationFactor)
|
|
15
|
+
.writeCompactArray(topic.assignments, (encoder, assignment) => encoder
|
|
16
|
+
.writeInt32(assignment.partitionIndex)
|
|
17
|
+
.writeCompactArray(assignment.brokerIds, (encoder, brokerId) => encoder.writeInt32(brokerId))
|
|
18
|
+
.writeUVarInt(0))
|
|
19
|
+
.writeCompactArray(topic.configs, (encoder, config) => encoder.writeCompactString(config.name).writeCompactString(config.value).writeUVarInt(0))
|
|
20
|
+
.writeUVarInt(0))
|
|
21
|
+
.writeInt32(data.timeoutMs)
|
|
22
|
+
.writeBoolean(data.validateOnly)
|
|
23
|
+
.writeUVarInt(0),
|
|
24
|
+
response: (decoder) => {
|
|
25
|
+
const result = {
|
|
26
|
+
_tag: decoder.readTagBuffer(),
|
|
27
|
+
throttleTimeMs: decoder.readInt32(),
|
|
28
|
+
topics: decoder.readCompactArray((topic) => ({
|
|
29
|
+
name: topic.readCompactString(),
|
|
30
|
+
topicId: topic.readUUID(),
|
|
31
|
+
errorCode: topic.readInt16(),
|
|
32
|
+
errorMessage: topic.readCompactString(),
|
|
33
|
+
numPartitions: topic.readInt32(),
|
|
34
|
+
replicationFactor: topic.readInt16(),
|
|
35
|
+
configs: topic.readCompactArray((config) => ({
|
|
36
|
+
name: config.readCompactString(),
|
|
37
|
+
value: config.readCompactString(),
|
|
38
|
+
readOnly: config.readBoolean(),
|
|
39
|
+
configSource: config.readInt8(),
|
|
40
|
+
isSensitive: config.readBoolean(),
|
|
41
|
+
_tag: config.readTagBuffer(),
|
|
42
|
+
})),
|
|
43
|
+
_tag: topic.readTagBuffer(),
|
|
44
|
+
})),
|
|
45
|
+
_tag2: decoder.readTagBuffer(),
|
|
46
|
+
};
|
|
47
|
+
result.topics.forEach((topic) => {
|
|
48
|
+
if (topic.errorCode)
|
|
49
|
+
throw new error_1.KafkaTSApiError(topic.errorCode, topic.errorMessage, result);
|
|
50
|
+
});
|
|
51
|
+
return result;
|
|
52
|
+
},
|
|
53
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const DELETE_TOPICS: import("../utils/api").Api<{
|
|
2
|
+
topics: {
|
|
3
|
+
name: string | null;
|
|
4
|
+
topicId: string | null;
|
|
5
|
+
}[];
|
|
6
|
+
timeoutMs: number;
|
|
7
|
+
}, {
|
|
8
|
+
_tag: void;
|
|
9
|
+
throttleTimeMs: number;
|
|
10
|
+
responses: {
|
|
11
|
+
name: string | null;
|
|
12
|
+
topicId: string;
|
|
13
|
+
errorCode: number;
|
|
14
|
+
errorMessage: string | null;
|
|
15
|
+
_tag: void;
|
|
16
|
+
}[];
|
|
17
|
+
_tag2: void;
|
|
18
|
+
}>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE_TOPICS = void 0;
|
|
4
|
+
const api_1 = require("../utils/api");
|
|
5
|
+
const error_1 = require("../utils/error");
|
|
6
|
+
exports.DELETE_TOPICS = (0, api_1.createApi)({
|
|
7
|
+
apiKey: 20,
|
|
8
|
+
apiVersion: 6,
|
|
9
|
+
request: (encoder, data) => encoder
|
|
10
|
+
.writeUVarInt(0)
|
|
11
|
+
.writeCompactArray(data.topics, (encoder, topic) => encoder.writeCompactString(topic.name).writeUUID(topic.topicId).writeUVarInt(0))
|
|
12
|
+
.writeInt32(data.timeoutMs)
|
|
13
|
+
.writeUVarInt(0),
|
|
14
|
+
response: (decoder) => {
|
|
15
|
+
const result = {
|
|
16
|
+
_tag: decoder.readTagBuffer(),
|
|
17
|
+
throttleTimeMs: decoder.readInt32(),
|
|
18
|
+
responses: decoder.readCompactArray((decoder) => ({
|
|
19
|
+
name: decoder.readCompactString(),
|
|
20
|
+
topicId: decoder.readUUID(),
|
|
21
|
+
errorCode: decoder.readInt16(),
|
|
22
|
+
errorMessage: decoder.readCompactString(),
|
|
23
|
+
_tag: decoder.readTagBuffer(),
|
|
24
|
+
})),
|
|
25
|
+
_tag2: decoder.readTagBuffer(),
|
|
26
|
+
};
|
|
27
|
+
result.responses.forEach((response) => {
|
|
28
|
+
if (response.errorCode)
|
|
29
|
+
throw new error_1.KafkaTSApiError(response.errorCode, response.errorMessage, result);
|
|
30
|
+
});
|
|
31
|
+
return result;
|
|
32
|
+
},
|
|
33
|
+
});
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export declare const enum IsolationLevel {
|
|
2
|
+
READ_UNCOMMITTED = 0,
|
|
3
|
+
READ_COMMITTED = 1
|
|
4
|
+
}
|
|
5
|
+
export declare const FETCH: import("../utils/api").Api<{
|
|
6
|
+
maxWaitMs: number;
|
|
7
|
+
minBytes: number;
|
|
8
|
+
maxBytes: number;
|
|
9
|
+
isolationLevel: IsolationLevel;
|
|
10
|
+
sessionId: number;
|
|
11
|
+
sessionEpoch: number;
|
|
12
|
+
topics: {
|
|
13
|
+
topicId: string;
|
|
14
|
+
partitions: {
|
|
15
|
+
partition: number;
|
|
16
|
+
currentLeaderEpoch: number;
|
|
17
|
+
fetchOffset: bigint;
|
|
18
|
+
lastFetchedEpoch: number;
|
|
19
|
+
logStartOffset: bigint;
|
|
20
|
+
partitionMaxBytes: number;
|
|
21
|
+
}[];
|
|
22
|
+
}[];
|
|
23
|
+
forgottenTopicsData: {
|
|
24
|
+
topicId: string;
|
|
25
|
+
partitions: number[];
|
|
26
|
+
}[];
|
|
27
|
+
rackId: string;
|
|
28
|
+
}, {
|
|
29
|
+
_tag: void;
|
|
30
|
+
throttleTimeMs: number;
|
|
31
|
+
errorCode: number;
|
|
32
|
+
sessionId: number;
|
|
33
|
+
responses: {
|
|
34
|
+
topicId: string;
|
|
35
|
+
partitions: {
|
|
36
|
+
partitionIndex: number;
|
|
37
|
+
errorCode: number;
|
|
38
|
+
highWatermark: bigint;
|
|
39
|
+
lastStableOffset: bigint;
|
|
40
|
+
logStartOffset: bigint;
|
|
41
|
+
abortedTransactions: {
|
|
42
|
+
producerId: bigint;
|
|
43
|
+
firstOffset: bigint;
|
|
44
|
+
_tag: void;
|
|
45
|
+
}[];
|
|
46
|
+
preferredReadReplica: number;
|
|
47
|
+
records: {
|
|
48
|
+
baseOffset: bigint;
|
|
49
|
+
batchLength: number;
|
|
50
|
+
partitionLeaderEpoch: number;
|
|
51
|
+
magic: number;
|
|
52
|
+
crc: number;
|
|
53
|
+
attributes: number;
|
|
54
|
+
lastOffsetDelta: number;
|
|
55
|
+
baseTimestamp: bigint;
|
|
56
|
+
maxTimestamp: bigint;
|
|
57
|
+
producerId: bigint;
|
|
58
|
+
producerEpoch: number;
|
|
59
|
+
baseSequence: number;
|
|
60
|
+
records: {
|
|
61
|
+
attributes: number;
|
|
62
|
+
timestampDelta: bigint;
|
|
63
|
+
offsetDelta: number;
|
|
64
|
+
key: string | null;
|
|
65
|
+
value: string | null;
|
|
66
|
+
headers: {
|
|
67
|
+
key: string | null;
|
|
68
|
+
value: string | null;
|
|
69
|
+
}[];
|
|
70
|
+
}[];
|
|
71
|
+
}[];
|
|
72
|
+
_tag: void;
|
|
73
|
+
}[];
|
|
74
|
+
_tag: void;
|
|
75
|
+
}[];
|
|
76
|
+
_tag2: void;
|
|
77
|
+
}>;
|