Commit Graph

7021 Commits

Author SHA1 Message Date
chrislu
d45a372615 add schema.proto 2024-04-12 01:30:29 -07:00
chrislu
d5b2cee34a log possible racing condition
fix https://github.com/seaweedfs/seaweedfs/issues/5412
2024-04-11 23:44:54 -07:00
chrislu
2a4a9c6343 log possible racing condition
fix https://github.com/seaweedfs/seaweedfs/issues/5412
2024-04-11 23:44:18 -07:00
chrislu
e53a972483 Merge branch 'master' into mq-subscribe 2024-04-11 19:48:00 -07:00
Konstantin Lebedev
5189a09de0
[volume] Reduce the number of buffers for uploading one chunk (#5458) 2024-04-11 04:47:21 -07:00
skycope
6dae685f9c
fix append disorder (#5492) 2024-04-10 19:21:44 -07:00
chrislu
cc1c69f312 Merge branch 'master' into mq-subscribe 2024-04-08 11:03:14 -07:00
steve.wei
67ead9b18f
fix(volume.fix.replication): adjust volume count, not free volume count (#5479) 2024-04-08 07:30:04 -07:00
Henco Appel
5c8e6014ba
fix: filer authenticate with with volume server (#5480) 2024-04-08 07:27:00 -07:00
clonefetch
9e07a87fcb
chore: fix function names in comment (#5478) 2024-04-08 07:19:02 -07:00
Konstantin Lebedev
3e25ed1b11
[s3] add s3 pass test_multipart_upload_size_too_small (#5475)
* add s3 pass test_multipart_upload_size_too_small

* refactor metric names

* return ErrNoSuchUpload if empty parts

* fix test
2024-04-07 11:52:35 -07:00
Konstantin Lebedev
35cba720a5
[s3] add s3 pass test_multipart_upload (#5474)
add s3 pass test_multipart_upload
2024-04-07 11:51:22 -07:00
Konstantin Lebedev
d42a04cceb
[s3] fix s3 test_multipart_resend_first_finishes_last (#5471)
* try fix s3 test
https://github.com/seaweedfs/seaweedfs/pull/5466

* add error handler metrics

* refactor

* refactor multipartExt

* delete bad entry parts
2024-04-06 10:56:39 -07:00
Nikita Borzykh
7aa25c1137
fix: correctly form partNumber from new entry.Name format in "listObjectParts" (#5470) 2024-04-04 09:16:16 -07:00
skycope
b19c9847c6
fix completed multiupload lost data (#5460)
If there are putObjectPart requests with the same uploadId during
completeMultiPart, it can result in data loss. putObjectPart requests
might be due to timeout retries.

Co-authored-by: Yang Wang <yangwang@weride.ai>
2024-04-02 20:18:42 -07:00
chrislu
ccdd9cd8de refactor 2024-04-02 16:25:43 -07:00
chrislu
f37c0d0d7a comment out println 2024-04-02 15:31:31 -07:00
Konstantin Lebedev
d5d8b8e2ae
fix panic at isAllWritable (#5457)
fix panic
https://github.com/seaweedfs/seaweedfs/issues/5456
2024-04-02 09:06:19 -07:00
Henco Appel
2a88da4de7
fix: always close volume file (#4530) (#5459)
If sync fails then close is never called. We should always be calling
close on the file.

Co-authored-by: Hendrik Appel <happel@europe.altair.com>
2024-04-02 08:31:40 -07:00
chrislu
d935f70e3c shutdown follower when leader stops 2024-04-01 22:32:30 -07:00
chrislu
f07875e8e1 send flush message to follower before shutting down logBuffer 2024-04-01 16:01:26 -07:00
Nikita Borzykh
df9031e19a
fix: ensure complete gRPC stream consumption in doListFilerEntries to prevent context canceled errors. (#5441) 2024-04-01 15:55:16 -07:00
chrislu
e568e742c9 renaming 2024-04-01 15:02:52 -07:00
chrislu
47975e75bf purge old code 2024-03-31 17:49:34 -07:00
chrislu
237e68059d shutdown follower if no clients, not only publishers
to avoid overhead when a publisher repeatedly send one message and close
2024-03-31 17:45:26 -07:00
chrislu
66a878af39 add control message to data message 2024-03-31 16:35:46 -07:00
chrislu
546ae87c39 send is_close message to broker 2024-03-31 01:28:40 -07:00
chrislu
c9df613b6b add publisher name for debugging 2024-03-31 00:19:16 -07:00
chrislu
ca4f89a6f6 simplify 2024-03-30 20:37:57 -07:00
chrislu
0d55bddc75 logs 2024-03-30 20:37:46 -07:00
Nikita Borzykh
829c0da381
fix: adjust condition in prefixFilterEntries prevent infinite loop (#5440) 2024-03-30 14:47:00 -07:00
Konstantin Lebedev
9c1e0f5811
[master] grow volumes if no writable volumes in current dataCenter (#5434)
* grow volumes if no writable volumes in current dataCenter
https://github.com/seaweedfs/seaweedfs/issues/3886

* fix tests with volume grow

* automatic volume grow one volume

* add ErrorChunkAssign metrics
2024-03-29 00:38:27 -07:00
Konstantin Lebedev
df40908e57
fix panic 5435 (#5436) 2024-03-28 16:17:59 -07:00
chrislu
13b7c7b366 Merge branch 'master' into mq-subscribe 2024-03-27 23:57:00 -07:00
chrislu
e3c8be7f89 LocalPartition shutdown 2024-03-27 23:55:06 -07:00
chrislu
ab9fc0ad70 simplify 2024-03-27 23:42:19 -07:00
chrislu
7463058299 change visibility 2024-03-27 23:11:35 -07:00
chrislu
dab5454332 publish and send to follower 2024-03-27 23:10:24 -07:00
chrislu
f249f831b1 MaybeShutdownLocalPartition refactor 2024-03-27 23:02:51 -07:00
chrislu
2a0ab7e90d fix 2024-03-27 22:59:50 -07:00
chrislu
059a120708 refactor 2024-03-27 22:58:20 -07:00
chrislu
7d87c1d2bb refactor 2024-03-27 22:48:37 -07:00
chrislu
6aa804b368 lock instead of RLock, to prevent racing condition
https://github.com/seaweedfs/seaweedfs/discussions/5432#discussioncomment-8933608
2024-03-27 16:05:11 -07:00
chrislu
5cc94a05b9 separate goroutine to send ack to publisher 2024-03-27 10:27:08 -07:00
chrislu
17806cde2a separate context
If using the same context, the downstream grpc would be cancelled when the parent grpc is cancelled.
2024-03-27 10:24:57 -07:00
chrislu
f67c8309d8 rename 2024-03-26 21:52:12 -07:00
chrislu
7d69552974 log server list 2024-03-26 21:51:28 -07:00
chrislu
36fec34c47 print only adapted url
fix https://github.com/seaweedfs/seaweedfs/issues/5424
2024-03-25 12:50:43 -07:00
chrislu
707ff536a3 Merge branch 'master' into mq-subscribe 2024-03-25 11:21:19 -07:00
chrislu
aed6fdffd2 fix nil volume data backend
fix https://github.com/seaweedfs/seaweedfs/issues/5417
2024-03-25 08:19:31 -07:00
chrislu
d6a066495b adjust logs 2024-03-25 08:15:47 -07:00
chrislu
1b1b96ea1e close local partition if no more publishers and subscribers 2024-03-24 21:10:02 -07:00
Nikita Borzykh
9ca871af53
Move ListDirectoryEntries logic to ListDirectoryPrefixedEntries in etcd meta storage backend (#5416)
Move ListDirectoryEntries logic to ListDirectoryPrefixedEntries
2024-03-24 14:08:54 -07:00
chrislu
4f5c4c3388 refactor 2024-03-24 13:07:51 -07:00
chrislu
d558a58946 refactor 2024-03-24 13:04:59 -07:00
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
Nikita Korolev
2dd2bb3e16
fix filer address parsing (#5415) 2024-03-24 11:20:33 -07:00
Nikita Borzykh
1f3742850d
Add TLS support, initial etcd connection check, fix key_prefix handling for etcd backend meta storage (#5403) 2024-03-24 08:36:21 -07:00
Konstantin Lebedev
dc9568fc0d
[master] add test for PickForWrite add metrics for volume layout (#5413) 2024-03-22 07:39:11 -07:00
Nikita Korolev
953f571349
add basic support for sentry error reporting (#5410) 2024-03-22 07:10:57 -07:00
adasauce
61f4e40ad9
fix s3api: delimeter properly takes prefixes into account (#5411) 2024-03-22 07:03:34 -07:00
wusong
a5582cc921
[mount] fix GetAttr blocks count (#5409) 2024-03-22 06:11:16 -07:00
chrislu
ac13644fc9 Merge branch 'master' into mq-subscribe 2024-03-21 23:31:49 -07:00
chrislu
03f18e43df clean up logs 2024-03-21 23:30:49 -07:00
chrislu
b5a6f10612 Merge branch 'master' into mq-subscribe 2024-03-21 23:27:41 -07:00
chrislu
26e24db721 adjust log level 2024-03-21 23:27:19 -07:00
chrislu
36a3301e0c Merge branch 'master' into mq-subscribe 2024-03-21 23:24:28 -07:00
chrislu
5c0fcae039 clean up logs 2024-03-21 23:24:18 -07:00
chrislu
407a52fc93 adjust log level 2024-03-21 23:23:26 -07:00
chrislu
da31e9b939 correctly wait for the publisher to finish 2024-03-21 09:08:53 -07:00
zuzuviewer
211171e669
Fix iam service response 500 (#5405) 2024-03-21 08:43:54 -07:00
chrislu
e641d49f9f Merge branch 'master' into mq-subscribe 2024-03-21 08:22:14 -07:00
Konstantin Lebedev
25643cfbc6
fix: panic: assignment to entry in nil map on S3Sink.CreateEntry (#5406) 2024-03-21 08:12:31 -07:00
chrislu
8b18dd940f Merge branch 'master' of https://github.com/seaweedfs/seaweedfs 2024-03-21 08:07:58 -07:00
chrislu
50023fe1cf adjust log level 2024-03-21 08:07:56 -07:00
Konstantin Lebedev
d821cb3b18
fix: sync without dir /buckets/some/.uploads/hash_hash (#5402) 2024-03-20 12:54:29 -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
96149cbf7f Merge branch 'master' into mq-subscribe 2024-03-19 09:14:27 -07:00
chrislu
a1816d21e9 fix compilation 2024-03-19 09:09:14 -07:00
chrislu
ad408a7d38 Merge branch 'master' into mq-subscribe 2024-03-19 08:58:09 -07:00
dependabot[bot]
359b00596f
chore(deps): bump github.com/rclone/rclone from 1.65.2 to 1.66.0 (#5387)
* chore(deps): bump github.com/rclone/rclone from 1.65.2 to 1.66.0

Bumps [github.com/rclone/rclone](https://github.com/rclone/rclone) from 1.65.2 to 1.66.0.
- [Release notes](https://github.com/rclone/rclone/releases)
- [Changelog](https://github.com/rclone/rclone/blob/master/RELEASE.md)
- [Commits](https://github.com/rclone/rclone/compare/v1.65.2...v1.66.0)

---
updated-dependencies:
- dependency-name: github.com/rclone/rclone
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix compilation error with rclone update (#5395)

Fix compilation error

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damiano Albani <damiano.albani@gmail.com>
2024-03-18 17:09:59 -07:00
jerebear12
7091269e65
fix get file metadata bug (#5394)
* Removed problematic if statement

This if statement was causing the value of option.AllowedOrigins to be always equal to "*". Now the values in the config file will be used when present. This allows for people who don't need this feature to not update their security.toml files.

* Update filer_server_handers_read.go

* Updated filer responses to invalid requests
2024-03-18 11:08:16 -07:00
chrislu
516cba7053 remove FollowInMemoryMessages 2024-03-17 22:27:13 -07:00
chrislu
6ef3e6bcad logging 2024-03-17 22:24:20 -07:00
chrislu
a375b2815e Merge branch 'master' into mq-subscribe 2024-03-17 11:46:55 -07:00
chrislu
ca042bd067 simplify 2024-03-17 01:01:45 -07:00
chrislu
4dce1e9d29 Revert "remove github.com/golang/protobuf/proto"
This reverts commit 1516e0249f.
2024-03-17 01:00:43 -07:00
chrislu
a8b73296d7 fix test3 2024-03-16 23:53:46 -07:00
chrislu
3c559dc294 fix test2 2024-03-16 23:48:31 -07:00
chrislu
ea2601799c fix test 2024-03-16 23:22:17 -07:00
chrislu
1516e0249f remove github.com/golang/protobuf/proto 2024-03-16 23:18:11 -07:00
chrislu
8e5068fd2f notify 2024-03-16 23:16:33 -07:00
chrislu
aba934f0b5 adjust log level 2024-03-16 23:15:06 -07:00
chrislu
44ab42d03c unnecessary 2024-03-16 17:11:42 -07:00
chrislu
3f2dd8cc3e add follower id info 2024-03-16 17:11:18 -07:00
chrislu
b74e8082ba 3.64 2024-03-16 11:46:40 -07:00
chrislu
6a61b54f29 Merge branch 'mq-subscribe' 2024-03-16 11:42:23 -07:00
chrislu
27bb38228b only broad cast when there are waiting threads 2024-03-16 11:38:27 -07:00
chrislu
054d0b3487 wait for data 2024-03-16 11:14:14 -07:00
chrislu
f8957b84c1 rename to LastTsNs 2024-03-16 10:52:47 -07:00
chrislu
529fa8c4c8 go fmt 2024-03-16 10:51:47 -07:00
chrislu
059df3957d rename to lastFlushDataTime 2024-03-16 10:51:16 -07:00
chrislu
1b5c547cfe logs 2024-03-15 21:08:57 -07:00
chrislu
55714f54ab local partition is generated or not 2024-03-15 21:08:42 -07:00
chrislu
56ce040ab6 log errors 2024-03-15 21:05:40 -07:00
chrislu
549455c30d streaming mode 2024-03-15 21:05:24 -07:00
chrislu
f653838f34 follower receive a hello message before actual data
the leader can ensure the follower has connected
2024-03-15 20:36:01 -07:00
chrislu
64a32730a2 add size() 2024-03-15 20:34:39 -07:00
Michał Frąckiewicz
205829fa22
Document default method used by compact (#5379) 2024-03-15 12:16:44 -07:00
Konstantin Lebedev
54ee73287d
[filer] replace an invalid methods in a metric with an invalid one (#5378)
fix: replace an invalid methods in a metric with an invalid one for filer
2024-03-14 08:19:09 -07:00
chrislu
6f615c62ae Merge branch 'master' into mq-subscribe 2024-03-12 09:19:06 -07:00
chrislu
604091a480 use stopChan to close previous filer peer meta subscription instances 2024-03-12 09:18:54 -07:00
chrislu
1efa502dbb go fmt 2024-03-12 09:17:20 -07:00
chrislu
6f75a0af55 ask follower to follow 2024-03-10 14:34:28 -07:00
chrislu
c1a5952009 rename 2024-03-09 12:57:01 -08:00
chrislu
e7823ee967 retry connecting to broker leader 2024-03-09 12:56:49 -08:00
rustrover
ab70aa92da
remove repetitive words (#5364) 2024-03-09 07:35:47 -08:00
chrislu
3b28433cb1 change LogBuffer visibility in LocalPartition 2024-03-07 10:57:04 -08:00
chrislu
28f8f33d6a include key in LogEntry 2024-03-07 10:53:30 -08:00
chrislu
34f2b600ac each log function adds a "done" return parameter 2024-03-07 10:50:09 -08:00
chrislu
62397f2371 adjust error 2024-03-07 10:47:50 -08:00
chrislu
832b60c13f pass errors 2024-03-07 10:47:06 -08:00
chrislu
49869eec83 edge cases for broker assignment 2024-03-07 10:45:38 -08:00
chrislu
33ab6cfcf7 adjust error 2024-03-07 10:44:09 -08:00
chrislu
8f79bb3987 Merge branch 'master' into mq-subscribe 2024-03-07 10:42:29 -08:00
chrislu
b544a69550 Merge branch 'master' of https://github.com/seaweedfs/seaweedfs 2024-03-07 10:42:15 -08:00
chrislu
5c0f01c0eb purge cluster id 2024-03-07 10:42:12 -08:00
Konstantin Lebedev
170b63d6f8
[filer.backup] add param uploader_part_size for S3sink (#5352)
* fix: install cronie

* chore: refactor configure S3Sink

* chore: refactor cinfig

* add filer-backup compose file

* fix: X-Amz-Meta-Mtime and resolve with comments

* fix: attr mtime

* fix: MaxUploadPartst is reduced to the maximum allowable

* fix: env and force set max MaxUploadParts

* fix: env WEED_SINK_S3_UPLOADER_PART_SIZE_MB
2024-03-07 08:35:51 -08:00
Seyed Mahdi Sadegh Shobeiri
ecc154fa9e
Add deleted bytes to total_disk_size (#5161) 2024-03-06 07:28:46 -08:00
adasauce
3e3e0fa240
feat: add support for S3 ListObjects and ListObjectsV2 (#5350) 2024-03-06 07:24:44 -08:00
Konstantin Lebedev
872b5161e6
[shell] fs log purge (#5344)
* fix: install cronie

* chore: shell delete old logs

* Revert "fix: install cronie"

This reverts commit 920832b04b.

* fix: dayAgo

* fix: Nit: dayAgo => daysAgo
2024-03-05 09:09:08 -08:00
chrislu
fe03b1b522 handle single broker case 2024-03-01 05:59:40 -08:00
chrislu
50c5dd7313 test low active brokers 2024-02-29 20:50:57 -08:00
chrislu
7598922b41 assign followers 2024-02-29 14:51:06 -08:00
chrislu
7e443ef0a1 latest protoc-gen-go 2024-02-29 10:06:23 -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
chrislu
2a7028373d Merge branch 'master' into mq-subscribe 2024-02-29 06:22:39 -08:00
Sean Ross
0833057503
Moved noapplexattr under runtime.GOARCH == "amd64" to resolve the fin… (#5351)
Moved noapplexattr under runtime.GOARCH == "amd64" to resolve the finder copy bug on arm64 macOS devices.
2024-02-29 02:16:28 -08:00
jerebear12
85d6d5371b
Disable filer UI in configuration (#5297)
* Add filer.ui.enabled configuration property

* Add filer.expose_directory_metadata to config

* Ammend commit

* Remove ShowUI reference

* Update all routes that allow directory metadata

* Add cmd flag to server.go
2024-02-27 08:38:55 -08:00
chrislu
76ae39a363 Merge branch 'master' into mq-subscribe 2024-02-26 07:03:09 -08:00
chrislu
54d7748a4a 3.63 2024-02-25 22:17:28 -08:00
chrislu
a52ce076fc Merge branch 'master' into mq-subscribe 2024-02-25 08:00:37 -08:00
Konstantin Lebedev
7187346cc1
avoid unexpected compact size (#5272)
https://github.com/seaweedfs/seaweedfs/issues/5215
2024-02-24 05:27:35 -08:00
chrislu
7c45992c79 when verifyNeedleIntegrity, do not truncate files
related to https://github.com/seaweedfs/seaweedfs/pull/5259
2024-02-24 02:37:03 -08:00
Chris Lu
32cb9b3276
fix unaligned 64-bit atomic operation in weed mount on arm when readi… (#5308)
fix unaligned 64-bit atomic operation in weed mount on arm when reading a file

fix #5306
2024-02-19 18:51:45 -08:00
7y-9
41ec9d7759
refactor: put the auth outside (#5313) 2024-02-19 03:07:48 -08:00
7y-9
f037c09c11
fix: only admin auth can delete S3 bucket (#5312) 2024-02-19 00:38:05 -08:00
Konstantin Lebedev
6181aa7594
fix: fs verify error counter (#5261) 2024-02-15 01:31:51 -08:00
Sébastien
c694cb4e7d
filer: reduce delete entry ErrNotFound logs (#5301) 2024-02-14 14:22:08 -08:00
Konstantin Lebedev
8fb978d6f6
[volume] requests that were canceled by the client are not an internal server problem(500 => 499) (#5304) 2024-02-14 14:18:56 -08:00
Justin Dhillon
a48e2ec45b
Fix Broken Links (#5287)
* https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-setprocessworkingsetsize

* https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-getprocessworkingsetsize

* remove https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css

* https://github.com/AShiou/hof
2024-02-14 08:26:38 -08:00
Chris Lu
16b4f9d9ab subscriber find broker leader first 2024-02-05 23:14:25 -08:00
Chris Lu
e27deed4bc upgrade protoc 2024-02-05 18:39:08 -08:00
Chris Lu
656b78d1af proxy to broker leader 2024-02-05 18:00:50 -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
fa72761bb8 fix on finding lock owner 2024-02-05 17:30:14 -08:00
Chris Lu
4dc6681833 proxy requests to lock owner 2024-02-05 16:46:40 -08:00
sxlehua
ffe5f19aa0
Add s3 postpolicy support header (#5280)
* Add s3 postpolicy support header

* optimized code
2024-02-05 07:55:07 -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
44b49bec99 less verbose 2024-02-04 12:47:07 -08:00
Chris Lu
53612b770c Merge branch 'master' into mq-subscribe 2024-02-04 10:44:01 -08:00
Chris Lu
56df44845f fix when two consecutive chunks with the same modified_ts_ns
fix https://github.com/seaweedfs/seaweedfs/issues/5276
2024-02-04 09:22:24 -08:00
Chris Lu
0a12301b3d avoid too large expiration time 2024-02-04 09:20:21 -08:00
sxlehua
0b49c16361
Adapt S3 POST ContentType (#5275) 2024-02-03 22:33:34 -08:00
Chris Lu
1b5ba4190c avoid timestamp overflow 2024-02-03 13:45:59 -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
c1bb76d709 fix nil error 2024-01-30 08:21:42 -08:00
chrislu
ac50d8a822 re-lock if the lock owner is not found 2024-01-29 22:46:23 -08:00
Benoît Knecht
56287bd07d
weed/shell: Cluster check other disk types (#5245)
* week/shell: Cluster check other disk types

The `cluster.check` command only took the empty (`""`) and `hdd` disk types
into consideration, but a cluster with only `ssd` or `nvme` disk types would be
equally valid.

This commit simply checks that _any_ disk type is defined, and that some
volumes are available for it.

Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>

* weed/shell: Replace loop that copies slice

Use the following construct instead of a `for` loop:

```golang
x = append(x, y...)
```

See https://staticcheck.dev/docs/checks#S1011.

Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>

* weed/shell: Check disk types when filer is in use

Filer stores its metadata logs in generic (i.e. `""`) or HDD disk type volumes,
so make sure those disk types exist and have volumes associated with them when
Filer is deployed in the cluster.

Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>

---------

Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>
2024-01-29 10:36:37 -08:00
Sébastien
0775d05a23
fix: http range request return status 500 (#5251)
When volume server unavailable for at least one chunk; was returning status 206.

Split `StreamContent` in two parts,
- first prepare, to get chunk info and return stream function
- then write chunk, with that stream function

That allow to catch error in first step before setting response status code in `processRangeRequest`
2024-01-29 10:35:52 -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
5dc1362bdc close the input 2024-01-27 16:12:49 -08:00
chrislu
fa835c9319 Update buffered_queue_test.go 2024-01-27 14:46:12 -08:00
Chris Lu
b6de35cdb2 moved. there are some deadlock. WIP 2024-01-27 13:51:19 -08:00
chrislu
91af1f3069 schedule jobs 2024-01-26 14:09:57 -08:00
Benoît Knecht
f6e39139d8
weed/storage: Fix volume info file permissions (#5246) 2024-01-26 08:31:27 -08:00
chrislu
08c5fba825 adds a buffered queue 2024-01-25 20:22:41 -08:00
chrislu
cb50b720fd Revert "Fix weed fix"
This reverts commit 6c1ce18541.
2024-01-25 08:09:36 -08:00
Benoît Knecht
1f08010ef0
weed/shell: Cleanup volume balance logic (#5241) 2024-01-25 06:19:58 -08:00
Konstantin Lebedev
0f8e76bbd6
fix: clean metric MasterReplicaPlacementMismatch for unregister volume (#5239) 2024-01-25 00:23:24 -08:00
Benoît Knecht
a6aee847b9
weed/shell: Fix volume.balance logic (#5238) 2024-01-25 00:17:32 -08:00
Konstantin Lebedev
0b71fae2e3
fix: s3tests test_get_object_ifnonematch_good (#5237) 2024-01-24 11:05:55 -08:00
chrislu
025f8eb37b return dir assign counter
fix https://github.com/seaweedfs/seaweedfs/issues/5231
2024-01-23 19:48:42 -08:00
chrislu
d4e66cc140 return dir assign counter
fix https://github.com/seaweedfs/seaweedfs/issues/5231
2024-01-23 19:47:31 -08:00
chrislu
a8ddbf9ed2 Merge branch 'master' into mq-subscribe 2024-01-23 19:41:16 -08:00
chrislu
49fcb48e04 same logic as grpc assign
fix https://github.com/seaweedfs/seaweedfs/issues/5213
2024-01-23 19:39:59 -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
bb867694d8 skip updating multipart .upload files 2024-01-18 09:24:52 -08:00
chrislu
4ca6b1be3c skip updating the .upload multipart files 2024-01-18 09:24:52 -08:00
chrislu
d848efed1b skip updating multipart .upload files 2024-01-18 09:24:26 -08:00
chrislu
aca3c33bab skip updating the .upload multipart files 2024-01-18 09:23:24 -08:00
chrislu
314e25aad6 Merge branch 'master' into mq-subscribe 2024-01-18 09:17:16 -08:00
chrislu
5c90b27b0a go fmt 2024-01-18 09:17:08 -08:00
chrislu
263f1f3d04 Merge branch 'master' into mq-subscribe 2024-01-18 09:16:46 -08:00
chrislu
83e4b02517 fix 2024-01-18 09:16:20 -08:00
chrislu
2fa519bcb5 Merge branch 'pr/5216' 2024-01-18 09:14:01 -08:00
chrislu
15b66a6633 refactor 2024-01-18 09:13:14 -08:00
chrislu
3002087541 http assign logic should be the same as grpc assign
similar logic as bebbc9fe44
2024-01-18 08:58:53 -08:00
XIAOYQ
be166b434f fix: skip s3 .uploads 2024-01-18 22:13:46 +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
Konstantin Lebedev
4e9ea1e628
chore: filer healthz handler check filer store (#5208) 2024-01-17 07:46:37 -08:00
Konstantin Lebedev
f9cf13fada
[filer] avoid return http ok for not allowed methods (#5209) 2024-01-17 07:17:07 -08:00
Andrew Azores
2eb82778bc
chore: fix typos in scaffold help output (#5211) 2024-01-17 07:10:17 -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
1877ce5126 rename 2024-01-15 21:31:21 -08:00
chrislu
ba73199174 reuse local partition 2024-01-15 21:22:41 -08:00
chrislu
33d5343ea1 Merge branch 'master' into mq-subscribe 2024-01-15 20:56:21 -08:00
chrislu
59b8af99b0 3.62 2024-01-15 20:44:00 -08:00
chrislu
6d45bb3038 Merge branch 'master' into mq-subscribe 2024-01-15 20:43:03 -08:00
chrislu
7e6497cc1c adjust publisher subscriber 2024-01-15 20:42:46 -08:00
skycope
316ae45795
can vacuum volume when size mismatch (#5200)
Co-authored-by: Yang Wang <yangwang@weride.ai>
2024-01-15 16:16: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
49f7de9daa Merge branch 'master' into mq-subscribe 2024-01-13 17:52:18 -08:00
chrislu
d6ba97219b refactoring 2024-01-13 17:51:53 -08:00
Konstantin Lebedev
8d23e36c45
fix: doDeleteFiles deletes files (#5198) 2024-01-12 11:04:29 -08:00
Konstantin Lebedev
1169f94310
Fix filer sync set offset (#5197)
* fix: compose 2mount with sync

* fix: DATA RACE
https://github.com/seaweedfs/seaweedfs/issues/5194
https://github.com/seaweedfs/seaweedfs/issues/5195
2024-01-12 10:57:18 -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
70a011a224 Merge branch 'master' into mq-subscribe 2024-01-11 20:58:57 -08:00
skycope
0e8a54f6f6
fix write volume over size MaxPossibleVolumeSize (#5190)
Co-authored-by: Yang Wang <yangwang@weride.ai>
2024-01-11 20:23:46 -08:00
chrislu
050efe6c08 factor in existing ec volume count when estimating max volume count
related to https://github.com/seaweedfs/seaweedfs/issues/5191
2024-01-11 08:19:09 -08:00
chrislu
188f471a24 logging 2024-01-11 07:55:26 -08:00
chrislu
6a7a679137 passing partition generation timestamp 2024-01-10 22:36:17 -08:00
Konstantin Lebedev
a7fc723ae0
chore: add status code for request_total metrics (#5188) 2024-01-10 10:05:27 -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
jerebear12
8c966ac23b
Removed problematic if statement (#5180)
This if statement was causing the value of option.AllowedOrigins to be always equal to "*". Now the values in the config file will be used when present. This allows for people who don't need this feature to not update their security.toml files.
2024-01-08 11:35:20 -08:00
chrislu
fbb4917e2f Merge branch 'master' into mq-subscribe 2024-01-08 00:08:49 -08:00
chrislu
8ae00e47a6 3.61 2024-01-08 00:04:49 -08:00
chrislu
49428a303b add batch index for each memory buffer 2024-01-08 00:03:08 -08:00
Konstantin Lebedev
b9d32d32e1
chore: filer sync add doDeleteFiles option for create only mode (#5166) 2024-01-06 10:02:16 -08:00
chrislu
d0d24f1e40 rename functions 2024-01-05 17:10:43 -08:00
chrislu
d9bd343055 Merge branch 'master' into mq-subscribe 2024-01-05 15:36:00 -08:00
chrislu
1206313952 add logs on flush 2024-01-05 15:35:42 -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
add16fb1a1 logs 2024-01-05 15:16:22 -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
1fed37bed0 add offset 2024-01-05 15:03:16 -08:00
Konstantin Lebedev
3b62b338a5
chore: add maxMB option for webdav (#5165) 2024-01-05 11:10:20 -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
Konstantin Lebedev
4f6172f369
Fix missing VersionConfiguration node in get-bucket-versioning response (#5162)
* fix: s3 response for get bucket version
https://github.com/seaweedfs/seaweedfs/issues/5155

* fix: s3 response for get bucket version
https://github.com/seaweedfs/seaweedfs/issues/5155
2024-01-03 12:27:13 -08:00
Konstantin Lebedev
3e43778869
fix: webdav avoid create empty files (#5160) 2024-01-03 09:52:51 -08:00
Konstantin Lebedev
b832ddd1ef
fix: return etag with md5 in webdav responses (#5158) 2024-01-03 08:50:32 -08:00
chrislu
efb695fd93 lookup existing topic partitions 2024-01-02 17:29:35 -08:00
chrislu
54e9877093 Merge branch 'master' into mq-subscribe 2024-01-02 13:25:00 -08:00
chrislu
d3688938d9 avoid nil
fix https://github.com/seaweedfs/seaweedfs/issues/5153

introduced from #5109
2024-01-02 12:55:34 -08:00
chrislu
923b1e5dad Merge branch 'master' into mq-subscribe 2024-01-01 20:56:12 -08:00
chrislu
d4e91b6ad9 3.60 2024-01-01 19:11:23 -08:00
chrislu
8b4cd50aac log errors 2024-01-01 19:09:17 -08:00
chrislu
bf9ae74384 add logs 2024-01-01 19:09:05 -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
Varun Upadhyay
77626666c5
Minor cleanup & gitignore update (#5144) 2023-12-28 20:25:43 -08:00
chrislu
9ed26cd7b0 Merge branch 'master' into mq-subscribe 2023-12-28 11:57:30 -08:00
chrislu
c950a40aad subscriber keep connected to the balancer 2023-12-28 11:56:37 -08:00
Konstantin Lebedev
183352c796
shell meta load add concurrency (#4529)
* fix: increase speed cmd fs meta load

* fix: add wg
2023-12-28 11:54:37 -08:00
Lars Lehtonen
edc0532b1d
weed/server: remove unneeded err from streamReadOneVolume() signature (#5143) 2023-12-28 11:45:13 -08:00
chrislu
bebbc9fe44 create volume grow request if the selected volume is close to full 2023-12-27 11:45:44 -08:00
chrislu
bb9269f3f7 Revert "Update network.go since To16 converts the IP address ip up to a 16-byte representation. If ip is not an IP address (it is the wrong length), To16 returns nil. (#5134)"
This reverts commit 838578b55f.
2023-12-24 12:31:08 -08:00
chrislu
c6b1dc7058 remove unused code 2023-12-24 11:11:41 -08:00
vivekkoya
838578b55f
Update network.go since To16 converts the IP address ip up to a 16-byte representation. If ip is not an IP address (it is the wrong length), To16 returns nil. (#5134) 2023-12-23 15:01:57 -08:00
Seyed Mahdi Sadegh Shobeiri
97236389e8
Add modifyTimeAgo to volume.fsck (#5133)
* Add modifyTimeAgo to volume.fsck

* Fix AppendAtNs
2023-12-23 12:17:30 -08:00
Seyed Mahdi Sadegh Shobeiri
54ba2c8868
Fix cutoffTimeAgo in findMissingChunksInFiler (#5132) 2023-12-23 09:18:16 -08:00
chrislu
03c4b2e988 correct lock accounting
possibly fix https://github.com/seaweedfs/seaweedfs/issues/5082
2023-12-22 14:16:23 -08:00
chrislu
c4badf7396 adjust options 2023-12-22 11:41:10 -08:00
chrislu
6324062acc fix 2023-12-22 11:37:15 -08:00
chrislu
e0727071c8 go fmt 2023-12-22 11:33:50 -08:00
chrislu
ee1c9bc314 Merge branch 'master' of https://github.com/seaweedfs/seaweedfs 2023-12-22 11:33:02 -08:00
chrislu
034db049a0 comment fix 2023-12-22 11:33:00 -08:00
chrislu
6df44d3c95 option to filer.copy with public volume server url
fix https://github.com/seaweedfs/seaweedfs/issues/5126
2023-12-22 11:32:43 -08:00
chrislu
7a0d1e7fc1 minor 2023-12-22 11:29:54 -08:00
Farbod
c278f49bca
Using filer.remote.sync concurrency in filer.remote.gateway (#5123)
- Chnaged ProcessEvenFn to be concurrent just like filer.remote.sync

Co-authored-by: itsfarbod <itsfarbod@hamravesh.com>
2023-12-20 16:25:54 -08:00
jerebear12
06343f8976
Set allowed origins in config (#5109)
* Add a way to use a JWT in an HTTP only cookie

If a JWT is not included in the Authorization header or a query string, attempt to get a JWT from an HTTP only cookie.

* Added a way to specify allowed origins header from config

* Removed unecessary log

* Check list of domains from config or command flag

* Handle default wildcard and change name of config value to cors
2023-12-20 16:21:11 -08:00
Konstantin Lebedev
3c9bcfb864
chore: add dsn for connection to mysql (#5060)
* chore: add dsn for connection to mysql

* add comment

* new comment

* fix: validate dsn and adapt password
2023-12-20 16:20:58 -08:00
chrislu
915416a277 fix wrong parameter
fix https://github.com/seaweedfs/seaweedfs/pull/5102
2023-12-13 12:02:57 -08:00
Farbod
d5c01e5ceb
Remote gateway Bug fix (#5100) 2023-12-12 07:46:45 -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
Konstantin Lebedev
125ad8fe63 falls back to update only if error contains msg "duplicate entry"
https://github.com/seaweedfs/seaweedfs/issues/5062
2023-12-09 10:18:18 -08:00
chrislu
c1a6e624e5 Merge branch 'master' of https://github.com/seaweedfs/seaweedfs 2023-12-07 08:13:46 -08:00
chrislu
5fe4c04a1a add missing error in the log
related to https://github.com/seaweedfs/seaweedfs/issues/5084
2023-12-07 08:13:42 -08:00
Lars Lehtonen
43a5973a66 weed/storage: fix dropped test errors 2023-12-06 12:05:22 -08:00
jerebear12
d5d9fbb8aa Add a way to use a JWT in an HTTP only cookie
If a JWT is not included in the Authorization header or a query string, attempt to get a JWT from an HTTP only cookie.
2023-12-05 08:57:01 -08:00
chrislu
756bcc032d adjust logs 2023-11-27 12:57:29 -08:00
Konstantin Lebedev
dd78397fea logging PickForWrite error
https://github.com/seaweedfs/seaweedfs/issues/3886
2023-11-27 12:56:15 -08:00
chrislu
81f11883e3 go fmt 2023-11-26 11:47:20 -08:00
chrislu
7a50762b9e reduce binary size by skipping rclone 2023-11-23 00:48:27 -08:00
zehweh
d818ca9631 fix TestMisplacedChecking() and add test-case 2023-11-21 08:24:34 -08:00
julor
2fa37e0287 Update filer_server_handlers_write_autochunk.go 2023-11-20 11:17:14 -08:00
julor
9e03b916d8 verify content-md5 in header
if upload content by s3 client and set content-md5 in header,then will verify recived and saved content,if not equal delete thos chunks
2023-11-20 11:17:14 -08:00
SmsS4
6c1ce18541 Fix weed fix 2023-11-20 11:14:19 -08:00
Lars Lehtonen
57801687de weed/command: fix dropped error 2023-11-20 08:05:24 -08:00
Viktor Kuzmin
06e723f629 Waiting for writes to complete with acquired locks may lead to deadlock, fixes #4952 2023-11-17 07:38:14 -08:00
Konstantin Lebedev
2b229e98ce fix: add doDeleteFile option for filer backup 2023-11-17 07:37:28 -08:00
chrislu
17710e1ecb adjust logs 2023-11-15 18:11:35 -08:00
Amir H. Yeganemehr
6f559fe838 fs.mergeVolumes: change dir to a named parameter 2023-11-13 08:25:44 -08:00