No error on /ipfs/<CID> when <CID> does not exist

If I do a file operation on a CID that does not exist, e.g.

cat /ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo3ewr

this will simply hang forever. Is this intended behavior? I just had the case where I was trying o read files from a directory and one of the files didn’t exist any more, so the pipeline just hung forever. Is this intended behavior? I wouldn’t expect having to handle timeouts for filesystem reads and a ETIMEDOUT error to be thrown.

ipfs also throws other errors as expected, e.g.

$ cat /ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco

cat: /ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco: Is a directory