-
Notifications
You must be signed in to change notification settings - Fork 304
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
HPCC-31054 Improve error message when file copy runs out of disk space #18174
Conversation
Signed-off-by: Gavin Halliday <[email protected]>
https://track.hpccsystems.com/browse/HPCC-31054 |
@@ -3264,7 +3264,8 @@ void doCopyFile(IFile * target, IFile * source, size32_t buffersize, ICopyFilePr | |||
// try to delete partial copy | |||
StringBuffer s; | |||
s.append("copyFile target=").append(dest->queryFilename()).append(" source=").append(source->queryFilename()).appendf("; read/write failure (%d): ",e->errorCode()); | |||
exc.setown(MakeStringException(e->errorCode(), "%s", s.str())); | |||
e->errorMessage(s); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this call strerror(e->errorCode()) ? (class ErrnoException)
If so then yes this looks fine.
Or do you want makeErrnoException() instead of makeStringException() ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is probably right. In this case e will be a IOSException or an IErrnoException. (I think they are only different for windows - the first for operating system errors, the second for errors from the c library first...!)
When e->errorMessage() is called it will call strerror() - so the message will include the description. I think it cannot call makeErrnoException() because it may not be an errno.
There is similar code in copyFileSection() ~995 which adds the error message and creates an OsException - which I think will lead to the message being duplicated, but I didn't fix since it would be benign.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, then looks fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one question.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved
Type of change:
Checklist:
Smoketest:
Testing: