SumoLogic / sumologic-jenkins-plugin

Apache License 2.0
11 stars 19 forks source link

Decode url as secret #36

Closed tom-henderson closed 4 years ago

tom-henderson commented 4 years ago

We are seeing exceptions along the lines of:

WARNING c.s.j.j.sender.LogSender#sendLogs: Could not send log to Sumo Logic: java.lang.IllegalArgumentException: Invalid uri '{AQAAABAAAADA+JNeDFM2FHISqomuqExio9nSNv05k+bYqiua8RnXmcAHLqVPRglB2OaK+cfsAdRr9p/FTJyPvY5oVeSOMIkAHQ2ZCphE9x2Bb1RpDZDy1TBwUxuGdghES6pqvAHXARXIEYeOMZQZTifQALEwbrTQwoF2Bh0pqdc4d4vSUQJkbxLkNk1HZ7b4nceToDWFGrDvEFsSPwcIRdv9CdEU++hjPxm85J8VFTH4Cyd4QiZfj6rNTm7TD6aKselX5WF1yKib9WaCwIUk+5iByY/7kOfoEw==}': incorrect path

I suspect this may be caused by the url being stored as a secret, but not decoded when the config is reloaded from disk.

SumoSourabh commented 4 years ago

Thanks for submitting the change.

Can you please check the URL again? Have you tried the test button provided to check the URL? Jenkins has a mechanism where it decodes the URL when loading the config.

Also, to accept the change, can we modify the geturl method itself to return the plaintext instead of doing it in every file where we get the URL?

tom-henderson commented 4 years ago

When I was investigating this I looked in com.sumologic.jenkins.jenkinssumologicplugin.SumoBuildNotifier.xml and saw the url was encoded as a secret. I updated the value manually (and tested it with the test button) in the UI and it is now plaintext in that file. So at some point (service restart I assume) Jenkins must have persisted the url to disk in encoded form, which is when we suddenly see the spike in this exception.

SumoSourabh commented 4 years ago

Thanks for the change. Can be a possible reason for the sudden exception.

I am not sure if the issue is with all Jenkins Version.

We will push the changes in the next plugin version.

SumoSourabh commented 4 years ago

Please check the latest changes on master and confirm if expected changes are pushed. Changes are available in 2.1.0 release.