Chris Lu
f2e8ad6241
refactoring
2020-07-11 06:35:54 -07:00
李远军
6608cb5f43
Revert "remove fixJpgOrientation"
...
This reverts commit de5ca9b2
2020-07-10 10:08:36 +08:00
Chris Lu
4bed1663e2
adjust log level
2020-07-07 23:17:31 -07:00
Chris Lu
4d1484628a
refactoring
2020-07-03 16:41:30 -07:00
Chris Lu
faa5c2e89a
refactoring
2020-07-03 16:34:31 -07:00
Chris Lu
20d9cfae86
volume: following md5 base64 encoding
...
fix https://github.com/chrislusf/seaweedfs/issues/1374
2020-06-28 07:25:50 -07:00
Chris Lu
212c64241b
checking ecx file
2020-06-25 16:36:06 -07:00
Chris Lu
9fd7cdadf1
fix
2020-06-25 10:45:34 -07:00
Chris Lu
3b638d3994
add more ec encoding logging
2020-06-25 09:43:38 -07:00
Chris Lu
32a1f22730
more logs
2020-06-24 22:07:53 -07:00
Chris Lu
2ff37ccdbd
testing parsing the upload
...
The mime type is always the value passed in.
Compress or not depends on the content detection, file name extension, and compression ratio.
If the content is already compressed, need to know the content size.
2020-06-24 11:39:12 -07:00
Chris Lu
c21f4ebfee
Merge pull request #1371 from Kimbsen/content_md5_validation
...
Optional md5 validation of uploads
2020-06-24 11:33:44 -07:00
Kimbsen
4eeab2a379
remove unused imports
2020-06-24 13:37:00 +02:00
Kimbsen
ffddecebef
do md5 validation AFTER decompression
2020-06-24 13:35:13 +02:00
Chris Lu
fe60db404a
prepare for zstd
2020-06-23 09:12:02 -07:00
Kimbsen
6b1e93ba0b
check request header not part header for content-encoding
2020-06-23 17:04:24 +02:00
Kimbsen
38626cb584
don't forget the last few bytes
2020-06-23 16:53:49 +02:00
Kimbsen
8d1f6cd567
added optional md5 verification of uploaded data
2020-06-23 16:24:11 +02:00
Chris Lu
de5ca9b258
remove fixJpgOrientation
2020-06-20 12:50:40 -07:00
Chris Lu
3080c197e3
rename UnCompressData to DecompressData
2020-06-20 08:16:16 -07:00
Chris Lu
e912fd15e3
renaming
2020-06-19 22:45:27 -07:00
Chris Lu
16fe132a20
detect mime type before replicating to other volume servers
2020-06-19 22:11:36 -07:00
Chris Lu
ae1994cbc1
erasure coding: fix cases where there are no .ecj files
2020-06-18 09:52:35 -07:00
Chris Lu
7ccc31853c
hard limit volume file size
2020-06-16 00:27:48 -07:00
Chris Lu
bdbe5ddbe9
volume server: add a fix for dead lock
...
https://github.com/chrislusf/seaweedfs/issues/1353
2020-06-08 08:12:59 -07:00
Chris Lu
45a9d852d3
go fmt
2020-06-05 15:27:10 -07:00
Evgenii Kozlov
2410ffbd79
Name fix
2020-06-05 19:00:38 +03:00
Evgenii Kozlov
0e0db70f55
Set volumes ReadOnly if low free disk space
2020-06-05 18:18:15 +03:00
Chris Lu
ef2b3a0801
leveldb recover error handling
2020-05-26 00:03:44 -07:00
Chris Lu
e5a0787653
filer: leveldb store add auto recovery, report correct error
...
fix https://github.com/chrislusf/seaweedfs/issues/1326
2020-05-22 10:54:42 -07:00
Chris Lu
7ff2b0121d
specify constant data type to uint64 instead of default int
...
fix https://github.com/chrislusf/seaweedfs/issues/1324
2020-05-19 07:55:23 -07:00
Chris Lu
11b33c0760
fix compilation problem
2020-05-18 10:53:31 -07:00
zhangsong
b161baa3f0
fix volume vacuum test unit
2020-05-07 19:58:06 +08:00
zhangsong
3703c7e176
write request keep compatible with before
2020-05-06 21:35:32 +08:00
zhangsong
f9e8702bb4
use async write to persistent file to disk - part1
2020-05-04 17:39:44 +08:00
Chris Lu
6190fd665d
printout error
2020-04-27 12:41:31 -07:00
Chris Lu
bafa95045b
volume: deletion checks all disk locations
...
fix https://github.com/chrislusf/seaweedfs/issues/1283
2020-04-21 14:49:58 -07:00
Chris Lu
7764e0465c
refactoring
2020-04-12 21:00:55 -07:00
Chris Lu
e4af63a721
volume server: accept fsync=true in write requests
2020-04-11 21:39:16 -07:00
Chris Lu
c8ca234773
refactoring
2020-04-11 14:27:25 -07:00
Chris Lu
df9d538044
rename function
2020-04-11 14:19:44 -07:00
Chris Lu
9fa065f600
typo in logs
2020-04-09 23:43:09 -07:00
Chris Lu
e63a79ade8
better handle lock in case of exception
2020-03-24 18:41:25 -07:00
Chris Lu
3137777d83
volume: automatically detect max volume count
2020-03-22 16:21:42 -07:00
Chris Lu
cbfe31a9a8
idx file sync before compaction
2020-03-20 23:38:46 -07:00
Chris Lu
81797a059a
volume: sync volume file right before compaction
...
fix https://github.com/chrislusf/seaweedfs/issues/1237
2020-03-19 23:54:52 -07:00
Chris Lu
709f231e23
tiered storage: add s3 endpoint for private s3 implementation
...
fix https://github.com/chrislusf/seaweedfs/issues/1238
2020-03-19 21:13:56 -07:00
Chris Lu
b964bbab3d
fix compilation
2020-03-17 10:01:24 -07:00
Chris Lu
c3cb6fa1d7
volume: compaction can cause readonly volumes
...
address https://github.com/chrislusf/seaweedfs/issues/1233
2020-03-17 09:43:57 -07:00
Chris Lu
22400c6633
consistent gzip logic
...
local store gzip same as replicated writes
2020-03-15 04:15:40 -07:00
Chris Lu
560df51def
refactoring
2020-03-15 03:11:26 -07:00
Chris Lu
d439d83772
volume: follow compactionBytePerSecond
...
related to https://github.com/chrislusf/seaweedfs/issues/1108
2020-03-11 10:32:17 -07:00
Chris Lu
d3e1ef64b3
ensure error checking on windows
2020-03-10 13:33:26 -07:00
Chris Lu
88a110e67e
release file handle
2020-03-10 13:32:22 -07:00
Chris Lu
43e6261579
volume: fix memory leak
2020-03-10 13:31:23 -07:00
Chris Lu
0871d2cff0
volume: fix memory leak during compaction
...
fix https://github.com/chrislusf/seaweedfs/issues/1222
2020-03-09 22:29:02 -07:00
Chris Lu
89eb05b50f
filer: support TTL for all filer stores
2020-03-09 01:02:01 -07:00
Chris Lu
9b3109a5d8
filer: processing all response headers, no pass through to volume server
...
* filer calculate MD5 etag
* filer handle response headers, instread of pass it to volume servers
2020-03-08 15:42:44 -07:00
Chris Lu
1ae83c2938
go fmt
2020-03-07 06:12:57 -08:00
Chris Lu
ea1169dc80
filer cipher: single chunk http POST and PUT and read
2020-03-07 06:08:08 -08:00
Chris Lu
7335e62199
volume: PUT also conditionally gzip compress
2020-03-01 23:37:02 -08:00
Chris Lu
151114ff59
volume: fix readonly status reporting
2020-03-01 17:57:37 -08:00
Chris Lu
f87f2045b3
delete old file first on windows
...
fix https://github.com/chrislusf/seaweedfs/issues/1210
2020-02-27 00:59:35 -08:00
Chris Lu
757c7d67ad
avoid nil DataBackend
2020-02-27 00:07:25 -08:00
Chris Lu
430b5a49e2
unused code
2020-02-26 19:35:00 -08:00
Chris Lu
ed0acd1722
go fmt
2020-02-26 16:52:57 -08:00
Chris Lu
97ab8a1976
remove ctx if possible
2020-02-25 22:23:59 -08:00
Chris Lu
892e726eb9
avoid reusing context object
...
fix https://github.com/chrislusf/seaweedfs/issues/1182
2020-02-25 21:50:12 -08:00
panyc16
7b3764fd9e
make loadExistingVolume() return bool
2020-02-13 15:19:00 +08:00
Chris Lu
8d94564f41
refactor
2020-02-04 21:16:34 -08:00
Chris Lu
c1288e9eb4
volume: sdx generation uses memdb instead of compactMap
...
fix https://github.com/chrislusf/seaweedfs/issues/1194
2020-02-04 21:12:09 -08:00
Chris Lu
08e4702542
sync before closing index file
...
merge from 0181f87d91
2020-02-04 10:38:12 -08:00
Chris Lu
3a35632d58
sync before closing file
...
merge changes from 1747fc2d52
2020-02-04 10:37:14 -08:00
Chris Lu
40ae533fa3
shell: add volume.configure.replication to change replication for a volume
...
fix https://github.com/chrislusf/seaweedfs/issues/1192
2020-02-02 15:37:23 -08:00
Chris Lu
d335f04de6
support env variables to overwrite toml file
2020-01-29 09:09:55 -08:00
Chris Lu
72a64a5cf8
use the same context object in order to retry
2020-01-26 14:42:11 -08:00
Chris Lu
b6e6ca8595
adjust logs
2020-01-24 20:06:58 -08:00
Chris Lu
c8b2dac6c1
volume: avoid sharing volume dat file handle
...
possibly help on https://github.com/chrislusf/seaweedfs/issues/1184
2020-01-21 21:18:01 -08:00
Chris Lu
f8a20ef35e
add the old way to compact as a comment
2020-01-08 09:45:42 -08:00
Chris Lu
288baf37fd
saving .vif files correctly
2020-01-08 09:45:26 -08:00
Chris Lu
acf7ca7b93
volume: fix compaction
2020-01-08 09:45:03 -08:00
Chris Lu
943f4986ef
fix possible nil
2020-01-08 08:49:18 -08:00
Chris Lu
9995d3bcb5
remove println
2020-01-07 21:49:28 -08:00
Chris Lu
3eafec4b29
volume: add option to limit file size
2020-01-03 00:37:26 -08:00
Chris Lu
672868b460
always create .vif file
2019-12-28 21:52:06 -08:00
Chris Lu
b6f7033478
go fmt
2019-12-28 21:37:29 -08:00
Chris Lu
9134092a8d
endure creating .vif files
2019-12-28 21:36:15 -08:00
Chris Lu
0cc8347a3a
go fmt
2019-12-28 21:13:10 -08:00
Chris Lu
37b64a50b4
ec: generate and copy .vif file
2019-12-28 12:44:59 -08:00
Chris Lu
c06f7eb48a
load volume info from .vif file, use superblock as a backup
2019-12-28 12:28:58 -08:00
Chris Lu
f4a74e03d1
refactoring: separating .vif from tier file loading
2019-12-28 11:35:27 -08:00
Chris Lu
2000284435
rename volume tier info to volume info
2019-12-28 11:21:49 -08:00
Chris Lu
e8b357fd53
rename from .tier to .vif
2019-12-28 11:17:39 -08:00
Chris Lu
48d28d3eb2
tier: support remote file attributes and remember the file extension
2019-12-25 21:37:24 -08:00
Chris Lu
1346437d71
Merge pull request #1171 from stlpmo-jn/redundant_type_conversion
...
remove the redundant type conversion
2019-12-25 17:02:05 -08:00
Chris Lu
35393b4a02
cleanly destroy remote files
2019-12-25 16:17:58 -08:00
Chris Lu
eecad6062a
go fmt
2019-12-25 09:56:42 -08:00
Chris Lu
d960b3474a
tier storage: support downloading the remote dat files
2019-12-25 09:53:13 -08:00
stlpmo
f3de4b6c18
remove the redundant type conversion
2019-12-25 10:13:45 +08:00
Chris Lu
9ff72f616a
go fmt
2019-12-24 14:56:16 -08:00
Chris Lu
efd2f50ede
compaction changed to .idx based deletion
2019-12-24 14:55:50 -08:00
Chris Lu
d8b39fe92a
testing
2019-12-24 11:29:26 -08:00
Chris Lu
f42b5bd0f5
rename .sdb to .sdx
2019-12-24 10:19:12 -08:00
Chris Lu
abffe857a1
change btree map to in memory level db
2019-12-24 10:18:56 -08:00
Chris Lu
72a561ab7c
refactoring
2019-12-24 08:13:01 -08:00
Chris Lu
409a3fe41f
Merge pull request #1168 from stlpmo-jn/optimize_DeleteCollectionFromDiskLocation
...
decouple the volume.Destroy() from the operation of unmountVolume()
2019-12-24 07:08:04 -08:00
stlpmo
38e4b79125
decouple the volume.Destroy() from the operation of unmountVolume()
2019-12-24 17:20:34 +08:00
stlpmo
f300c35266
resolve issue : when the host disk full, the volume server will core dump
2019-12-24 16:36:15 +08:00
Chris Lu
a18f62bbe7
only copy required shards
2019-12-23 18:06:13 -08:00
Chris Lu
8a2d529759
go fmt
2019-12-23 12:48:53 -08:00
Chris Lu
09ca936c78
shell: add ec.decode command
2019-12-23 12:48:20 -08:00
Chris Lu
ab966d7192
refactoring variable name
2019-12-19 00:44:46 -08:00
Chris Lu
f61de28c69
volume: add deletion capability for previously readonly volumes
2019-12-19 00:42:46 -08:00
Chris Lu
deb03ecfa3
remove duplicated checking
...
already checked in store.go
2019-12-18 23:59:53 -08:00
Chris Lu
ef3ae3cd41
clean up sorted index file
2019-12-18 20:59:15 -08:00
Chris Lu
39810a9951
tiered volume is read only
2019-12-18 01:26:22 -08:00
Chris Lu
58f88e530c
volume: use sorted index map for readonly volumes
2019-12-18 01:21:21 -08:00
Chris Lu
356bd1b629
adjust text
2019-12-10 22:09:29 -08:00
Chris Lu
10bd3c6b4b
refactoring
2019-12-08 19:44:16 -08:00
Chris Lu
2b8e20f122
remove unused functions
2019-12-08 18:33:25 -08:00
Chris Lu
f38f90b7ea
cleanly remove .tier volume file
2019-12-06 22:19:47 -08:00
Chris Lu
6827cabfbb
volume: dataFileAccessLock change to RW Lock
2019-12-06 06:59:57 -08:00
Chris Lu
e426bd541e
grow volumes on volume servers with slots freed by cloud storage
2019-12-03 21:36:42 -08:00
Chris Lu
7ae8b1cc86
show volume info in volume.list in weed shell
2019-12-02 23:38:56 -08:00
Chris Lu
1becbce657
display remote volumes on volume server ui page
2019-12-02 23:23:54 -08:00
Chris Lu
70648d35ad
go fmt
2019-12-02 20:49:58 -08:00
Chris Lu
6383b45bd0
add lock variable
2019-12-02 20:49:50 -08:00
Chris Lu
caae543a9f
fix test
2019-12-02 15:54:24 -08:00
Chris Lu
ec8de250e2
tiered storage: can copy to s3, read from s3
...
master not aware tiered volume yet, file assigning is not working yet
2019-12-02 15:08:31 -08:00
Chris Lu
0da7b894cc
pass backend config from master to volume servers
2019-11-29 01:05:09 -08:00
Chris Lu
61bc1d6ffd
tweaking
2019-11-28 18:47:51 -08:00
Chris Lu
f60154f330
master load backend storage config from master.toml
2019-11-28 18:33:18 -08:00
Chris Lu
ee2072dff9
volume: avoid inifinite loop reading ec volume info if error happens
2019-11-27 23:07:53 -08:00
Chris Lu
0f9ba84274
s3
2019-11-27 03:09:45 -08:00
Chris Lu
e4c63ff2f8
go fmt
2019-11-22 14:51:09 -08:00
Chris Lu
9711a6ffaa
WIP
2019-11-18 19:24:37 -08:00
chenwanli
295f3beed5
rm ldb and bdb directory
2019-11-19 09:35:06 +08:00
Chris Lu
c6e8225a20
adjust memory mapped file size
...
related to https://github.com/chrislusf/seaweedfs/pull/1087
2019-11-12 21:05:48 -08:00
Lei Liu
46755ea1e1
fix master maintenance logic
...
Signed-off-by: Lei Liu <lei01.liu@horizon.ai>
2019-11-12 14:46:10 +08:00
Chris Lu
85f8649320
refactor memory mapped file into backend storage
2019-11-09 00:10:59 -08:00
Chris Lu
c5c1d83d91
Merge branch 'master' into refactoring_dat_backend
2019-11-08 22:54:41 -08:00
Chris Lu
c34ffed43f
go fmt
2019-11-08 22:47:50 -08:00
Chris Lu
84c503c6a7
adjust ec reading log level
2019-11-08 22:41:02 -08:00
zhangsong
1dd101f782
use read lock to avoid io hang during heartbeat
2019-11-08 20:27:55 +08:00
Chris Lu
db30a46050
skip memory mapped file when compacting
2019-10-29 23:34:38 -07:00
Chris Lu
5b950c735e
Merge branch 'master' into refactoring_dat_backend
2019-10-29 23:18:41 -07:00
Chris Lu
57e441d67b
fix compaction logic
2019-10-29 23:18:01 -07:00
Chris Lu
b7156291a8
adjust variable names
2019-10-29 23:16:43 -07:00
Chris Lu
4b5ba4927f
adjust NewDiskFile() paramaters
2019-10-29 22:37:36 -07:00
Chris Lu
cd7ce720c7
fix test
2019-10-29 00:37:15 -07:00
Chris Lu
19b6a16003
changed from os.file to backend.DataStorageBackend
2019-10-29 00:35:16 -07:00
Chris Lu
7a51a9a582
refactor: simplifying to ReadAt() and WriteAt()
2019-10-25 00:11:25 -07:00
Chris Lu
46ed2ca902
refactoring
2019-10-24 23:41:32 -07:00
Chris Lu
f937933b3d
refactoring
2019-10-23 22:25:53 -07:00
Chris Lu
3c865ee39b
fix missing needle header read
2019-10-22 00:57:47 -07:00
Chris Lu
fc412e428b
refactor ScanVolumeFileFrom()
2019-10-22 00:50:30 -07:00
Chris Lu
c9a183eb69
refactor memory map related code
2019-10-22 00:49:42 -07:00
Chris Lu
fec07c829d
go fmt
2019-10-21 23:03:48 -07:00
Chris Lu
faec9076a4
adjust parameter names
2019-10-21 22:57:01 -07:00
j.laycock
2e2fe00dbd
Comma, no space?
2019-10-18 11:31:25 +01:00
j.laycock
248f3be6e3
using a space instead of a comma to hopefully fix the build!
2019-10-18 11:23:02 +01:00
j.laycock
2c455841ea
Make volumeCreate more consistent between all 3 implementations.
2019-10-18 11:01:45 +01:00
j.laycock
b0ddad6889
Fix volume_create breaking the build
2019-10-18 10:32:07 +01:00
joeslay
d53aee179b
Merge pull request #10 from chrislusf/master
...
merge seaweed master
2019-10-14 16:03:40 +01:00
Chris Lu
87e5a02a99
fix logic error
2019-10-09 00:07:18 -07:00
Chris Lu
09874f0d16
volume: return error if superblock is not initialized
...
fix https://github.com/chrislusf/seaweedfs/issues/1079
2019-10-09 00:02:50 -07:00
j.laycock
eb27c2b037
Make releaseMemory private and return byte array instead, fix other platform compilation issues, reduce in-memory chunk size.
2019-10-01 12:21:44 +01:00
j.laycock
d5f5acb734
limit locking physical memory to 80% of max physical memory
2019-09-20 12:44:29 +01:00
j.laycock
476140fd6b
minor change to setProcessWorkingSetSize function
2019-09-19 11:59:00 +01:00
j.laycock
6fc6322c90
Change joeslay paths to chrislusf paths
2019-09-12 14:18:21 +01:00
joeslay
d8c34b032f
Merge pull request #6 from chrislusf/master
...
merge seaweed master
2019-09-12 11:44:09 +01:00
Chris Lu
5e9c65469e
volume: skip readonly checking when Destroy()
...
fix https://github.com/chrislusf/seaweedfs/issues/1063
2019-09-11 09:45:09 -07:00
j.laycock
c1a928887a
Add some comments/documentation
2019-09-11 10:42:37 +01:00
joeslay
9ea9a5e97a
Merge pull request #5 from chrislusf/master
...
merge seaweed master
2019-09-11 10:25:27 +01:00
j.laycock
15a4c91c28
Remove Finalizer
2019-09-10 17:05:54 +01:00
j.laycock
9c9dff7386
Virtual lock memory pages and Set Process Working set size to hint to windows harder not to write pages to disk as much, add finalize function, minor renaming
2019-09-10 16:18:51 +01:00
Chris Lu
02710f9624
refactoring: remove unused functions
2019-09-09 10:03:41 -07:00
Chris Lu
0f861d23a2
avoid nil needle map
...
fix https://github.com/chrislusf/seaweedfs/issues/1061
2019-09-09 09:48:08 -07:00
j.laycock
63acc8c972
rename mem_buffer to mBuffer
2019-09-05 13:46:29 +01:00
j.laycock
44ae041e80
rename more memorymapped variables to memoryMapMaxSizeMB
2019-09-05 13:42:23 +01:00
j.laycock
5885ab67b3
rename volume property MemoryMap to MemoryMapMaxSizeMB
2019-09-05 11:56:48 +01:00
j.laycock
5a6dfb05fc
Only use truncate flag when creating non memory map files, rename and use memory map size for reserving max file size
2019-09-05 11:46:12 +01:00
j.laycock
f6146d6ad2
use 0 instead of false for max memory flag
2019-09-05 11:43:18 +01:00
j.laycock
4257582db5
Allocate in 16MB chunks, make creation of memory maps always aligned to 16MB chunks
2019-09-05 11:15:01 +01:00
Tom Maxwell
4a878c0006
Changed the InMemory bool to a uint32 so that it can be used to alter how much space to reserve
2019-09-04 15:27:14 +01:00
j.laycock
cc756ddd79
Rename End_of_file variable, implement platform indepenent memory_map.go
2019-09-04 14:24:17 +01:00
j.laycock
de5a7e60a2
remove temp hack
2019-09-03 18:20:09 +01:00
j.laycock
cbd0a98fa1
Add InMemory to Volume Grow structure
2019-09-03 18:19:02 +01:00
j.laycock
1f01eb78e8
Rename mem_map to mMap, remove some in_memory variables being passed around, added MemoryMapped member to volume struct
2019-09-03 17:00:59 +01:00
Tom Maxwell
d637d86d22
Changes to try and pass the URL parameters through - in memory flag not working still
2019-09-03 15:41:28 +01:00
j.laycock
9a459d984b
Do not vacuum memory mapped files
2019-09-03 15:05:43 +01:00
j.laycock
0123c7a898
Change to max 2GB for now
2019-09-02 17:46:22 +01:00
joeslay
e91139348e
Merge pull request #2 from chrislusf/master
...
merge seaweed master
2019-09-02 11:39:40 +01:00
j.laycock
595a1beff0
Swap imports to use joeslay
2019-09-02 11:28:40 +01:00
j.laycock
1e62a2b233
Fix memory not being unmapped
2019-08-30 16:55:33 +01:00
j.laycock
840ccdc35d
Refactor to pass memory maps by reference instead of value, fix memory maps not being created properly or written to properly
2019-08-30 12:30:00 +01:00
j.laycock
dc50701e7d
Overload createFile function, expose File in memory_map struct, delete from memory_map map on delete
2019-08-30 12:30:00 +01:00
j.laycock
523f3a12b3
use Os.File/uintptr instead of windows.Handle in memory map struct
2019-08-30 12:30:00 +01:00
j.laycock
0e5d3b1a70
Move memory_map_windows to new folder, intercept most of the read and write calls to volume dat files
2019-08-30 12:30:00 +01:00
Chris Lu
58168a8c52
volume: truncate dat files when creating
2019-08-26 13:01:57 -07:00