-
Notifications
You must be signed in to change notification settings - Fork 8k
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
Is it necessary to do strong check on fastjson? #736
Comments
Yes, it's really necessary as the deserialization problem of old fastjson versions often makes users confusing. Maybe we can add checking logic in relevant command handler and carry the error info in the command response, so that dashboard can get the error status. Any suggestions? |
The issue doesn't only occur during operations in What do you think about? And more i lock the minor version by tests |
That's okay, but just warn in the log might not be enough. We may also need to modify the rule command handlers in transport module to carry the error info in the command response. PS: |
Maybe it's still not enough. |
Indeed And as we know the effected functions are listed below: Which are pointed out in red. Considering there maybe other problems not mentioned we can choose:
More i should point out is the bug will effects the deserializing of all the class having one or more parents. That means there will be some problems hiding except we consist on What's your opinion? |
Any further opinion? Like the flow shown in last post i still think the check should be done in sentinel-core when initializing. Certainly we can also change the beans which need serializing and deserializing into If you have difference or better suggestions please let me know. |
i think you need @sczyh30 ‘s reply,not me。 |
Sorry for the late reply. In fact, transport and extension modules are optional (where the deserialization will occur), so I don't think it's appropriate to check for fastjson in And as we've discussed in another PR, maybe we could deprecate the |
Indeed it can be degraded to a warning indicating the bad fastjson. And i think it can be move to process of initializing of datasource rather than transport if we don't do it in core module because datasource module is more necessary than it. Using transport but without datasource maybe rarely seen. What about with it? |
Certainly why it can be degraded into warning one important reason is that we may implement kind of SPI interface on logging so something like SCA will merge the log into the main application log. By this users could find the warning or error log obviously. |
Issue Description
Rules' deserialization will be interrupted with old version of fastjson due to the bug on inherited bean classes.
Should we add some kinds of force check on it?
The text was updated successfully, but these errors were encountered: