@mark1russell7/machines 0.3.31 → 0.3.32
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 +2 -0
- package/build/index.d.ts +39 -0
- package/build/index.js +748 -4
- package/build/index.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -53,6 +53,8 @@ The algebra reads these documents. It gives the closed form of each timer, the f
|
|
|
53
53
|
| `RABBITMQ_CONNECTION` | `rabbitmq-connection` | RabbitMQ 4.3.6: one connection of AMQP 0-9-1 on the broker | server | 14 implemented, 1 documented |
|
|
54
54
|
| `ATEN_DETECTOR` | `aten` | aten 0.6.0: one node that the failure detector of another node of RabbitMQ watches | server | 7 implemented |
|
|
55
55
|
| `RA_MEMBER` | `ra-member` | ra 3.1.10: one member of the Raft cluster of a quorum queue of RabbitMQ 4.3.6 | server | 25 implemented |
|
|
56
|
+
| `KAFKA_PARTITION` | `kafka-partition` | Apache Kafka 4.3.2: one broker that leads one partition, its answers at each acks, its high watermark and the loss of its leadership | server | 24 implemented |
|
|
57
|
+
| `KAFKA_CONSUMER_GROUP` | `kafka-consumer-group` | Apache Kafka 4.3.2: one member of a consumer group under a process stop, its fence, the takeover of its partition and its commit after the stop | server | 14 implemented |
|
|
56
58
|
| `GRPC_JS` | `grpc-js` | grpc-js 1.14.6: one channel to a gRPC server, its HTTP/2 transport, its keepalive and a unary call | driver | 27 implemented, 1 observed |
|
|
57
59
|
| `GRPC_GO_SERVER` | `grpc-go-server` | A server of grpc-go v1.84.0: one HTTP/2 connection, its keepalive, its policy for PINGs and its TCP socket | server | 13 implemented, 1 documented |
|
|
58
60
|
| `ETCD_SERVER` | `etcd-server` | The server of etcd v3.6.15 on grpc-go v1.83.2: one gRPC connection of a client | server | 19 implemented, 1 documented |
|
package/build/index.d.ts
CHANGED
|
@@ -183,6 +183,45 @@ export declare const MANIFESTATIONS: Readonly<Record<string, readonly string[]>>
|
|
|
183
183
|
*/
|
|
184
184
|
export declare const KUBELET_READINESS: Machine;
|
|
185
185
|
//#endregion
|
|
186
|
+
//#region src/kafka/group.d.ts
|
|
187
|
+
/**
|
|
188
|
+
* This document is Apache Kafka 4.3.2, for one member of a consumer group that a process stop holds.
|
|
189
|
+
* It gives when the coordinator removes the member, and when another member gets its partition. It
|
|
190
|
+
* also gives the answer to a commit of the old offsets after the stop.
|
|
191
|
+
*
|
|
192
|
+
* In the consumer protocol the session is a setting of the broker. Each heartbeat starts the session
|
|
193
|
+
* timer again. The last heartbeat came up to one interval before the stop, thus the fence comes one
|
|
194
|
+
* session after the stop, less up to one interval. The other member takes the partition at one of its
|
|
195
|
+
* own heartbeats after the fence.
|
|
196
|
+
*
|
|
197
|
+
* A commit of the member after the fence gets UNKNOWN_MEMBER_ID, and the client throws
|
|
198
|
+
* CommitFailedException. The rejoin changes this. A member that polls after the fence joins again at
|
|
199
|
+
* epoch 0 and gets a new epoch. The commit check at the same epoch asks no question about who owns the
|
|
200
|
+
* partition. Thus the broker accepts a commit of the old offsets at the new epoch. That commit moves
|
|
201
|
+
* the committed offset back while another member owns the partition.
|
|
202
|
+
*/
|
|
203
|
+
export declare const KAFKA_CONSUMER_GROUP: Machine;
|
|
204
|
+
//#endregion
|
|
205
|
+
//#region src/kafka/partition.d.ts
|
|
206
|
+
/**
|
|
207
|
+
* This document is Apache Kafka 4.3.2, for one broker that leads one partition, in KRaft mode. It
|
|
208
|
+
* gives what the broker answers at each `acks`, and how the high watermark moves. It also gives how
|
|
209
|
+
* the broker loses the leadership when a fault cuts it from the other brokers and the controller.
|
|
210
|
+
*
|
|
211
|
+
* With `acks=1` a broker answers after its own append. With `acks=all` the write waits in a purgatory
|
|
212
|
+
* until the high watermark passes it. The high watermark is the smallest log end of the maximal
|
|
213
|
+
* in-sync replicas. A leader that cannot reach the controller cannot shrink that set, thus its high
|
|
214
|
+
* watermark stays.
|
|
215
|
+
*
|
|
216
|
+
* The controller fences a broker when no heartbeat came for `broker.session.timeout.ms`, and it
|
|
217
|
+
* elects another leader. The cut broker is not told, and it has no timer that stops it. It stays a
|
|
218
|
+
* leader in its own view until the metadata of the change reaches it, after the cut lifts. It then
|
|
219
|
+
* becomes a follower, and it ends each write in the purgatory with NOT_LEADER_OR_FOLLOWER. It fetches
|
|
220
|
+
* from the new leader, which answers with the end of its log at its election. The old leader
|
|
221
|
+
* truncates to that offset, not to the high watermark.
|
|
222
|
+
*/
|
|
223
|
+
export declare const KAFKA_PARTITION: Machine;
|
|
224
|
+
//#endregion
|
|
186
225
|
//#region src/mongo/mongod-replication.d.ts
|
|
187
226
|
/**
|
|
188
227
|
* This document is the replication of mongod 9.0.4. It gives one member of a replica set, its view
|