-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Commands have Output fields that are nullable and mutable. #45
Comments
Hi @taer, You're right, currently only the debug commands have null outputs for not waiting on any response after firing the command. Guess, this can be improved. |
@mp911de What are your thoughts about adding jsr305?
It would be a compile time dep, since I'd annotate methods with the Nonnull annotation, which means non-shaded downstream users would now need this. Intellij helps analyze nulls if we can implement this. |
I'd rather go for Sonar in the first place. If you like, we could include it as |
I actually just noticed that guava depends on JSR305 already. And I just learned that annotations don't need to be present on the runtime classpath SO link So an optional one won't affect users. Either way I'm planning to limit the annotation to a few initial methods. I do like the idea of getting Sonar in place if it's an easy integration |
Go for it. Thanks for caring. |
lettuce is available on Nemo SonarQube http://nemo.sonarqube.org/dashboard/index/biz.paluch.redis:lettuce |
Added jsr305 lib directly in order to omit javadoc failures |
Closed for now, no progress and no demand |
Commands can be created with null outputs. I think this could be cleaned up to require non-null Outputs. I think we should also remove the setOutput() call on command as well. Output is used in the RedisStateMachine, and changing output midstream or having a missing one can lead to issues.
From an initial look, only 2 commands have no output. The debugOOM and debugSegfault. Both these kill the server, so there is no output to report. I wasn't able to find any other places where a null output is used.
If this seems OK, I'd like to go down this path.
Also, is this the best way to discuss code proposals like this?
The text was updated successfully, but these errors were encountered: