aboutsummaryrefslogtreecommitdiff
path: root/weed/mq/topic
AgeCommit message (Collapse)AuthorFilesLines
2025-07-16convert error fromating to %w everywhere (#6995)Chris Lu2-6/+6
2025-07-11Admin UI: Add message queue to admin UI (#6958)Chris Lu3-5/+170
* add a menu item "Message Queue" * add a menu item "Message Queue" * move the "brokers" link under it. * add "topics", "subscribers". Add pages for them. * refactor * show topic details * admin display publisher and subscriber info * remove publisher and subscribers from the topic row pull down * collecting more stats from publishers and subscribers * fix layout * fix publisher name * add local listeners for mq broker and agent * render consumer group offsets * remove subscribers from left menu * topic with retention * support editing topic retention * show retention when listing topics * create bucket * Update s3_buckets_templ.go * embed the static assets into the binary fix https://github.com/seaweedfs/seaweedfs/issues/6964
2025-03-09Accumulated changes for message queue (#6600)Chris Lu1-2/+6
* rename * set agent address * refactor * add agent sub * pub messages * grpc new client * can publish records via agent * send init message with session id * fmt * check cancelled request while waiting * use sessionId * handle possible nil stream * subscriber process messages * separate debug port * use atomic int64 * less logs * minor * skip io.EOF * rename * remove unused * use saved offsets * do not reuse session, since always session id is new after restart remove last active ts from SessionEntry * simplify printing * purge unused * just proxy the subscription, skipping the session step * adjust offset types * subscribe offset type and possible value * start after the known tsns * avoid wrongly set startPosition * move * remove * refactor * typo * fix * fix changed path
2025-01-20Add message queue agent (#6463)Chris Lu3-8/+10
* scaffold message queue agent * adjust proto, add mq_agent * add agent client implementation * remove unused function * agent publish server implementation * adding agent
2024-12-19"golang.org/x/exp/slices" => "slices" and go fmtchrislu1-1/+1
2024-11-04merge current message queue code changes (#6201)Chris Lu5-9/+58
* listing files to convert to parquet * write parquet files * save logs into parquet files * pass by value * compact logs into parquet format * can skip existing files * refactor * refactor * fix compilation * when no partition found * refactor * add untested parquet file read * rename package * refactor * rename files * remove unused * add merged log read func * parquet wants to know the file size * rewind by time * pass in stop ts * add stop ts * adjust log * minor * adjust log * skip .parquet files when reading message logs * skip non message files * Update subscriber_record.go * send messages * skip message data with only ts * skip non log files * update parquet-go package * ensure a valid record type * add new field to a record type * Update read_parquet_to_log.go * fix parquet file name generation * separating reading parquet and logs * add key field * add skipped logs * use in memory cache * refactor * refactor * refactor * refactor, and change compact log * refactor * rename * refactor * fix format * prefix v to version directory
2024-10-03add helper functionschrislu1-1/+12
2024-08-11adds lockingchrislu2-4/+15
2024-08-10refactorchrislu2-4/+7
2024-05-20Merge branch 'master' into mqchrislu1-8/+8
2024-05-20go fmtchrislu1-8/+8
2024-05-19persist consumer group offsetchrislu2-12/+13
1. use one follower 2. read write consumer group offset
2024-05-17renamechrislu1-12/+12
2024-05-14subscriber receives partitions and dispatch to processorschrislu1-0/+10
2024-04-02refactorchrislu1-1/+1
2024-04-02comment out printlnchrislu1-4/+4
2024-04-01send flush message to follower before shutting down logBufferchrislu1-1/+19
2024-04-01renamingchrislu1-5/+5
2024-03-31purge old codechrislu1-2/+0
2024-03-31shutdown follower if no clients, not only publisherschrislu1-3/+1
to avoid overhead when a publisher repeatedly send one message and close
2024-03-31add publisher name for debuggingchrislu1-1/+8
2024-03-30simplifychrislu3-17/+4
2024-03-30logschrislu1-0/+1
2024-03-27LocalPartition shutdownchrislu1-18/+18
2024-03-27simplifychrislu2-17/+4
2024-03-27change visibilitychrislu1-14/+14
2024-03-27publish and send to followerchrislu1-4/+21
2024-03-27MaybeShutdownLocalPartition refactorchrislu1-19/+19
2024-03-27fixchrislu1-1/+1
2024-03-27refactorchrislu1-0/+50
2024-03-27refactorchrislu1-0/+18
2024-03-27separate goroutine to send ack to publisherchrislu1-0/+1
2024-03-26renamechrislu1-2/+2
2024-03-24setup follower by publisherchrislu1-0/+4
* 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-17loggingchrislu1-0/+1
2024-03-16notifychrislu1-3/+16
2024-03-16go fmtchrislu1-7/+7
2024-03-15add size()chrislu2-0/+14
2024-03-10ask follower to followchrislu2-6/+13
2024-03-07change LogBuffer visibility in LocalPartitionchrislu1-9/+9
2024-02-29go fmtchrislu2-2/+3
2024-01-16passing partition infochrislu1-10/+2
2024-01-16release local topic partition if no publisher and subscriberschrislu2-0/+15
2024-01-15reuse local partitionchrislu1-2/+2
2024-01-15read from disk if not in memorychrislu1-16/+38
2024-01-11lintchrislu1-1/+1
2024-01-10passing partition generation timestampchrislu1-1/+1
2024-01-08flush to diskchrislu1-6/+5
Need to do: read from disk
2024-01-08add batch index for each memory bufferchrislu1-2/+14
2023-12-28subscriber can get assignmentschrislu1-0/+9