Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
[OSPP]Support Kubernetes ConfigMap for Apollo java, golang client #79
[OSPP]Support Kubernetes ConfigMap for Apollo java, golang client #79
Changes from 8 commits
82f7356
e14fd00
562b325
8705ba1
d8c51dd
435df9d
e2c7cd7
73581e9
c52337c
3a22a38
80f6c59
65ce65a
88b1d75
c3fc604
79ae56a
9252a93
82d61d7
2f5ddf6
f95ca86
7438b07
0c66c59
f7ff6d9
84d10fd
41672e6
03aa3ad
74a6b45
b8392ca
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add it to the last
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use lowercase package naming convention.
Java package names should be in lowercase to avoid conflicts with class names and to follow standard conventions. Please rename the package
com.ctrip.framework.apollo.Kubernetes
tocom.ctrip.framework.apollo.kubernetes
.Apply this change:
📝 Committable suggestion
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
package name should use lowercase
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shoothzj Thank you for acknowledging the package naming convention.
((\ /)/
(='.'=)
(_(")("))
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Validate input parameters consistently across methods.
The input validation logic is duplicated in multiple methods. Consider creating a private helper method to validate parameters to reduce code duplication and potential inconsistencies.
Create a helper method for parameter validation:
Then, update your methods:
Repeat this change for other methods where parameters are validated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Handle specific Kubernetes API exceptions.
Catching generic
Exception
makes it difficult to handle different error scenarios appropriately. Consider catching specific exceptions such asApiException
to provide more granular error handling.Update the catch block to handle
ApiException
:Additionally, you can handle different HTTP status codes within
ApiException
to provide more detailed error messages.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove unnecessary null check for
configMap
.The
readNamespacedConfigMap
method throws anApiException
if the ConfigMap is not found, soconfigMap
will not benull
. The null check is redundant.Remove the null check:
Handle
ApiException
properly as suggested in previous comments.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct the key used to retrieve data from ConfigMap.
In
loadFromConfigMap
, the method checks for the keyname
within the ConfigMap's data, which may not be correct. Typically, you should retrieve all data or specify a particular key.If you intend to return all data as a JSON string:
Ensure you handle JSON conversion and include necessary imports for
ObjectMapper
.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Include the missing key in the exception message.
In
getValueFromConfigMap
, when the specified key is not found, the exception message does not include the missing key. This information is valuable for debugging.Update the exception message to include the missing key:
📝 Committable suggestion
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Avoid suppressing exceptions and returning null.
In
getValueFromConfigMap
, returningnull
when an exception occurs can conceal underlying issues. It's better to handle the exception appropriately or propagate it.Consider rethrowing the exception or handling it based on the specific case:
This ensures that calling methods are aware that an error has occurred.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update method documentation to reflect correct return type
The Javadoc comment states that the method returns the config map name, but the method actually returns a boolean indicating success.
Update the
@return
tag to reflect the correct return type:📝 Committable suggestion
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Ensure consistent error handling.
Returning
null
on failure inupdateConfigMap
may lead toNullPointerException
in calling methods. Instead, consider throwing an exception or returning a boolean to indicate success.Modify the method signature and return type:
Update the return statements accordingly:
In the catch block:
This approach provides clearer feedback to the caller about the operation's success.