Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

File entry not found after upgrade from 0.76 to 0.96 #738

Closed
ingardm opened this issue Sep 26, 2018 · 1 comment
Closed

File entry not found after upgrade from 0.76 to 0.96 #738

ingardm opened this issue Sep 26, 2018 · 1 comment

Comments

@ingardm
Copy link
Contributor

ingardm commented Sep 26, 2018

Sponsors SeaweedFS via Patreon https://www.patreon.com/seaweedfs

Describe the bug
0.93/0.96 cannot read fids correctly from volume generated with 0.76.
The error in the log is :
Sep 26 11:29:23 photol-100 weed[15233]: I0926 11:29:23 15233 volume_server_handlers_read.go:71] read /4638,211a887682ff9603.jpg error: File Entry Not Found. Needle id 5019211479100701688 expected size 1305347509 Memory 497726

We've changed from boltdb to leveldb and ran manual garbage collection after upgrading to 0.93. When we noticed the problem we tried to upgrade to 0.96, but it did not solve the problem.

Copying idx/dat/bdb/ldb files to a testsystem running 0.76 results in file being read correctly.

System Setup
single master, 4 volume servers
/usr/local/bin/weed -logtostderr master -mdir=/mnt/data01/meta -ip=10.1.21.10 -defaultReplication=010 -volumePreallocate -volumeSizeLimitMB 30000 -pulseSeconds 10 -peers=
/usr/local/bin/weed -logtostderr -v=1 volume -port=8080 -mserver=10.1.21.10:9333 -dir=/mnt/data01/data -index leveldb -max 3666 -ip 10.1.21.10 -rack photol-100

Expected behavior
A fid should return the file content

Screenshots

Additional context
The 404 graphs match when we did the manual garbage collection so that is probably when the dat files got rewritten with a format that doesnt work for 0.93+

@ingardm
Copy link
Contributor Author

ingardm commented Sep 26, 2018

I copied dat,idx,ldb,bdb files to a testserver running 0.76. This server was running with bdb indexing.
I restarted the volume server to make it pick up the copied in volume and the needle was found and displayed correctly. Which means 0.76/bdb confirmed to work. After that i upgraded to 0.96. And it still works. Then I changed to leveldb and confirmed it stopped working. I changed it back to boltdb and confirmed it started working again. :|

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant