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
Chris Lu
0d74ac9224
fix divide by zero
2024-02-04 13:38:00 -08:00
Chris Lu
f9131de43f
fix lock TTL
2024-02-04 12:47:21 -08:00
Chris Lu
0a12301b3d
avoid too large expiration time
2024-02-04 09:20:21 -08:00
chrislu
d41792461c
lock returns host and owner
2024-02-02 15:54:57 -08:00
chrislu
d30150dde1
use a short-lived lock
2024-02-01 23:01:44 -08:00
chrislu
ac50d8a822
re-lock if the lock owner is not found
2024-01-29 22:46:23 -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
a507069d19
lock for creating local partition
2024-01-28 15:55:26 -08:00
chrislu
9e6ea80dff
read existing topic conf
2024-01-28 14:27:52 -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
d40225ecd2
return the lookup results
2024-01-28 12:05:44 -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
d268fbe18a
when configure, cancel existing assignments
2024-01-22 11:57:17 -08:00
chrislu
3ff6b31d94
sub broker wait for partition
2024-01-22 11:56:55 -08:00
chrislu
2beaa2d0b3
pub/sub brokers check filer for assigned partitions
2024-01-22 11:44:21 -08:00
chrislu
c3f8530f97
refactor
2024-01-22 11:06:53 -08:00
chrislu
5f35857cd0
no need to assign partitions explicitly
2024-01-22 11:04:47 -08:00
chrislu
428fea45f3
updated and added assignments
2024-01-22 11:04:24 -08:00
chrislu
e8b05ecc91
add/remove assigned partitions
2024-01-22 10:47:39 -08:00
chrislu
861ad732ca
refactor
2024-01-22 09:00:22 -08:00
chrislu
47924afa1c
refactor
2024-01-22 08:52:44 -08:00
chrislu
581cf6644c
lookup reads from filer instead of local memory
2024-01-22 00:52:55 -08:00
chrislu
7121ae9617
separate out read topic conf and ensure topic active assignments
2024-01-22 00:51:31 -08:00
chrislu
c77d35313e
pub/sub broker only check local assigned partitions
2024-01-22 00:49:57 -08:00
chrislu
b0a2e9aea3
fix assignments if brokers changed
2024-01-21 01:27:22 -08:00
chrislu
9ce7c482b3
refactor
2024-01-21 01:24:12 -08:00
chrislu
a5b906c0dd
refactor
2024-01-21 01:23:43 -08:00
chrislu
34839237ab
refactor
2024-01-20 12:16:40 -08:00
chrislu
2828ccbb30
refactor
2024-01-20 11:41:11 -08:00
chrislu
541140f735
rename
2024-01-19 11:43:40 -08:00
chrislu
c8090b1f99
send assignments to newly connected subscribers
2024-01-17 22:44:39 -08:00
chrislu
c616081ab9
refactor
2024-01-17 22:29:59 -08:00
chrislu
bc8d2a01cc
create local topic partition from config on filer
2024-01-17 00:15:52 -08:00
chrislu
fdf0ea8e11
passing partition info
2024-01-16 09:30:57 -08:00
chrislu
be0c426dc7
simplify to LookupTopicPartitions(topic)
2024-01-16 09:30:46 -08:00
chrislu
db3670a3a5
simplify api
2024-01-16 08:55:47 -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
3795d8dca8
release local topic partition if no publisher and subscribers
2024-01-16 08:43:07 -08:00
chrislu
f782165638
rename
2024-01-16 08:40:45 -08:00
chrislu
dd1ec70e62
rename
2024-01-16 08:40:23 -08:00
chrislu
ba73199174
reuse local partition
2024-01-15 21:22:41 -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
fa59a5d67e
read from disk if not in memory
2024-01-15 00:20:12 -08:00
chrislu
3aa3991f0f
adjust client side logs
2024-01-11 23:08:53 -08:00
chrislu
7afaad31a4
wait on local topic partition creation
2024-01-11 23:08:02 -08:00
chrislu
61dbdd0ff6
log ctrl messages
2024-01-11 23:07:32 -08:00
chrislu
f750a5e03b
passing timestamp
2024-01-11 23:03:55 -08:00
chrislu
45994641e9
lint
2024-01-11 23:03:35 -08:00
chrislu
6a7a679137
passing partition generation timestamp
2024-01-10 22:36:17 -08:00
chrislu
8af61dec91
avoid empty spaces in file name
2024-01-09 09:00:54 -08:00
chrislu
aed54eda61
refactor
2024-01-09 08:01:01 -08:00
chrislu
d51efddf5c
flush to disk
...
Need to do: read from disk
2024-01-08 23:27:02 -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
e8611ed85d
subscribe with partition offset
2024-01-05 15:24:14 -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
efb695fd93
lookup existing topic partitions
2024-01-02 17:29:35 -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
chrislu
e0727071c8
go fmt
2023-12-22 11:33:50 -08:00
chrislu
034db049a0
comment fix
2023-12-22 11:33:00 -08:00
chrislu
61b05fad95
fix test
2023-12-11 20:57:29 -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
17710e1ecb
adjust logs
2023-11-15 18:11:35 -08:00
chrislu
de0b969b36
Revert "rename"
...
This reverts commit 35b5264ab7
.
2023-10-12 20:28:11 -07:00
chrislu
35b5264ab7
rename
2023-10-11 21:44:56 -07:00
chrislu
bf13f3ced7
add subscriber coordinator
2023-10-02 01:02:27 -07:00
chrislu
734178093e
refactor TopicPartition struct
2023-10-02 01:01:45 -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
02cb799481
add a test framework for grpc
2023-09-30 21:36:58 -07:00
chrislu
c4e6545197
fix compilation
2023-09-30 21:26:09 -07:00
chrislu
597ab1e4bf
add design for mq balancer
2023-09-30 13:19:05 -07:00
chrislu
9d589b48e6
rename function
2023-09-26 15:17:33 -07:00
chrislu
81e57bd45e
fix test
2023-09-25 08:20:03 -07:00
chrislu
23f334dd13
comment
2023-09-24 23:36:43 -07:00
chrislu
c7e05e4e71
ensure latest stats are reported
2023-09-24 23:34:31 -07:00
chrislu
dff2ce5d2f
read existing broker stats
2023-09-24 23:10:33 -07:00
chrislu
1492bf7552
fix listing topics
2023-09-24 23:05:41 -07:00
chrislu
3cf9b8d621
create topic and report topic
2023-09-24 22:00:43 -07:00
chrislu
b3f94feede
do create topic
2023-09-24 22:00:43 -07:00
chrislu
d74348048a
implement create topic
2023-09-24 22:00:43 -07:00
chrislu
0361c321b4
add CreateTopic API
2023-09-24 22:00:43 -07:00
chrislu
411bdda08d
fix compilation
2023-09-19 16:22:41 -07:00
chrislu
b18112ae10
fix compilation bugs during merge
2023-09-19 14:08:17 -07:00
chrislu
6c6655de9d
wip
2023-09-19 14:03:42 -07:00
chrislu
27af11f1e8
Revert "Revert "Merge branch 'master' into sub""
...
This reverts commit 0bb97709d4
.
2023-09-18 18:47:34 -07:00
chrislu
0bb97709d4
Revert "Merge branch 'master' into sub"
...
This reverts commit 4d414f54a2
, reversing
changes made to 4827425146
.
2023-09-18 16:13:20 -07:00
chrislu
4d414f54a2
Merge branch 'master' into sub
2023-09-18 16:04:59 -07:00
chrislu
340aea9b34
add broker leader
2023-09-18 09:01:14 -07:00
chrislu
4e17d399a6
refactor
2023-09-17 00:04:20 -07:00
chrislu
a65088d739
broker report stats to balancer
2023-09-16 23:00:51 -07:00
chrislu
89a1fd1751
Squashed commit of the following:
...
commit 4827425146
Author: chrislu <chris.lu@gmail.com>
Date: Sat Sep 16 15:05:38 2023 -0700
balancer works
commit 3b50139f68
Author: chrislu <chris.lu@gmail.com>
Date: Fri Sep 15 22:22:32 2023 -0700
comments
commit 7f685ce7ba
Author: chrislu <chris.lu@gmail.com>
Date: Fri Sep 15 22:20:05 2023 -0700
adjust APIs
commit 436d99443b
Author: chrislu <chris.lu@gmail.com>
Date: Thu Sep 14 23:49:05 2023 -0700
receive broker stats
commit b771fefa37
Merge: 0a851ec00
890881037
Author: chrislu <chris.lu@gmail.com>
Date: Wed Sep 13 00:03:47 2023 -0700
Merge branch 'master' into sub
commit 0a851ec00b
Author: chrislu <chris.lu@gmail.com>
Date: Sun Sep 10 22:01:25 2023 -0700
Create balancer.go
commit 39941edc0b
Author: chrislu <chris.lu@gmail.com>
Date: Thu Sep 7 23:55:19 2023 -0700
add publisher shutdown
commit 875f562779
Author: chrislu <chris.lu@gmail.com>
Date: Wed Sep 6 23:16:41 2023 -0700
server side send response at least once per second
commit 984b6c54cf
Author: chrislu <chris.lu@gmail.com>
Date: Wed Sep 6 23:15:29 2023 -0700
ack interval 128
commit 2492a45499
Author: chrislu <chris.lu@gmail.com>
Date: Wed Sep 6 22:39:46 2023 -0700
ack interval
commit ba67e6ca29
Author: chrislu <chris.lu@gmail.com>
Date: Mon Sep 4 21:43:50 2023 -0700
api for sub
commit 9e4f985698
Author: chrislu <chris.lu@gmail.com>
Date: Mon Sep 4 21:43:30 2023 -0700
publish, benchmark
commit cb470d44df
Author: chrislu <chris.lu@gmail.com>
Date: Fri Sep 1 00:36:51 2023 -0700
can pub and sub
commit 1eb2da46d5
Author: chrislu <chris.lu@gmail.com>
Date: Mon Aug 28 09:02:12 2023 -0700
connect and publish
commit 504ae8383a
Author: chrislu <chris.lu@gmail.com>
Date: Mon Aug 28 09:01:25 2023 -0700
protoc version
commit dbcba75271
Author: chrislu <chris.lu@gmail.com>
Date: Sun Aug 27 18:59:04 2023 -0700
rename to lookup
commit c9caf33119
Author: chrislu <chris.lu@gmail.com>
Date: Sun Aug 27 18:33:46 2023 -0700
move functions
commit 4d6c18d86f
Author: chrislu <chris.lu@gmail.com>
Date: Sun Aug 27 17:50:59 2023 -0700
pub sub initial tests
commit 4eb8e8624d
Author: chrislu <chris.lu@gmail.com>
Date: Sun Aug 27 13:14:39 2023 -0700
rename
commit 1990456670
Author: chrislu <chris.lu@gmail.com>
Date: Sun Aug 27 13:13:14 2023 -0700
sub
commit 905911853d
Author: chrislu <chris.lu@gmail.com>
Date: Sat Aug 26 13:39:21 2023 -0700
adjust proto
2023-09-16 15:06:16 -07:00
chrislu
4827425146
balancer works
2023-09-16 15:05:38 -07:00
chrislu
436d99443b
receive broker stats
2023-09-14 23:49:05 -07:00
chrislu
b771fefa37
Merge branch 'master' into sub
2023-09-13 00:03:47 -07:00
chrislu
0a851ec00b
Create balancer.go
2023-09-10 22:01:25 -07:00
chrislu
39941edc0b
add publisher shutdown
2023-09-07 23:55:19 -07:00
chrislu
875f562779
server side send response at least once per second
2023-09-06 23:16:41 -07:00
chrislu
984b6c54cf
ack interval 128
2023-09-06 23:15:29 -07:00
chrislu
2492a45499
ack interval
2023-09-06 22:39:46 -07:00
chrislu
ba67e6ca29
api for sub
2023-09-04 21:43:50 -07:00
chrislu
9e4f985698
publish, benchmark
2023-09-04 21:43:30 -07:00
chrislu
cb470d44df
can pub and sub
2023-09-01 00:36:51 -07:00
chrislu
1eb2da46d5
connect and publish
2023-08-28 09:02:12 -07:00
chrislu
dbcba75271
rename to lookup
2023-08-27 18:59:04 -07:00
chrislu
c9caf33119
move functions
2023-08-27 18:33:46 -07:00
chrislu
4d6c18d86f
pub sub initial tests
2023-08-27 17:50:59 -07:00
chrislu
4eb8e8624d
rename
2023-08-27 13:14:39 -07:00
chrislu
1990456670
sub
2023-08-27 13:13:14 -07:00
chrislu
905911853d
adjust proto
2023-08-26 13:39:21 -07:00
Nico D'Cotta
796b7508f3
Implement SRV lookups for filer ( #4767 )
2023-08-24 07:08:56 -07:00
chrislu
01d70c21f3
Squashed commit of the following:
...
commit 32f4b1a13057d56b6de487cdb80ff7c205af01a6
Author: chrislu <chris.lu@gmail.com>
Date: Sun Aug 20 22:52:19 2023 -0700
fix compilation
commit e77ad33b7ca0423138fbae26a4433b60923a9588
Author: chrislu <chris.lu@gmail.com>
Date: Sun Aug 20 22:46:44 2023 -0700
pub
commit f431f30cc7ca277ca299e3cd118c05537fb9f5c3
Author: chrislu <chris.lu@gmail.com>
Date: Sun Aug 20 13:27:39 2023 -0700
fix generic type
commit 4e9dcb18293fd1e3e306e2dceb995dfd67a35e1d
Merge: 30f942580 16e3f2d52
Author: chrislu <chris.lu@gmail.com>
Date: Sun Aug 20 12:47:14 2023 -0700
Merge branch 'master' into pubsub
commit 30f942580ad1bb32ae94aade2e3a21ec3ab63e21
Author: chrislu <chris.lu@gmail.com>
Date: Sun Aug 20 11:10:58 2023 -0700
wip
commit f8b00980bc2f3879bb43decffd9a08d842f196f2
Author: chrislu <chris.lu@gmail.com>
Date: Tue Jul 25 09:14:35 2023 -0700
add design document
commit 08d2bebe42a26ebc39f1542f54d99e73620727dd
Author: chrislu <chris.lu@gmail.com>
Date: Tue Jul 25 09:14:06 2023 -0700
minor
commit bcfa7982b262a40fcdce6fc6613fad2ce07c13da
Author: chrislu <chris.lu@gmail.com>
Date: Tue Jul 25 09:13:49 2023 -0700
rename
2023-08-20 22:53:05 -07:00
chrislu
8ec1bc2c99
remove unused cluster node leader
2023-06-19 18:19:13 -07:00
chrislu
81fdf3651b
grpc connection to filer add sw-client-id header
2023-01-20 01:48:12 -08:00
Konstantin Lebedev
e90ab4ac60
avoid race conditions for OnPeerUpdate ( #3525 )
...
https://github.com/seaweedfs/seaweedfs/issues/3524
2022-08-26 10:18:49 -07:00
askeipx
2e78a522ab
remove old raft servers if they don't answer to pings for too long ( #3398 )
...
* remove old raft servers if they don't answer to pings for too long
add ping durations as options
rename ping fields
fix some todos
get masters through masterclient
raft remove server from leader
use raft servers to ping them
CheckMastersAlive for hashicorp raft only
* prepare blocking ping
* pass waitForReady as param
* pass waitForReady through all functions
* waitForReady works
* refactor
* remove unneeded params
* rollback unneeded changes
* fix
2022-08-23 23:18:21 -07:00
chrislu
2b580a7566
also migrate jsonpb
2022-08-17 12:42:03 -07:00
chrislu
eaeb141b09
move proto package
2022-08-17 12:05:07 -07:00
Konstantin Lebedev
4d08393b7c
filer prefer volume server in same data center ( #3405 )
...
* initial prefer same data center
https://github.com/seaweedfs/seaweedfs/issues/3404
* GetDataCenter
* prefer same data center for ReplicationSource
* GetDataCenterId
* remove glog
2022-08-04 17:35:00 -07:00
chrislu
e26d1cf4ef
fix test
2022-08-01 09:40:01 -07:00
chrislu
afef014832
scaffold
2022-07-31 13:23:44 -07:00
chrislu
cb096d1f53
minor
2022-07-30 09:52:52 -07:00
chrislu
26dbc6c905
move to https://github.com/seaweedfs/seaweedfs
2022-07-29 00:17:28 -07:00
chrislu
06cd491abc
add message batch
2022-07-28 23:24:38 -07:00
chrislu
7576c244c4
add flatbuffer serde for message
2022-07-28 23:24:38 -07:00
chrislu
aa4a22ad47
segment serde
2022-07-28 23:24:38 -07:00
chrislu
74f60f246f
dynamically connect to a filer
2022-07-28 23:24:38 -07:00