Skip to content
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

fix(clouddriver): Return a call stack for better error handling #5584

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

wattdave
Copy link
Contributor

@wattdave wattdave commented Nov 29, 2021

We are seeing large numbers of "NullPointerException" from this particular exception in our CloudDriver logs, and we would like to isolate where underneath the problem lies. The code as written prints only the exception name in the logs, with no stack trace.

@spinnakerbot
Copy link
Contributor

The following commits need their title changed:

  • c9c7ee7: Return a call stack for better error handling

Please format your commit title into the form:

<type>(<scope>): <subject>, e.g. fix(kubernetes): address NPE in status check

This allows us to easily generate changelogs & determine semantic version numbers when cutting releases. You can read more about commit conventions here.

@wattdave wattdave changed the title Return a call stack for better error handling fix(clouddriver): Return a call stack for better error handling Nov 29, 2021
@wattdave
Copy link
Contributor Author

wattdave commented Dec 2, 2021

The build errors here puzzle me. Can anyone provide some information on how my changes might have caused them?

@dbyron-sf
Copy link
Contributor

@Mergifyio update

@mergify
Copy link
Contributor

mergify bot commented Dec 2, 2021

update

✅ Branch has been successfully updated

@dbyron-sf
Copy link
Contributor

The build errors here puzzle me. Can anyone provide some information on how my changes might have caused them?

Pretty sure #5585 fixes that error, which is why I updated your branch to pick it up.

@@ -550,7 +550,9 @@ class ClusterCachingAgent implements CachingAgent, OnDemandAgent, AccountAware,
cacheTargetGroups(data, targetGroups)
cacheLaunchTemplate(data, launchTemplates)
} catch (Exception ex) {
log.warn("Failed to cache ${asg.autoScalingGroupName} in ${account.name}/${region}", ex)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm surprised this log statement doesn't print a stack trace already.

Copy link
Member

@mattgogerly mattgogerly Dec 2, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was going to comment the same but figured I must be missing something obvious.

Wonder if it's something like this? https://stackoverflow.com/a/9387598

Copy link
Contributor Author

@wattdave wattdave Dec 2, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's the log it provides, unfortunately: message: Failed to cache fuzzed-metric-name-Metrics fuzzed_asg in fuzzed-location/us-west-2 stack_trace: java.lang.NullPointerException: null (copied from our Splunk.)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For what it's worth, we find lots of other useful stack traces in other locations in the logs. Not sure why this one is special, but it very much is.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonder if the fact that this is groovy is causing grief here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Erm, well - I would have to deploy it onto our local Spinnaker servers to be able to answer that, and I don't have access to do that.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I presume we're on a later slf4j than 1.6.0? This link smells like what we're seeing: https://stackoverflow.com/questions/5951209/how-to-log-exception-and-message-with-placeholders-with-slf4j

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me put together a quick sample app to tinker with this...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI:
spinnaker/spinnaker#5473
i think is also relevant ;) I'm watching this & other thread ;) Was rather confused to why stack traces aren't working myself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants