ipfs / kubo

An IPFS implementation in Go
https://docs.ipfs.tech/how-to/command-line-quick-start/
Other
16k stars 3k forks source link

ipfs add on azure filestore results in interrupted system call #7720

Open lizelive opened 3 years ago

lizelive commented 3 years ago

Version information:

go-ipfs version: 0.7.0 Repo version: 10 System version: amd64/linux Golang version: go1.14.4

Description:

  1. do fresh install of ipfs on azure linux vm
  2. mount filesystem
  3. test filesystem works by copying a few files
  4. try to ipfs add files ipfs add -r -Q -p /mnt/dataset/
  5. works briefly and then fails with Error: read /mnt/dataset/sample.jpg: interrupted system call

I mounted some more drives and am copying the files and that seems to be working but I am wondering what i am doing well. I would prefer in the future not to need to do that as these are pretty big datasets and the extra copy stage takes several hours.

welcome[bot] commented 3 years ago

Thank you for submitting your first issue to this repository! A maintainer will be here shortly to triage and review. In the meantime, please double-check that you have provided all the necessary information to make this process easy! Any information that can help save additional round trips is useful! We currently aim to give initial feedback within two business days. If this does not happen, feel free to leave a comment. Please keep an eye on how this issue will be labeled, as labels give an overview of priorities, assignments and additional actions requested by the maintainers:

Finally, remember to use https://discuss.ipfs.io if you just need general support.

aschmahmann commented 3 years ago

Do you have any way for folks to reproduce this issue? Is it unique to Azure, or happening in other environments as well?

It looks like the issue is reading the file from the filesystem, not related to go-ipfs itself or its internal datastore, but if there's reproducible this is much easier to investigate.

lizelive commented 3 years ago

It's easily reproduced on azure. I can give you some credentials to a file store if that would help.

On Fri, Nov 6, 2020, 10:42 AM Adin Schmahmann notifications@github.com wrote:

Do you have any way for folks to reproduce this issue? Is it unique to Azure, or happening in other environments as well?

It looks like the issue is reading the file from the filesystem, not related to go-ipfs itself or its internal datastore, but if there's reproducible this is much easier to investigate.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ipfs/go-ipfs/issues/7720#issuecomment-723238697, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJS2V4ZSHJKC27NP5WFJ7GTSOQ7RFANCNFSM4SJMOXKQ .

axelgMS commented 3 years ago

might be related to http://unixetc.co.uk/2020/04/06/interrupted-system-call-with-cifs-mount-on-kernel-5-3-0/

edperry commented 3 years ago

Yes I am coming up with this problem too

My way to create this is deploy IPFS as docker and use AZURE file store to add space to the /

2021-05-05T17:24:09.044Z    ERROR   engine  blockstore.GetSize(QmcXW7gydQwur59SEt6jY4Dxo5qqCVM1RKmwofpvQnowh8) error: stat /data/ipfs/blocks/BZ/AFYBEIGSZNFA6E5LBBYGIVIO2P3EYCNB7OET6RZ5TOGPQPJHBL7RRTFBZ4.data: interrupted system call
2021-05-05T17:24:12.321Z    ERROR   engine  blockstore.GetSize(QmRR22joqkyQAgVaEHaLS5LdPxL8DBoTdPQ3Z4pRUPnep2) error: stat /data/ipfs/blocks/XU/AFYBEIBNWF67KUIOMQLEE4WJZNDH4WSMGYXASXZJCZIZEVYZXUOMGHFXUM.data: interrupted system call
2021-05-05T17:24:14.286Z    ERROR   engine  blockstore.GetSize(QmZRzRzZUTxPjNkuAPGv91eSG7uPhy3huiAtEYBit8rmRX) error: stat /data/ipfs/blocks/R6/AFYBEIFEZ3BJWCI4FY3O2YBDTYRK35FYWWCSJP2AAVJBY46LBMCJNSRR6Y.data: interrupted system call
2021-05-05T17:24:15.749Z    ERROR   engine  blockstore.GetSize(bafk2bzacea3u6gnvmj7sspyuuozxg3j5w6kcv4izdgl6terydob2nieo5dxng) error: stat /data/ipfs/blocks/XN/AFK2BZACEA3U6GNVMJ7SSPYUUOZXG3J5W6KCV4IZDGL6TERYDOB2NIEO5DXNG.data: interrupted system call
apiVersion: '2019-12-01'
type: Microsoft.ContainerInstance/containerGroups
location: westus
name: ipfs
properties:
  containers:
  - name: ipfs-node1
    properties:
      environmentVariables: []
      image: ipfs/go-ipfs
      ports:
      - port: 4001
      - port: 5001
      - port: 8080
      resources:
        requests:
          cpu: 1.0
          memoryInGB: 2
      volumeMounts:
      - mountPath: /data/ipfs
        name: dataipfs
      - mountPath: /export
        name: exportipfs
  osType: Linux
  restartPolicy: Always
  ipAddress:
    type: Public
    ports:
      - port: 4001
      - port: 5001
      - port: 8080
    dnsNameLabel: ipfsn1
  volumes:
  - name: dataipfs
    azureFile:
      sharename: sndatan1
      storageAccountName: sanipfsnode1
      storageAccountKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  - name: exportipfs
    azureFile:
      sharename: sndatan1
      storageAccountName: sanipfsnode1
      storageAccountKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
tags: {}