-
Notifications
You must be signed in to change notification settings - Fork 107
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
Standardization of DBSServer error code/message #10962
Comments
Here is placeholder for work in dbs2go: dmwm/dbs2go#1 |
The new DBS error code structure is deployed to testbed and all DBS unit/integration tests are passed. The changes are fully compatible with existing DBS server errors, i.e. I preserved |
I'm not sure what else should be done here since new DBS error structures and codes are in place on production servers. The documentation about new DBS error codes are in place too and can be found here. It provides concrete example of error structure when error is issued. I don't think anything specifically needs to be done here and we can safely close this issue and marked as resolved. If there are specific suggestions to improve the error structures and code they should be put explicitly in this ticket. |
Haven't we standardized these errors in DBS such that clients no longer need to parse generic error codes to see what the error reason was? If that's the case, then I think we now need to update the WMCore DBS-related code, whenever it parses errors from DBS, such that we only check the error code. BTW, your previous message points to an example that has inconsistent information, this:
the |
Alan, I'm not sure what do you mean by saying "Haven't we standardized these errors in DBS". I made error codes, I added appropriate structures, etc. If this is what you mean by standardized procedure, the answer is yes. If you need to parse DBS error you'll follow provided documentation. I made changes such that they are backward compatible with python code implementation. Finally, I already explained to you that new DBS error provided nested errors and example which you refer is correct. I think I already provided you explanation in different ticket. But here it is again:
So, the actual error has code 114, which happened in function SO, as a client you can easily understand what and how the error happens. |
Valentin, what I had understood is that we would be able to replace a code like this: by something similar to
without actually parsing the error message as a string search. If I'm reading the DBSClient code correctly, here: should be passing back to the client the |
Yes, you now have a possibility to avoid parsing HTTP messages and only rely on error codes which are defined in new DBS server. Regarding DBSClient codebase. It has so many (in my view unnecessary) wrappers around provided error that it will require a separation discussion. But since new DBS server provides standardize error we can converge and clean-up DBSClient code to return it to upstream caller. |
Alan, I don't know how you'd like to proceed with this issue. But here is my proposal:
|
There is no review requested through GH, hence it does not show up when I filter for pending reviews. |
Given that we need to synchronize the proposed changes with builds made against cmsdist (dependency on the T0 team), I am moving this issue to the "Waiting" column. UPDATE: actually it wasn't planned for Q4... I just added it to the Q4/2022 project board. |
Impact of the new feature
WMCore (and possibly other DMWM projects)
Is your feature request related to a problem? Please describe.
This issue still needs further discussion, and it all started from this comment and a couple comments below it:
#10961 (review)
in short, we are considering to standardize the response sent back from the DBSServer, such that our clients no longer need to match for a specific message in the HTTP response object (body attribute). Instead, we would only check for the response code status and that would fully identify which error our request hit.
Describe the solution you'd like
It's a placeholder and the final solution needs to be yet discussed and agreed upon.
In short, a full list of error status code and message should be defined in DBSServer, such that when clients are verifying why a DBS HTTP request fail, we can solely use a
code
orstatus
response attribute to identify that. In addition to DBSServer, we also expect this to be integrated within dbs3-client/dbs3-pycurl.With that, we need to update DBS error handling within WMCore (and other projects), including but not limited to DBS3Reader/DBS3Writer, DBS3Upload component and possible the MicroService Common module.
Describe alternatives you've considered
Keep the usual schema, which searches for a given sentence in the error message.
Additional context
None
The text was updated successfully, but these errors were encountered: