-
Notifications
You must be signed in to change notification settings - Fork 44
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
[BUG] Usinglog_metric()
with numpy types or other invalid values crashes Redis 😰
#127
Comments
Does this PR #130 fix this issue as well @pippinlee ? |
Don't believe the colon issue was the same root cause, but @nicknagi correct me if I'm wrong. |
Sounds good! Did you have an expected timeline for this? |
Tested out I was able to successfully log without error. This may have been thanks to Nick’s fix. I'll add a test to prove np.float64 support. I think we should be clearer with what types we do allow logging for though. Here’s a list of values to help us understand current state WRT numpy: Valid Invalid Note: all of the above invalid values gracefully fail with an error like the following: Ongoing questions:
|
Initial thoughts:
I think the error message is helpful as is. The last message clearly specifies it all.
The intention behind log metric is to support recording metrics such as precision, recall, loss, Area Under Curve, f1-score et.al. NOT to support the outputs of a task e.g. the output of a BERT model, or the output of a generative NLP model - as such it seems weird to me that we support strings and a list of strings / numbers. On the contrary I can see - why someone would wish to view the output on the GUI. There are two routes to go from here:
Can anyone recall why we decided to support strings? |
My vote is to strip support for strings / lists and use log_metrics for what it is meant to be used for |
The decision of whether to change the behaviour of this feature (e.g. modify the types supported by |
Works for me. Going to submit a PR to cover us for |
I think this issue also came up when Damien and others in the DS team were exploring Atlas. I suspect their use case is a valid concern for us. We should understand better what it is before we mark this as closed. |
… with log_metric(), this test case ensures that is no longer the case #127
@cindyzczhao and I were able to reproduce this error on 0.1.1 using the following code snippet
It broke the GUI and we had to flush redis to get things back up. |
Thanks for the heads up. Have confirmed this is because we need to do a new release––using current release 0.1.1 still has log_metric bug. Latest master works without error with logging |
Hey @pippinlee okay to close this issue as this is fixed? |
We have faced this issue before, but for some reason it was ignored. Recently it was resurfaced by https://github.com/SebastianGergen again in the Slack community channels.
Doing
log_metric()
with anything other than ints or floats essentially break the entire system and requires you to re-install Atlas because Atlas goes into a non-recoverable state.This happens because our Flask API is expecting a certain contract with Redis which is not being met.
We should fail more gracefully, or support numpy types.
Related: #96
Other details
This was his message:
The text was updated successfully, but these errors were encountered: