{"action":"closed","issue":{"url":"https://api.github.com/repos/minio/minio/issues/6256","repository_url":"https://api.github.com/repos/minio/minio","labels_url":"https://api.github.com/repos/minio/minio/issues/6256/labels{/name}","comments_url":"https://api.github.com/repos/minio/minio/issues/6256/comments","events_url":"https://api.github.com/repos/minio/minio/issues/6256/events","html_url":"https://github.com/minio/minio/issues/6256","id":348273286,"node_id":"MDU6SXNzdWUzNDgyNzMyODY=","number":6256,"title":"EOF on fs.json when listing objects","user":{"login":"byaminov","id":1422793,"node_id":"MDQ6VXNlcjE0MjI3OTM=","avatar_url":"https://avatars0.githubusercontent.com/u/1422793?v=4","gravatar_id":"","url":"https://api.github.com/users/byaminov","html_url":"https://github.com/byaminov","followers_url":"https://api.github.com/users/byaminov/followers","following_url":"https://api.github.com/users/byaminov/following{/other_user}","gists_url":"https://api.github.com/users/byaminov/gists{/gist_id}","starred_url":"https://api.github.com/users/byaminov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/byaminov/subscriptions","organizations_url":"https://api.github.com/users/byaminov/orgs","repos_url":"https://api.github.com/users/byaminov/repos","events_url":"https://api.github.com/users/byaminov/events{/privacy}","received_events_url":"https://api.github.com/users/byaminov/received_events","type":"User","site_admin":false},"labels":[{"id":399254082,"node_id":"MDU6TGFiZWwzOTkyNTQwODI=","url":"https://api.github.com/repos/minio/minio/labels/community","name":"community","color":"006b75","default":false},{"id":574010253,"node_id":"MDU6TGFiZWw1NzQwMTAyNTM=","url":"https://api.github.com/repos/minio/minio/labels/priority:%20medium","name":"priority: medium","color":"fbca04","default":false},{"id":643968487,"node_id":"MDU6TGFiZWw2NDM5Njg0ODc=","url":"https://api.github.com/repos/minio/minio/labels/triage","name":"triage","color":"5319e7","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/minio/minio/milestones/15","html_url":"https://github.com/minio/minio/milestone/15","labels_url":"https://api.github.com/repos/minio/minio/milestones/15/labels","id":2426553,"node_id":"MDk6TWlsZXN0b25lMjQyNjU1Mw==","number":15,"title":"Next Release","description":" Rolling releases","creator":{"login":"deekoder","id":1700901,"node_id":"MDQ6VXNlcjE3MDA5MDE=","avatar_url":"https://avatars1.githubusercontent.com/u/1700901?v=4","gravatar_id":"","url":"https://api.github.com/users/deekoder","html_url":"https://github.com/deekoder","followers_url":"https://api.github.com/users/deekoder/followers","following_url":"https://api.github.com/users/deekoder/following{/other_user}","gists_url":"https://api.github.com/users/deekoder/gists{/gist_id}","starred_url":"https://api.github.com/users/deekoder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deekoder/subscriptions","organizations_url":"https://api.github.com/users/deekoder/orgs","repos_url":"https://api.github.com/users/deekoder/repos","events_url":"https://api.github.com/users/deekoder/events{/privacy}","received_events_url":"https://api.github.com/users/deekoder/received_events","type":"User","site_admin":false},"open_issues":71,"closed_issues":654,"state":"open","created_at":"2017-04-01T00:36:55Z","updated_at":"2018-08-24T06:04:26Z","due_on":"2018-08-31T07:00:00Z","closed_at":null},"comments":3,"created_at":"2018-08-07T11:05:54Z","updated_at":"2018-08-24T06:04:25Z","closed_at":"2018-08-24T06:04:25Z","author_association":"NONE","body":"I somehow occasionally get corrupted `fs.json` file in our environment: it has 0 bytes size. As a result the listing of files in that directory fails, including recursive listing from parent directory.\r\n\r\n## Expected Behavior\r\n* Metadata files (`fs.json`) should not get corrupted\r\n* If they do it should not prevent a file from being read, although without proper metadata.\r\n* If they do it should not prevent a directory from being listed, although without proper metadata for that corrupted file.\r\n* If they do then the log file should say which file is corrupted.\r\n\r\n## Current Behavior\r\nWhen doing a (recursive) listing of a directory containing the file there are 0 results returned and following error printed on the Minio server logs:\r\n```\r\nAPI: ListObjectsV2(bucket=some-bucket)\r\n  | Time: 07:57:42 UTC 08/07/2018\r\n  | RemoteHost: 10.128.4.7\r\n  | UserAgent: Minio (x86_64; x86_64) minio-java/dev\r\n  | Error: EOF\r\n  | 1: cmd/fs-v1-metadata.go:252:cmd.(*fsMetaV1).ReadFrom()\r\n  | 2: cmd/fs-v1.go:673:cmd.(*FSObjects).getObjectInfo()\r\n  | 3: cmd/fs-v1.go:1111:cmd.(*FSObjects).ListObjects.func1()\r\n  | 4: cmd/fs-v1.go:1155:cmd.(*FSObjects).ListObjects()\r\n  | 5: cmd/fs-v1.go:1248:cmd.(*FSObjects).ListObjectsV2()\r\n  | 6: cmd/bucket-handlers-listobjects.go:89:cmd.(ObjectLayer).ListObjectsV2-fm()\r\n  | 7: cmd/bucket-handlers-listobjects.go:96:cmd.objectAPIHandlers.ListObjectsV2Handler()\r\n  | 8: cmd/api-router.go:99:cmd.(objectAPIHandlers).ListObjectsV2Handler-fm()\r\n  | 9: net/http/server.go:1947:http.HandlerFunc.ServeHTTP()\r\n```\r\n\r\nFor me it happens occasionally and can be fixed manually: by tracking down under which path the corrupt file appears, and then removing the corrupt `fs.json` file. It happens once per week on average, but I don't know what is the cause.\r\n\r\n## Context\r\nI'm running Minio in Kubernetes (OpenShift), and the `/data` folder is a mounted NFS share.\r\n\r\nFirst I tried running Minio as a server: `server /data` and had these issues. Then I tried running it as a gateway: `gateway nas /data`, but getting the same problems now.\r\n\r\nDoes maybe Minio not support such a configuration: having filesystem as a mounted NFS share? Obviously NFS is not as reliable as normal disk. I was hoping that when running as a gateway it would not create own system files like `fs.json` and would be more reliable, but it still does. And somehow these metadata files tend to get corrupted from time to time.\r\n\r\n## My Environment\r\n* Version used (`minio version`): `RELEASE.2018-07-13T00-09-07Z`\r\n* Running in standalone, `gateway nas` mode\r\n* Environment name and version:\r\n  * OpenShift v3.7.46\r\n  * Kubernetes v1.7.6\r\n  * NFS 4\r\n* NFS server is running on the same network, same data center. Normally network is fast, here's for example time to read a 15 Mb file from Minio container:\r\n```\r\n30076+1 records in\r\n30076+1 records out\r\nreal\t0m 0.04s\r\nuser\t0m 0.00s\r\nsys\t0m 0.03s\r\n```"}}
{"actor":{"display_login":"nitisht"}}