-
Notifications
You must be signed in to change notification settings - Fork 255
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
deprecation warnings #42
Comments
Um, actually these are not just warnings, the list objects code doesn't work anymore on luminous (it returns rados: Operation not supported). These have to be replaced by the new versions that include the namespace. |
Thank you for reporting this. I knew something like this would come along eventually. I guess we'll need to think about how to handle this general Go+C compat issue now. My initial thought is to just now cut releases of Go and match them up with the span of Ceph versions that is compatible. I'm open to suggestions. Another option would be to have the Go code introspect the librados version and adapt dynamically, but I'm not sure what limitations that has since presumably Go would have to link against the symbols even if they aren't being used in a newer version. |
Cutting the go versions seems reasonable. I personally have had bad experiences trying to do dynamic adaption with cgo stuff because all the C symbols are in the same namespace so you cannot actually build and link against multiple versions of librados. Detecting at build time and only linking against one is no more useful than just using the correct go branch and is significantly more complex and error prone. |
Thanks for the input. Also I misread your second comment above. It seems like you are saying that the methods are not just deprecated, they're not working either? :/ |
Yes, as of luminous those methods have been removed in librados. They just return not supported :( |
This is still affecting me BTW |
The The These issues appear to have been addressed by hangzws#2 (albeit jewel support effectively dropped). |
Is the code in @hangzws's fork going to be merged back here? Given that this is completely broken for luminous now, I am going to PR the |
my ceph version is 12.2.2, I use the lastest go-ceph to operator ceph, i get the follow deprecation warning: please re-check the lastest go-ceph work wall.Thx my librados version is 12.2.2 |
@cloudislife that warning is harmless, it works well. It is quite difficult to fix that without losing jewel support. |
@immesys thanks for your replay! Yes,it is, it's harmless and work well! |
Hello everyone, this problem can't compile ceph_exporter, how should I solve it? |
@lnsyyj Met the same issue, have you solved? |
I have not solved it, no, but the warning does not cause any problems. You can ignore it |
I'm speculating a bit here as I haven't tried any local experimentation yet, but it might make sense to move deprecated (or new) functions into files using go build constraints and provide tags to the build based on the ceph release codename (for example). |
This is something worth investigating. It's been a while but I remember there being some complications because the code in question is in C |
When I compile go-ceph I get:
My librados is from luminous
The text was updated successfully, but these errors were encountered: