chrislu
205d2285f3
setup follower by publisher
...
* the subscriber would getOrGen a local partition and wait
* the publisher would getOrGen a local partition. If localPartition follower is not setup, and init message has follower info, it would create followers based on init.Messages.
2024-03-24 12:57:09 -07:00
chrislu
da31e9b939
correctly wait for the publisher to finish
2024-03-21 09:08:53 -07:00
chrislu
7003ce7425
publisher is able to fully send data and receive acks
...
still needs to close the pipes cleanly
2024-03-20 12:25:40 -07:00
chrislu
33ab6cfcf7
adjust error
2024-03-07 10:44:09 -08:00
chrislu
ead27a4f59
publish init add followers
2024-02-29 09:39:12 -08:00
chrislu
1b4484bf0a
go fmt
2024-02-29 09:38:52 -08:00
Chris Lu
16b4f9d9ab
subscriber find broker leader first
2024-02-05 23:14:25 -08:00
Chris Lu
90fcde0e26
report EOF error
2024-02-05 17:47:34 -08:00
Chris Lu
07028a4864
minor
2024-02-05 17:30:20 -08:00
Chris Lu
4dc6681833
proxy requests to lock owner
2024-02-05 16:46:40 -08:00
chrislu
0b2e5ddc7c
wait 3 seconds before shutting down publish client, to wait for all messages to be received
2024-01-28 22:04:42 -08:00
chrislu
545d5fbdf6
unused code
2024-01-28 22:03:13 -08:00
chrislu
a297247137
wait for each publish clients
2024-01-28 14:27:32 -08:00
chrislu
b6c5e57c30
read will block if no items
2024-01-28 13:10:34 -08:00
chrislu
0bf5424a2e
adjust visibility
2024-01-28 13:09:30 -08:00
chrislu
dedfd31dfb
refactor
2024-01-28 12:30:08 -08:00
chrislu
cbf750a31f
refactor
2024-01-28 12:23:20 -08:00
chrislu
b51dfe2bff
wait for publishing clients
2024-01-28 12:06:58 -08:00
chrislu
f8c55f101e
clean up
2024-01-28 12:06:30 -08:00
chrislu
841fafd0a8
publish to input buffer
...
currently, the input buffer may not exist when start to publish
2024-01-27 23:43:22 -08:00
chrislu
91af1f3069
schedule jobs
2024-01-26 14:09:57 -08:00
chrislu
34a78ffad0
remove isForPublish from LookupTopicBrokers
...
also adds a return parameter: whether the topic exists or not
2024-01-16 08:52:42 -08:00
chrislu
7e6497cc1c
adjust publisher subscriber
2024-01-15 20:42:46 -08:00
chrislu
026c54a9bb
fix publisher
2024-01-15 00:20:21 -08:00
chrislu
3aa3991f0f
adjust client side logs
2024-01-11 23:08:53 -08:00
chrislu
6a7a679137
passing partition generation timestamp
2024-01-10 22:36:17 -08:00
chrislu
49428a303b
add batch index for each memory buffer
2024-01-08 00:03:08 -08:00
chrislu
d0d24f1e40
rename functions
2024-01-05 17:10:43 -08:00
chrislu
aa5b6a8187
adjust logs
2024-01-05 15:35:32 -08:00
chrislu
496fc8fbbf
refactor
2024-01-05 15:35:19 -08:00
chrislu
531f854af2
rename functions
2024-01-05 15:16:53 -08:00
chrislu
f8787a9761
rename functions
2024-01-05 15:16:41 -08:00
chrislu
ddd0fde094
rename functions
2024-01-05 15:16:01 -08:00
chrislu
ee41dbb7fc
rename functions
2024-01-05 15:14:25 -08:00
chrislu
47a4963d7a
subscription start from specified timestamp
2024-01-03 15:57:36 -08:00
chrislu
35869b5c80
subscriber can be notified of the assignment change when topic is just configured
...
Next: Subscriber needs to read by the timestamp offset.
2024-01-03 13:30:30 -08:00
chrislu
8b4cd50aac
log errors
2024-01-01 19:09:17 -08:00
chrislu
32bc8d6a38
adjust wait time
2023-12-31 17:42:44 -08:00
chrislu
458ddbf919
clean up dead code
2023-12-31 13:25:33 -08:00
chrislu
2845230329
passing broker into the assignments
2023-12-28 21:13:49 -08:00
chrislu
093fdc1621
subscriber can get assignments
2023-12-28 20:35:15 -08:00
chrislu
c950a40aad
subscriber keep connected to the balancer
2023-12-28 11:56:37 -08:00
Chris Lu
580940bf82
Merge accumulated changes related to message queue ( #5098 )
...
* balance partitions on brokers
* prepare topic partition first and then publish, move partition
* purge unused APIs
* clean up
* adjust logs
* add BalanceTopics() grpc API
* configure topic
* configure topic command
* refactor
* repair missing partitions
* sequence of operations to ensure ordering
* proto to close publishers and consumers
* rename file
* topic partition versioned by unixTimeNs
* create local topic partition
* close publishers
* randomize the client name
* wait until no publishers
* logs
* close stop publisher channel
* send last ack
* comments
* comment
* comments
* support list of brokers
* add cli options
* Update .gitignore
* logs
* return io.eof directly
* refactor
* optionally create topic
* refactoring
* detect consumer disconnection
* sub client wait for more messages
* subscribe by time stamp
* rename
* rename to sub_balancer
* rename
* adjust comments
* rename
* fix compilation
* rename
* rename
* SubscriberToSubCoordinator
* sticky rebalance
* go fmt
* add tests
* balance partitions on brokers
* prepare topic partition first and then publish, move partition
* purge unused APIs
* clean up
* adjust logs
* add BalanceTopics() grpc API
* configure topic
* configure topic command
* refactor
* repair missing partitions
* sequence of operations to ensure ordering
* proto to close publishers and consumers
* rename file
* topic partition versioned by unixTimeNs
* create local topic partition
* close publishers
* randomize the client name
* wait until no publishers
* logs
* close stop publisher channel
* send last ack
* comments
* comment
* comments
* support list of brokers
* add cli options
* Update .gitignore
* logs
* return io.eof directly
* refactor
* optionally create topic
* refactoring
* detect consumer disconnection
* sub client wait for more messages
* subscribe by time stamp
* rename
* rename to sub_balancer
* rename
* adjust comments
* rename
* fix compilation
* rename
* rename
* SubscriberToSubCoordinator
* sticky rebalance
* go fmt
* add tests
* tracking topic=>broker
* merge
* comment
2023-12-11 12:05:54 -08:00
chrislu
bf13f3ced7
add subscriber coordinator
2023-10-02 01:02:27 -07:00
chrislu
2a578b9033
refactor
2023-10-01 11:59:19 -07:00
chrislu
ebd6f96d35
adjust mq.proto
2023-09-30 21:47:57 -07:00
chrislu
411bdda08d
fix compilation
2023-09-19 16:22:41 -07:00
chrislu
39941edc0b
add publisher shutdown
2023-09-07 23:55:19 -07:00
chrislu
984b6c54cf
ack interval 128
2023-09-06 23:15:29 -07:00
chrislu
ba67e6ca29
api for sub
2023-09-04 21:43:50 -07:00