Netflix/servo

System.getProperties() in DefaultMonitorRegistry.java

ravikancherla opened this issue · 3 comments

Hi,

I am trying to implement Eureka client to my application and I don't have access to get all the system properties (java.util.PropertyPermission, "*", "read,write").

When creating instance for DefaultMonitorRegistry, it is calling System.getProperties(). Can you please change it so that it can access properties individually ? That way, i can ask our server administrators to add the permission by each property but they won't be ready to give read and write to everything

I am not using Servo anyway. If there is a way to disable Servo, that works for me too

Caused by: java.security.AccessControlException: access denied ("java.util.PropertyPermission" "*" "read,write")
                at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
                at java.security.AccessController.checkPermission(AccessController.java:884)
                at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
                at java.lang.SecurityManager.checkPropertiesAccess(SecurityManager.java:1262)
                at java.lang.System.getProperties(System.java:630)
                at com.netflix.servo.DefaultMonitorRegistry.<init>(DefaultMonitorRegistry.java:65)
                at com.netflix.servo.DefaultMonitorRegistry.<clinit>(DefaultMonitorRegistry.java:49)
                ... 65 common frames omitted

Not sure when I'll have time to look at it, but if you want to submit a PR we're happy to consider it.

This change is in 0.12.21.